MCP Memory Server について
MCP Memory Serverは、コンテキスト情報を保存、検索、管理する開発中のオープンソースGoプロジェクトです。Upstash Vectorを使い、AIアシスタント向けのHTTP APIを提供します。
主な機能
- 01埋め込みを自動生成して記憶を保存
- 02記憶のセマンティック検索
- 03IDによる記憶の削除
活用シーン
- 01後で検索するコンテキスト情報の保存
- 02自然言語クエリによる関連記憶の検索
MCP 対応
MCP仕様を実装し、HTTP APIを通じてMCPクライアントに記憶の保存、検索、削除機能を公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP Memory Server
概要
MCP Memory Server は、Golang と Upstash のベクトルデータベースを使用したメモリの保存、取得、管理システムを提供する、現在開発中のオープンソースプロジェクトです。AI アシスタントがコンテキスト情報を保存および取得するための、シンプルな HTTP API を提供します。
このプロジェクトは MCP(Model Control Protocol)仕様を実装しており、AI モデルが標準化された方法で外部ツールとやり取りできるようにします。
機能
現在、このプロジェクトは開発中で、次の 3 つの主要な API メソッドが実装されています。
- メモリの保存 - 自動ベクトル埋め込みを使用して情報を保存します
- メモリの取得 - 自然言語のクエリを使用して関連情報をセマンティック検索します
- メモリの削除 - ID を指定して特定のメモリを削除します
技術スタック
- バックエンド:Go(Golang)
- ベクトルデータベース:現在、Upstash Vector をサポートしています
- トランスポート:HTTP API
はじめに
インストール
-
リポジトリをクローンします
git clone https://github.com/bqx619/mcp-memory-server.git cd mcp-memory-server -
依存関係をインストールします
go mod download -
次の変数を含む
.envファイルを作成します。VECTOR_PROVIDER=upstash VECTOR_URL=your-upstash-vector-url VECTOR_TOKEN=your-upstash-vector-token HTTP_PORT=8080
サーバーの起動
go run .
サーバーは設定されたポート(デフォルト:8080)で起動します。
API リファレンス
メモリの保存
ベクトルデータベースに新しい情報を保存します。
エンドポイント:POST /tools/store_memory リクエストボディ:
{
"content": "Memory content to store"
}
レスポンス:
{
"content": "Successfully stored memory with ID: abcd1234"
}
メモリの取得
クエリに基づいて関連情報を見つけるため、セマンティック検索を実行します。
エンドポイント:POST /tools/retrieve_memory リクエストボディ:
{
"query": "search term",
"n_results": 5
}
レスポンス:
{
"content": "Found the following memories:
Memory 1:
Content: The first relevant memory
Id: abcd1234
Relevance Score: 0.92
Memory 2:
Content: Another related memory
Id: efgh5678
Relevance Score: 0.85
..."
}
メモリの削除
ID を指定して特定のメモリを削除します。
エンドポイント:POST /tools/delete_memory リクエストボディ:
{
"memory_id": "abcd1234"
}
レスポンス:
{
"content": "Successfully deleted memory with ID: abcd1234"
}
開発ロードマップ
- 認証の追加
- メモリのタグ付けと分類の実装
- 対応するベクトルデータベースプロバイダーの拡充
- 検索機能の強化
- メモリの有効期限と TTL 機能の追加
- ...
コントリビューション
このプロジェクトは現在開発中のため、コントリビューションを歓迎します。お気軽にイシューやプルリクエストを送信してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。