mcpField
M
MCP Memory Server

MCP Memory Server

ローカル
github.com/sdimitrovメモリ・ナレッジ6484 週間前に更新

MCP Memory Server について

PostgreSQL と pgvector を基盤とする MCP メモリサーバーで、mem0 の考え方に基づき AI アシスタントに長期記憶の機能を提供します。ベクトル類似度検索、タグによる絞り込み、信頼度スコアを備え、セッションをまたいで知見を保存したい開発者に向いています。

主な機能

  1. 01PostgreSQL と pgvector によるベクトル類似度検索
  2. 02BERT による 384 次元の埋め込みベクトルの自動生成
  3. 03メモリの種類とタグによる検索
  4. 04各メモリへの信頼度スコアの付与
  5. 05メモリの作成・更新イベントを送る SSE

活用シーン

  1. 01Cursor のアシスタントでセッションをまたいだ学習内容を保存
  2. 02過去の経験を意味とタグで検索
  3. 03RESTful API を通じたメモリデータの管理

MCP 対応

本サーバーは Cursor の MCP プロトコルに対応しており、Cursor は ~/.cursor/mcp.json から起動できます。また、HTTP と SSE のエンドポイントで、メモリの作成、検索、一覧取得をクライアントに提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

MCP メモリーサーバー

このサーバーは、効率的なベクトル類似検索のために pgvector を使用する PostgreSQL を基盤とし、mem0 の原則を用いて AI アシスタント向けの長期記憶機能を実装しています。

機能

  • ベクトル類似検索のための pgvector を備えた PostgreSQL
  • BERT を使用した埋め込みの自動生成
  • メモリー操作のための RESTful API
  • セマンティック検索機能
  • さまざまな種類のメモリー(学習内容、経験など)に対応
  • タグに基づくメモリーの取得
  • メモリーの信頼度スコアリング
  • リアルタイム更新のための Server-Sent Events(SSE)
  • Cursor MCP プロトコルに対応

前提条件

  1. pgvector 拡張機能をインストールした PostgreSQL 14 以降:
# In your PostgreSQL instance:
CREATE EXTENSION vector;
  1. Node.js 16 以降

セットアップ

  1. 依存関係をインストールします:
npm install
  1. 環境変数を設定します: .env.sample を .env にコピーし、値を調整します:
cp .env.sample .env

.env の設定例:

# With username/password
DATABASE_URL="postgresql://username:password@localhost:5432/mcp_memory"
PORT=3333

# Local development with peer authentication
DATABASE_URL="postgresql:///mcp_memory"
PORT=3333
  1. データベースを初期化します:
npm run prisma:migrate
  1. サーバーを起動します:
npm start

自動リロードを有効にして開発する場合:

npm run dev

Cursor での使用

Cursor への MCP サーバーの追加

メモリーサーバーを Cursor に追加するには、~/.cursor/mcp.json にある MCP 設定ファイルを変更する必要があります。次の設定を mcpServers オブジェクトに追加します:

{
  "mcpServers": {
    "memory": {
      "command": "node",
      "args": [
        "/path/to/your/memory/src/server.js"
      ]
    }
  }
}

/path/to/your/memory を、メモリーサーバーをインストールした実際のパスに置き換えます。

たとえば、リポジトリを /Users/username/workspace/memory にクローンした場合、設定は次のようになります:

{
  "mcpServers": {
    "memory": {
      "command": "node",
      "args": [
        "/Users/username/workspace/memory/src/server.js"
      ]
    }
  }
}

必要に応じて、サーバーは Cursor によって自動的に起動されます。次の手順で動作を確認できます:

  1. Cursor を開きます
  2. Cursor の起動時にメモリーサーバーが自動的に起動します
  3. http://localhost:3333/mcp/v1/health にアクセスして、サーバーのステータスを確認できます
利用可能な MCP エンドポイント
SSE 接続
  • エンドポイント:GET /mcp/v1/sse
  • クエリパラメーター:
    • subscribe:購読するイベントをカンマ区切りで指定したリスト(任意)
  • イベント:
    • connected:初回接続時に送信されます
    • memory.created:新しいメモリーが作成されたときに送信されます
    • memory.updated:既存のメモリーが更新されたときに送信されます
メモリー操作
  1. メモリーの作成
POST /mcp/v1/memory
Content-Type: application/json

{
  "type": "learning",
  "content": {
    "topic": "Express.js",
    "details": "Express.js is a web application framework for Node.js"
  },
  "source": "documentation",
  "tags": ["nodejs", "web-framework"],
  "confidence": 0.95
}
  1. メモリーの検索
GET /mcp/v1/memory/search?query=web+frameworks&type=learning&tags=nodejs
  1. メモリーの一覧表示
GET /mcp/v1/memory?type=learning&tags=nodejs,web-framework
ヘルスチェック
GET /mcp/v1/health
レスポンス形式

すべての API レスポンスは、標準の MCP 形式に従います:

{
  "status": "success",
  "data": {
    // Response data
  }
}

エラーの場合:

{
  "status": "error",
  "error": "Error message"
}

メモリースキーマ

  • id:一意の識別子
  • type:メモリーの種類(学習内容、経験など)
  • content:実際のメモリー内容(JSON)
  • source:メモリーの取得元
  • embedding:内容のベクトル表現(384 次元)
  • tags:関連するタグの配列
  • confidence:信頼度スコア(0~1)
  • createdAt:メモリーの作成日時
  • updatedAt:メモリーの最終更新日時

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。