mcpField
M
Mem0 Mcp Server

Mem0 Mcp Server

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

Mem0 Mcp Server について

Mem0 Mcp Serverは、Mem0 v2を通じてAIエージェントに永続メモリーを提供するセルフホスト可能なMCPサーバーです。意味検索とユーザー・エージェント・セッション単位の分離に対応し、stdioとSSEで接続できます。

主な機能

  1. 01メモリーの保存・検索・取得・更新
  2. 02意味的類似度による検索
  3. 03ユーザー・エージェント・セッション単位の分離
  4. 04stdioとSSEのトランスポート
  5. 05設定ファイルと環境変数の検証

活用シーン

  1. 01会話をまたいだコンテキストの保持
  2. 02エージェント向けの関連メモリー検索
  3. 03ユーザー・エージェント・セッション別のメモリー管理

MCP 対応

メモリーの追加、検索、取得、更新、削除、一覧表示をMCPツールとして公開します。MCPクライアントはstdioまたはSSEで接続できます。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

mem0-mcp-server

AI エージェントが標準化された MCP プロトコルを通じてセマンティック検索を使用し、長期記憶を保存、取得、検索できるようにする Mem0 v2 API を公開する MCP サーバーです。

概要

Mem0-MCP Server は、AI エージェントと永続的なメモリーストレージをつなぐ、セルフホスト可能な MCP(Model Context Protocol)サーバーです。Mem0 の AsyncMemory API を使用し、会話やセッションをまたいでコンテキストをインテリジェントに保持できます。

主な機能:

  • MCP プロトコルの統合 - MCP ツールを通じて Mem0 の機能を公開します
  • セマンティックメモリー検索 - ベクトル検索による類似度ベースのメモリー取得
  • マルチテナント分離 - ユーザー/エージェント/セッションのスコープに応じたメモリーの分離
  • 柔軟なトランスポート - ローカルエージェントには stdio、リモート接続には SSE を使用します
  • 設定管理 - 環境変数に対応した Pydantic ベースの検証

ドキュメント

セクション説明
API リファレンスすべてのモジュールとツールの完全な API ドキュメント
パターンガイドデザインパターンのドキュメント(Singleton、Repository など)
使用例導入方法と応用的な使用方法のガイド
デプロイDocker Compose の設定とサービスの詳細
アーキテクチャシステムアーキテクチャとコンポーネント間の連携

クイックスタート

インストール
# Clone and install
git clone https://github.com/your-org/mem0-mcp-server.git
cd mem0-mcp-server
uv sync

# Set environment variables
export OPENAI_API_KEY="your-api-key"
設定

~/.config/mem0-mcp-server/settings.json を作成します。

{
  "vector_store": {
    "provider": "redis",
    "config": {
      "redis_url": "redis://localhost:6379"
    }
  },
  "llm": {
    "provider": "openai",
    "config": {
      "model": "gpt-4o"
    }
  },
  "embedder": {
    "provider": "openai",
    "config": {
      "model": "text-embedding-3-small"
    }
  }
}
サーバーの実行
# SSE Transport (remote connections)
uv run python -m mcp_server.main

# stdio Transport (local AI agents)
export MCP_TRANSPORT=stdio
uv run python -m mcp_server.main
OpenCode の設定

~/config/opencode/opencode.json に設定します。

OpenCode の設定

~/config/opencode/opencode.json に設定します。

	"mcp": {
		"mem0": {
			"type": "remote",
			"enabled": true,
			"url": "http://localhost:8050/sse"
		}
    }

MCP ツール

ツール説明
add_memoryセマンティックインデックスを付けて情報を長期記憶に保存します
search_memoriesセマンティック類似度を使用してメモリーを検索します
get_memoryID を指定して特定のメモリーを取得します
update_memory既存のメモリー内容を更新します
delete_memoryメモリーをストレージから削除します
list_memoriesフィルタリングとページネーションを使用してメモリーを一覧表示します

使用例

# Add memory
result = await client.call_tool("add_memory", {
    "messages": [{"role": "user", "content": "I prefer dark mode"}],
    "user_id": "alice"
})

# Search memories
result = await client.call_tool("search_memories", {
    "query": "theme preferences",
    "filters": {"user_id": "alice"},
    "limit": 5
})

アーキテクチャ

AI Agent → FastMCP Server → MemoryManager → Mem0 AsyncMemory → Redis
              │                                  │
              ├── SafeLogger (stdout/stderr)     │
              ├── Transport (stdio/SSE)          │
              └── Config (Pydantic validation)   │

コンポーネント:

  • COMP-1:ConfigLoader - 設定の読み込みと検証
  • COMP-2:FastMCP Server - MCP プロトコルサーバー
  • COMP-3:MemoryManager - マルチテナント分離に対応したメモリー操作
  • COMP-4:MCP Tools - ツール定義
  • COMP-5:SafeLogger - 出力ストリームの分離

設定

パラメーターの優先順位

設定値は次の順に解決されます。

  1. ツールパラメーター(直接指定)
  2. 環境変数(MCP_ プレフィックス付き)
  3. 設定ファイルの値
  4. ハードコードされたデフォルト値
環境変数
変数デフォルト説明
OPENAI_API_KEY(必須)LLM 用の OpenAI API キー
MCP_TRANSPORTsseトランスポートの種類(stdio、sse)
MCP_HOST0.0.0.0サーバーのバインドアドレス
MCP_PORT8080サーバーのバインドポート

デプロイ

Docker
# Using docker-compose
docker-compose up -d

# Using Makefile
make docker-up      # Start services with docker compose
make docker-down    # Stop services
make docker-logs    # Show logs

サービス:

サービス説明
mem0-mcpポート 8050 で Mem0 API を公開する MCP サーバー
ollama-qwen3-embeddingベクトル埋め込み用の qwen3-embedding:8b を搭載した Ollama(ポート 11434)
ollama-qwenチャット補完用の qwen2.5:7b を搭載した Ollama(ポート 11435)

詳しい設定については、デプロイ → Docker を参照してください。

Kubernetes
# Using Helm chart
helm install mem0-mcp ./charts/mem0-mcp-server

開発

コマンド説明
make installuv で依存関係をインストールします
make lintruff でコードをリントします
make lint-fixリントの問題を自動修正します
make typecheckpyright で型チェックを実行します
make testすべてのテストを実行します
make test-unitユニットテストのみを実行します
make test-coverageカバレッジレポート付きでテストを実行します
make buildDocker イメージをビルドします
make run開発サーバーを実行します

複数のコマンドを実行します:make install && make lint && make typecheck && make test

Docker 管理(docker-up、docker-down、docker-logs など)を含む、利用可能なすべてのコマンドについては、Makefile を参照してください。

プロジェクト構成

mem0-mcp/
├── src/mcp_server/
│   ├── __init__.py          # FastMCP singleton
│   ├── lifespan.py          # Resource lifecycle
│   ├── transport.py         # Transport selection
│   ├── memory/
│   │   ├── manager.py        # MemoryManager
│   │   └── lifespan.py       # AsyncMemory lifecycle
│   ├── config/
│   │   ├── settings.py       # Pydantic models
│   │   └── loader.py        # Config file loading
│   ├── tools/
│   │   ├── add_memory.py
│   │   ├── search_memories.py
│   │   └── ...
│   └── utils/
│       └── safe_logger.py   # Output separation
├── doc/
│   ├── api/                 # API reference
│   ├── patterns/            # Pattern guides
│   ├── examples/            # Usage examples
│   └── architecture/        # Architecture docs
├── tests/
├── Makefile
├── Dockerfile
└── docker-compose.yml

ライセンス

MIT ライセンス

コメント

MCP は初めてですか?

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

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