mem0 Memory System
@pinkpixel/mem0-mcp MCP サーバー ✨
Mem0.aiと統合し、LLMに永続メモリ機能を提供するモデルコンテキストプロトコル(MCP)サーバー。AIエージェントがセッションをまたいで情報を保存・取得できるようにします。
このサーバーは、コア機能としてmem0ai Node.js SDK を使用します。
機能🧠
ツール
add_memory: テキスト コンテンツを特定のuserIdに関連付けられたメモリとして保存します。入力:
content(文字列、必須)、userId(文字列、必須)、sessionId(文字列、オプション)、agentId(文字列、オプション)、metadata(オブジェクト、オプション)提供されたテキストを保存し、将来のやり取りで呼び出すことができるようにします。
search_memory: 特定のuserIdに対する自然言語クエリに基づいて、保存されたメモリを検索します。入力:
query(文字列、必須)、userId(文字列、必須)、sessionId(文字列、オプション)、agentId(文字列、オプション)、filters(オブジェクト、オプション)、threshold(数値、オプション)意味的類似性に基づいて関連するメモリを検索します。
delete_memory: ID によって特定のメモリをストレージから削除します。入力:
memoryId(文字列、必須)、userId(文字列、必須)、sessionId(文字列、オプション)、agentId(文字列、オプション)指定されたメモリを完全に削除します。
意味的類似性に基づいて関連するメモリを検索します。
Related MCP server: mindcore-memory-mcp
前提条件🔑
このサーバーは、次の 2 つのストレージ モードをサポートしています。
クラウド ストレージ モード☁️ (推奨)
Mem0 APIキーが必要です(
MEM0_API_KEY環境変数として提供されます)記憶はMem0のクラウドサーバーに永続的に保存されます
ローカルデータベースは不要
ローカルストレージモード💾
OpenAI API キーが必要です (
OPENAI_API_KEY環境変数として提供されます)メモリはメモリ内のベクトルデータベースに保存されます(デフォルトでは非永続的)
永続ストレージが設定されていない限り、サーバーを再起動するとデータが失われます
インストールと設定 ⚙️
このサーバーは主に 2 つの方法で実行できます。
1. npxを使用する(手軽に使う場合におすすめ)
npm を使用してパッケージをグローバルにインストールします。
npm install -g @pinkpixel/mem0-mcpnpxを使用してサーバーを実行するように MCP クライアント (Claude Desktop、Cursor、Cline、Roo Code など) を構成します。
クラウド ストレージ構成 (推奨)
{
"mcpServers": {
"mem0-mcp": {
"command": "npx",
"args": [
"-y",
"@pinkpixel/mem0-mcp"
],
"env": {
"MEM0_API_KEY": "YOUR_MEM0_API_KEY_HERE",
"DEFAULT_USER_ID": "user123"
},
"disabled": false,
"alwaysAllow": [
"add_memory",
"search_memory"
]
}
}
}注: "YOUR_MEM0_API_KEY_HERE"実際の Mem0 API キーに置き換えます。
ローカルストレージ構成(代替)
{
"mcpServers": {
"mem0-mcp": {
"command": "npx",
"args": [
"-y",
"@pinkpixel/mem0-mcp"
],
"env": {
"OPENAI_API_KEY": "YOUR_OPENAI_API_KEY_HERE",
"DEFAULT_USER_ID": "user123"
},
"disabled": false,
"alwaysAllow": [
"add_memory",
"search_memory"
]
}
}
}注: "YOUR_OPENAI_API_KEY_HERE"実際の OpenAI API キーに置き換えます。
2. クローンリポジトリから実行
注意: この方法では、最初にリポジトリを git clone する必要があります。
リポジトリをクローンし、依存関係をインストールして、サーバーを構築します。
git clone https://github.com/pinkpixel-dev/mem0-mcp
cd mem0-mcp
npm install
npm run build次に、 nodeを使用してビルドされたスクリプトを直接実行するように MCP クライアントを構成します。
{
"mcpServers": {
"mem0-mcp": {
"command": "node",
"args": [
"/absolute/path/to/mem0-mcp/build/index.js"
],
"env": {
"MEM0_API_KEY": "YOUR_MEM0_API_KEY_HERE",
"DEFAULT_USER_ID": "user123"
// OR use "OPENAI_API_KEY": "YOUR_OPENAI_API_KEY_HERE" for local storage
},
"disabled": false,
"alwaysAllow": [
"add_memory",
"search_memory"
]
}
}
}重要な注意事項:
/absolute/path/to/mem0-mcp/をクローンしたリポジトリへの実際の絶対パスに置き換えます。src/index.tsファイルではなく、build/index.jsファイルを使用してください。MCP サーバーはプロトコル通信のためにクリーンな stdout を必要とします。stdout に書き込むライブラリやコードはプロトコルに干渉する可能性があります。
デフォルトのユーザー ID (オプションのフォールバック)
add_memoryとsearch_memoryツールの両方で、メモリを特定のユーザーに関連付けるにはuserId引数が必要です。
テスト中やシングルユーザーシナリオでの利便性のため、サーバー起動時にDEFAULT_USER_ID環境変数を設定することができます。この変数が設定されており、 search_memoryツールの呼び出し時にuserId引数が省略されている場合、サーバーは検索にDEFAULT_USER_IDの値を使用します。
**注:**このフォールバックが存在する場合、あいまいさを避けるために、呼び出しエージェント (LLM) がメモリの追加と検索の両方に対して正しいuserId明示的に提供することが一般的に推奨されます。
DEFAULT_USER_IDを使用した構成例:
{
"mcpServers": {
"mem0-mcp": {
"command": "npx",
"args": [
"-y",
"@pinkpixel/mem0-mcp"
],
"env": {
"MEM0_API_KEY": "YOUR_MEM0_API_KEY_HERE",
"DEFAULT_USER_ID": "user123"
},
}
}
}または、 nodeで直接実行する場合:
git clone https://github.com/pinkpixel-dev/mem0-mcp
cd mem0-mcp
npm install
npm run build{
"mcpServers": {
"mem0-mcp": {
"command": "node",
"args": [
"path/to/mem0-mcp/build/index.js"
],
"env": {
"OPENAI_API_KEY": "YOUR_OPENAI_API_KEY_HERE",
"DEFAULT_USER_ID": "user123"
},
}
}
}クラウド vs. ローカルストレージ 🔄
クラウドストレージ(Mem0 API)
デフォルトで永続的- セッションやサーバーの再起動後も記憶は利用可能
ローカルデータベースは不要- すべてのデータはMem0のサーバーに保存されます
より高い検索品質- Mem0の最適化された検索アルゴリズムを使用
追加フィールド-
agent_idとthresholdパラメータをサポート必要なもの- Mem0 APIキー
ローカルストレージ(OpenAI API)
デフォルトでメモリ内- データはRAMにのみ保存され、長期保存されません。キャッシュが行われる場合もありますが、永続的な保存には利用しないでください。
データ損失のリスク- サーバーの再起動、システムの再起動、またはプロセスが終了した場合、メモリデータが失われます。
推奨用途- 開発、テスト、または一時的な使用のみ
永続的なストレージの場合- 信頼性の高い長期メモリが必要な場合は、Mem0 API でクラウド ストレージ オプションを使用します。
OpenAI埋め込みを使用- ベクトル検索機能用
自己完結型- すべてのデータはマシン上に残ります
必要なもの- OpenAI APIキー
開発💻
リポジトリをクローンし、依存関係をインストールします。
git clone https://github.com/pinkpixel-dev/mem0-mcp
cd mem0-mcp
npm installサーバーを構築します。
npm run buildファイルの変更時に自動再構築する開発の場合:
npm run watchデバッグ🐞
MCPサーバーはstdio経由で通信するため、デバッグが困難になる場合があります。以下にいくつかのアプローチを示します。
MCP インスペクターを使用する: このツールは、MCP プロトコル通信を監視できます。
npm run inspectorコンソールログ: コンソールログを追加するときは、MCPプロトコルに干渉しないように、常に
console.error()``console.log()を使用してください。環境ファイル: ローカル開発では
.envファイルを使用して、API キーやその他の構成オプションの設定を簡素化します。
技術実装ノート 🔧
高度なMem0 APIパラメータ
Mem0 APIでCloud Storageモードを使用する場合、追加のパラメータを利用してより高度なメモリ管理を行うことができます。ツールスキーマでは明示的に公開されていませんが、メモリを追加する際にはmetadataオブジェクトに含めることができます。
add_memoryの高度なパラメータ:
パラメータ | タイプ | 説明 |
| 物体 | メモリに関する追加のコンテキスト(例:場所、時間、識別子)を保存します。これは、検索時のフィルタリングに使用できます。 |
| 弦 | メモリに含める特定の設定。 |
| 弦 | メモリから除外する特定の設定。 |
| ブール値 | メモリを推測するか、メッセージを直接保存するか (デフォルト: true)。 |
| 弦 | フォーマットのバージョン。v1.0 (デフォルト、非推奨) または v1.1 (推奨) のいずれか。 |
| 物体 | 名前と説明が付いたカテゴリのリスト。 |
| 弦 | メモリの処理と整理に関するプロジェクト固有のガイドライン。 |
| ブール値 | メモリが不変かどうか (デフォルト: false)。 |
| 弦 | メモリの有効期限 (形式: YYYY-MM-DD)。 |
| 弦 | このメモリに関連付けられた組織 ID。 |
| 弦 | このメモリに関連付けられたプロジェクト ID。 |
| 弦 | メモリ バージョン (v1 は非推奨、新しいアプリケーションには v2 が推奨されます)。 |
MCPサーバーでこれらのパラメータを使用するには、 add_memoryツールを呼び出す際にメタデータオブジェクトにパラメータを含めます。例:
{
"content": "Important information to remember",
"userId": "user123",
"sessionId": "project-abc",
"metadata": {
"includes": "important context",
"excludes": "sensitive data",
"immutable": true,
"expiration_date": "2025-12-31",
"custom_instructions": "Prioritize this memory for financial questions",
"version": "v2"
}
}search_memoryの高度なパラメータ:
Mem0 v2 検索 API は、 filtersパラメータを通じて利用できる強力なフィルタリング機能を提供します。
パラメータ | タイプ | 説明 |
| 物体 | 論理演算子と比較条件を使用した複雑なフィルター |
| 整数 | 返される上位結果の数(デフォルト: 10) |
| 弦[] | 応答に含める特定のフィールド |
| ブール値 | メモリを再ランク付けするかどうか(デフォルト:false) |
| ブール値 | キーワードに基づいて検索するかどうか(デフォルト:false) |
| ブール値 | 思い出をフィルタリングするかどうか(デフォルト:false) |
| 番号 | 結果の最小類似度しきい値(デフォルト: 0.3) |
| 弦 | 記憶をフィルタリングするための組織ID |
| 弦 | 記憶をフィルタリングするためのプロジェクトID |
filtersパラメータは、複雑な論理演算 (AND、OR) とさまざまな比較演算子をサポートします。
オペレーター | 説明 |
| 指定された値のいずれかに一致する |
| より大きいか等しい |
| 以下 |
| より大きい |
| 未満 |
| 等しくない |
| 大文字と小文字を区別しない包含チェック |
search_memoryツールで複雑なフィルターを使用する例:
{
"query": "What are Alice's hobbies?",
"userId": "user123",
"filters": {
"AND": [
{
"user_id": "alice"
},
{
"agent_id": {"in": ["travel-agent", "sports-agent"]}
}
]
},
"threshold": 0.5,
"top_k": 5
}これは、user_id が「alice」であり、agent_id が「travel-agent」または「sports-agent」のいずれかである Alice の趣味に関連する思い出を検索し、類似度スコアが少なくとも 0.5 である結果が最大 5 件返されます。
これらのパラメータの詳細については、 Mem0 API ドキュメントを参照してください。
セーフロガー
MCP サーバーは、MCP プロトコルを中断することなく、mem0ai ライブラリからの console.log 呼び出しを stderr に選択的にリダイレクトするSafeLoggerクラスを実装します。
console.log の呼び出しを傍受し、スタックトレースを調べてソースを特定します。
mem0ai ライブラリまたは独自のコードからのログ呼び出しのみをリダイレクトします
MCPプロトコル通信用のクリーンな標準出力を保持します
プロセス終了時にリソースを自動的にクリーンアップします
これにより、有用なデバッグ情報を維持しながら、MCP クライアント内で適切に機能できるようになります。
環境変数
サーバーは、その動作を制御するいくつかの環境変数を認識します。
MEM0_API_KEY: クラウドストレージモードのAPIキーOPENAI_API_KEY: ローカルストレージモード(埋め込み)のAPIキーDEFAULT_USER_ID: メモリ操作のデフォルトのユーザーID
Pink Pixel が ❤️ を込めて作りました
Maintenance
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceAn MCP-native, local-first memory server that gives AI agents persistent, structured memory across sessions and tools, enabling them to maintain identity and context without reconfiguration.3MIT
- AlicenseAqualityAmaintenanceA production-grade long-term memory MCP server that enables AI agents to persist and recall memories across sessions with importance weighting, confidence calibration, and efficient context window management.91MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that provides persistent memory capabilities for AI agents using Mem0, enabling storage, search, and management of contextual information across conversations with support for multiple backends and LLM providers.MIT
- AlicenseNot gradedqualityDmaintenanceA portable MCP server providing a shared intelligent memory system for any MCP-compatible AI tool, enabling storage, retrieval, extraction, and governance of memories across sessions.46MIT
Related MCP Connectors
An MCP memory server. One memory your agents share — across models, devices and apps.
One memory, every AI: Claude, ChatGPT, Perplexity, Gemini, Cursor, OpenClaw, Hermes, any MCP client.
Shared, governed long-term memory for AI agents across tools and sessions via MCP and REST.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/pinkpixel-dev/mem0-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server