MCP.so
ログイン

Memory MCP Server (Knowledge Graph)

@modelcontextprotocol

基本情報

カテゴリ

メモリとナレッジ

ライセンス

NOASSERTION

トランスポート

stdio

作者

modelcontextprotocol

Memory MCP Server について

Model Context Protocol サーバー

接続前の確認

文書確認日:2026-10-25

適した用途

エンティティ、観察、関係を知識グラフに保存するリファレンス実装です。Markdown ノートや文書検索より、明示的な事実と関係の保存に向いています。

設定と制限

MEMORY_FILE_PATH を永続保存先に設定してください。クライアント間で共有するなら同じファイルを指定します。テスト用エンティティを作成し、別セッションで取得後に削除しましょう。マネージドなクラウドサービスではありません。

リンク先の文書を確認した内容です。認証済みの実接続テストを意味しません。確認手順はご自身の環境で実行してください。

Memory MCP Server の設定

以下の設定を使って、このサーバーを MCP 対応クライアントに追加してください。

{
  "mcpServers": {
    "memory": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "-v",
        "claude-memory:/app/dist",
        "--rm",
        "mcp/memory"
      ]
    }
  }
}

Memory MCP Server のツール

9

Create multiple new entities in the knowledge graph

Create multiple new relations between entities

Add new observations to existing entities

Remove entities and their relations

Remove specific observations from entities

Remove specific relations from the graph

Read the entire knowledge graph

Search for nodes based on query

Retrieve specific nodes by name

概要

Memory MCP Server (Knowledge Graph) とは?

Memory MCP Server (Knowledge Graph) は、Model Context Protocol プロジェクトが提供するリファレンス版の MCP memory サーバーです。エンティティ、リレーション、オブザベーションをローカルのナレッジグラフファイルに保存し、Claude などのクライアントに永続的な記憶を与えることで、情報をチャットをまたいで引き継げます。

npm では @modelcontextprotocol/server-memory、Docker では mcp/memory として公開されており、公式の modelcontextprotocol/servers リポジトリ(MIT License)で管理されています。stdio 経由でローカルに動作し、API キーも外部データベースも不要です。

Memory MCP Server (Knowledge Graph) の使い方

前提条件:Node.js(npx 用)または Docker。アカウントや API キーは不要です。

設定項目は任意の環境変数 MEMORY_FILE_PATH のみで、グラフを保存する JSONL ファイルのパスを指定します。未設定の場合、サーバーは自身のサーバーディレクトリに memory.jsonl を書き込みます。

Claude Desktop

claude_desktop_config.json に次を追加します:

{
  "mcpServers": {
    "memory": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-memory"],
      "env": {
        "MEMORY_FILE_PATH": "/path/to/custom/memory.jsonl"
      }
    }
  }
}

代わりに Docker を使い、グラフを名前付きボリュームに保存する場合:

{
  "mcpServers": {
    "memory": {
      "command": "docker",
      "args": ["run", "-i", "-v", "claude-memory:/app/dist", "--rm", "mcp/memory"]
    }
  }
}

Windows では cmd 経由で npx を起動します。"command": "cmd" と "args": ["/c", "npx", "-y", "@modelcontextprotocol/server-memory"] を設定してください。

Claude Code

同じ npx コマンドを Claude Code CLI で登録します:

claude mcp add memory -e MEMORY_FILE_PATH=/path/to/custom/memory.jsonl -- npx -y @modelcontextprotocol/server-memory

Cursor

Cursor は Claude Desktop と同じ mcpServers JSON を読み込みます。~/.cursor/mcp.json(グローバル)または .cursor/mcp.json(プロジェクト単位)に記述してください。

VS Code

README には VS Code と VS Code Insiders 向けのワンクリックインストールボタンがあります。手動で追加する場合は、コマンドパレットから MCP: Open User Configuration を実行するか、ワークスペースに .vscode/mcp.json を作成します。VS Code では servers キーを使う点に注意してください:

{
  "servers": {
    "memory": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-memory"]
    }
  }
}

いつ記憶するかをモデルに伝える

サーバーは、モデルが書き込むと判断した内容だけを保存します。README にはチャットのパーソナライズ用のシステムプロンプト例があり、各チャットの冒頭で「memory」を取得し、アイデンティティ、行動、好み、目標、人間関係に注意を払い、それらをエンティティ、リレーション、オブザベーションとして保存するようモデルに指示しています。同様のプロンプトをプロジェクトの指示やカスタム指示に入れてください。記憶を作成する頻度と種類はこのプロンプトで決まります。

Memory MCP Server (Knowledge Graph) の主な機能

  • ローカルのナレッジグラフ:データは手元のマシン上の普通の JSONL ファイルに保存されます。クラウドサービスもデータベースもありません。
  • 3 要素のデータモデル:エンティティ(名前、タイプ、オブザベーション)、能動態で保存される有向リレーション(例:works_at)、1 件につき 1 つの事実を表すアトミックなオブザベーション。
  • 完全な CRUD ツールセット:9 つのツールでエンティティ、リレーション、オブザベーションの作成・読み取り・検索・削除ができます。
  • 読み取り可能な MCP リソース:グラフ全体が memory://knowledge-graph(application/json)として公開されます。書き込みツールは notifications/resources/updated を送信するため、購読中のクライアントは変更をリアルタイムで確認できます。
  • 保存先パスの設定:MEMORY_FILE_PATH を設定すれば、グラフを好きな場所に置けます。
  • クライアント間での安全な共有:書き込みのたびに排他的な <memory file>.lock を取得するため、複数のクライアントプロセスが 1 つのファイルを共有しても書き込みが失われません。古いロックは自動的に削除されます。

Memory MCP Server (Knowledge Graph) のツール

ツールは 3 つのグループに分かれます:

  • 書き込み:create_entities は新しいノードを追加し、既存の名前はスキップします。create_relations は既存の 2 つのエンティティを結び、重複はスキップします。add_observations は既存のエンティティに事実を追記します。
  • 削除:delete_entities はエンティティとそのリレーションをカスケード削除します。delete_observations と delete_relations は特定の項目を削除します。3 つとも対象が存在しなくてもエラーにはならず、見つかった項目や削除した件数を報告します。
  • 読み取り:read_graph はグラフ全体を返します。search_nodes はエンティティ名、タイプ、オブザベーションの本文からクエリに一致するものを探します。open_nodes は名前を指定してエンティティと、それらの間のリレーションを取得します。

Memory MCP Server (Knowledge Graph) のユースケース

  • チャットのパーソナライズ:ユーザーの名前、役職、所在地、コミュニケーションスタイルをセッションをまたいで保持します。「私は短い回答が好きで、ベルリンで働いていることを覚えておいて。」
  • 好みと習慣:繰り返し現れる興味や仕事の習慣を記録し、毎回説明しなくて済むようにします。「私が毎朝プルリクエストをレビューしていることをメモして。」
  • 目標の追跡:個人やチームの目標を保存し、後で確認します。「今四半期、私が話した目標は何だっけ?」
  • 人間関係のコンテキスト:人や組織をエンティティとリレーションとして表現します。「John_Smith works_at Anthropic で、Jane に報告している。」
  • コーディングエージェントのプロジェクト知識:Claude Code や Cursor で、決定事項や規約をオブザベーションとして保存します。「このリポジトリは pnpm と Drizzle ORM を使っていることを覚えておいて。」

Memory MCP Server (Knowledge Graph) と代替ツールの比較

MCP memory の選択肢として、このサーバーは意図的にシンプルです。JSONL のグラフ、名前・タイプ・オブザベーションに対するテキスト検索のみで、埋め込みは使いません。そのため中身の確認やバックアップが簡単です。関連サーバーとしては、Filesystem MCP Server はモデルに通常のファイルの読み書きをさせ、Obsidian MCP Server は Obsidian の Vault を長期的なノートとして使います。記憶をグラフではなく人が読めるドキュメントとして残したい場合はこれらを選んでください。memory MCP server のコミュニティフォークには、プロジェクトごとのファイルやタイムスタンプなどの機能を追加したものもあります。

Memory MCP Server (Knowledge Graph) のトラブルシューティング

  • Windows で npx が起動しない:README のとおり、cmd /c npx -y @modelcontextprotocol/server-memory で起動してください。
  • 記憶が消えた、または見つからない:デフォルトのファイルはサーバーディレクトリ内の memory.jsonl です。MEMORY_FILE_PATH を明確な絶対パスに設定し、すべてのクライアントが同じファイルを使うようにしてください。
  • モデルが何も保存しない:サーバーは受動的に動作します。いつ記憶を取得・更新するかをモデルに伝えるシステムプロンプトやカスタム指示を追加してください。
  • 書き込みツールがロックエラーでタイムアウトする:60 秒以内にロックを取得できない書き込みは、ファイルを上書きせずに失敗します。記憶ファイルはネットワークファイルシステムではなく、ローカルディスク上の書き込み可能なフォルダに置いてください。
  • Docker イメージのアップグレード:古い mcp/memory ボリュームには、新しいコンテナで上書きされる可能性のある index.js ファイルが含まれています。新しいコンテナを起動する前に、古いボリュームからそのファイルを削除してください。

よくある質問

1

Memory MCP サーバーは公式ですか?

はい。公式の `modelcontextprotocol/servers` リポジトリにあるリファレンスサーバーの 1 つで、npm では `@modelcontextprotocol/server-memory`、Docker では `mcp/memory` として公開されています。

2

無料ですか?API キーは必要ですか?

MIT License の無料オープンソースです。すべてローカルで動作するため、API キーもアカウントも不要です。

3

この MCP memory サーバーはデータをどこに保存しますか?

JSONL ファイルに保存します。デフォルトはサーバーディレクトリ内の `memory.jsonl` で、`MEMORY_FILE_PATH` で任意のパスを指定できます。Docker の設定では `claude-memory` ボリュームに保存されます。

4

Claude Code、Cursor、VS Code で使えますか?

はい。標準的な stdio MCP サーバーなので、どの MCP クライアントからも npx または Docker のコマンドで起動できます。VS Code では `mcpServers` ではなく `servers` キーを使います。

5

リモートサーバーですか、ローカルサーバーですか?

ローカルです。MCP クライアントが stdio 経由で起動するプロセスとして動作し、このサーバーを通じてデータがマシンの外に出ることはありません。

6

2 つのクライアントで同じ knowledge graph memory MCP ファイルを共有できますか?

はい。両方を同じ `MEMORY_FILE_PATH` に向けてください。書き込みのたびに排他的なロックファイルを取得するため、異なるプロセスからの書き込みは順番に処理されます。これはローカルファイルシステムを前提としています。

7

埋め込みやベクトル検索を使いますか?

いいえ。`search_nodes` はエンティティ名、エンティティタイプ、オブザベーションの内容とクエリを照合するだけで、セマンティック検索は行いません。

8

セキュリティ上の注意点は?

モデルはグラフ内のあらゆる項目を作成・削除でき、データはプレーンテキストで保存されます。シークレットを記録させないようにし、JSONL ファイルは他の個人データと同様に保護・バックアップしてください。

コメント

「メモリとナレッジ」の他のコンテンツ