memory-mcp
memory-mcp
AIエージェント向けの永続的、検索可能、バージョン管理されたメモリ。 Valkey (Redis互換) をバックエンドとし、HTTP経由で MCP サーバーとして公開されます。
Claude Code、Cursor、VS Codeなど、MCP互換のあらゆるエージェントで動作します。
機能
タグ、タイプ、プロジェクトスコープを指定したメモリエントリーの保存
タグの積集合検索、タイプ/プロジェクトによるフィルタリング、部分文字列検索
ヒット数追跡(アクセス頻度の高いエントリーが上位に表示されます)
ロールバック機能付きの完全なバージョン履歴
Prometheusメトリクスエンドポイント
オプションのBearerトークン認証
クイックスタート
cp .env.example .env
# Optional: set MEMORY_MCP_AUTH_TOKEN in .env (see Auth section)
docker compose up -dこれにより、GHCRからビルド済みのイメージがプルされます。MCPサーバーは http://127.0.0.1:3106/mcp で利用可能になります。
ローカルでビルドする場合:
docker compose build
docker compose up -d既存のRedisまたはValkeyを使用する
デフォルトでは docker compose up -d でバンドルされたValkeyコンテナが起動します。既存のRedisまたはValkeyインスタンスに接続するには、VALKEY_URL を設定し、memory-mcp サービスのみを起動してください:
# .env
VALKEY_URL=redis://your-host:6379
docker compose up -d memory-mcpRedis互換のサーバー(Redis 6以上、Valkey、KeyDB、Upstashの rediss:// など)であれば何でも動作します。サーバーはハッシュ、リスト、セットといった基本的なデータ構造のみを使用します。
エージェントの設定
このリポジトリの AGENTS.md をプロジェクトルートにコピーしてください。これには、エージェントがメモリツールをどのように使用し、何を保存し、いつ使用すべきかが記載されています。
次に、エージェントクライアントにMCPサーバーを登録します:
Claude Code
# Without auth
claude mcp add memory --transport http http://127.0.0.1:3106/mcp
# With auth
claude mcp add memory --transport http http://127.0.0.1:3106/mcp \
--header "Authorization: Bearer your-token"または ~/.claude.json に手動で追加します:
{
"mcpServers": {
"memory": {
"type": "http",
"url": "http://127.0.0.1:3106/mcp",
"headers": { "Authorization": "Bearer your-token" }
}
}
}Cursor
~/.cursor/mcp.json (グローバル) または .cursor/mcp.json (プロジェクト) に追加します:
{
"mcpServers": {
"memory": {
"url": "http://127.0.0.1:3106/mcp",
"headers": { "Authorization": "Bearer your-token" }
}
}
}VS Code (GitHub Copilot, MCP拡張機能)
プロジェクト内の .vscode/mcp.json に追加します:
{
"servers": {
"memory": {
"type": "http",
"url": "http://127.0.0.1:3106/mcp",
"headers": { "Authorization": "Bearer your-token" }
}
}
}認証を使用していない場合は、設定内の headers / Authorization 行を省略してください。
設定
.env.example を .env にコピーし、必要に応じて編集してください。
変数 | デフォルト | 説明 |
|
| バインドするインターフェース。 |
|
| ホスト側で公開するポート |
| (空) |
|
|
| ソフトキャップ — 超過時に書き込み時に警告 |
|
| エントリーごとの最大バージョンスナップショット数 |
|
| コンテナのメモリ制限 |
|
| 使用するValkeyイメージ |
認証
デフォルトでは、サーバーは認証なしで実行されます。ループバック (127.0.0.1) にバインドされ、ローカルマシンからのみアクセスされる場合は安全です。
認証を有効にするには:
# Generate a token
openssl rand -hex 32
# Add to .env
MEMORY_MCP_AUTH_TOKEN=your-generated-token
docker compose up -dその後、POST /mcp へのすべてのリクエストには以下を含める必要があります:
Authorization: Bearer <token>GET /health および GET /metrics は常に認証不要です。
利用可能なツール
ツール | 説明 |
| タグ(積集合)、タイプ、プロジェクト、またはテキストの部分文字列で検索 |
| IDでエントリーを1つ取得(ヒットカウンターをインクリメント) |
| エントリーの作成または更新(書き込みごとにバージョン管理) |
| タイプ/プロジェクトフィルターを指定してエントリーを一覧表示 |
| エントリーを削除(最初に削除済みフラグのバージョンが書き込まれます) |
| エントリーのバージョン履歴を表示 |
| エントリーを以前のバージョンに復元 |
| ヒット数ゼロの古いエントリーをレビュー用に抽出(読み取り専用) |
メモリタイプ
pattern, decision, reference, feedback, incident, project, entity, state
エンドポイント
メソッド | パス | 認証 | 説明 |
|
| 設定時のみ | MCP JSON-RPCエンドポイント |
|
| なし | ヘルスチェック |
|
| なし | Prometheusメトリクス |
データモデル
各エントリーは mem:<id> というRedisハッシュとして保存されます:
フィールド | 説明 |
| 短い説明タイトル |
| コンテンツ全文 |
| エントリータイプ |
| カンマ区切りのタグリスト |
| 作成者 |
| プロジェクトスコープ(空の場合はプロジェクト横断) |
| 作成日(ISO形式) |
| 最終更新日(ISO形式) |
|
|
| 有効期限(秒、オプション) |
バージョン履歴は memver:<id> というRedisリストに保存されます(最新順、MAX_VERSIONS_PER_ENTRY で制限)。
タグ、タイプ、プロジェクトのインデックスはRedisセット (tag:<name>, type:<name>, project:<name>) です。
ライセンス
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
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/joshdougall/memory-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server