mcpField
A
a-mem-mcp

a-mem-mcp

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

a-mem-mcp について

A-MEM はコーディングエージェント向けの自己進化型メモリシステムで、知識を Zettelkasten 形式のグラフに整理し、関連を動的に更新します。現在は Claude Code で検証されており、他の MCP 対応エージェントへの対応は計画中です。

主な機能

  1. 01キーワード、コンテキスト、タグの自動生成
  2. 02ベクター類似度による関連メモリの検出
  3. 03セマンティック検索とグラフ探索の併用
  4. 04軽量な一覧取得後に全文を読む二段階検索
  5. 05期間を指定したメモリ検索

活用シーン

  1. 01複数のセッションにまたがるプロジェクト知識の保持
  2. 02認証フローなどコードの仕組みに関するメモの検索
  3. 03複数プロジェクト間でのメモリ共有

MCP 対応

コーディングエージェントに対して add_memory_note、search_memories、read_memory_note などの 8 つのツールを公開する MCP サーバーで、メモリの保存と検索を行います。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"diaaaj-a-mem": {
"command": "uvx",
"args": [
"a-mem"
],
"env": {
"LLM_BACKEND": "<LLM_BACKEND>",
"LLM_MODEL": "<LLM_MODEL>",
"OPENAI_API_KEY": "<OPENAI_API_KEY>",
"EMBEDDING_MODEL": "<EMBEDDING_MODEL>",
"CHROMA_DB_PATH": "<CHROMA_DB_PATH>"
}
}
}
}
起動コマンドuvx a-mem
設定が必要な環境変数
LLM_BACKENDLLM backend to use (openai, ollama, sglang, or openrouter)
LLM_MODELLLM model name (e.g., gpt-4o-mini, llama2, etc.)
OPENAI_API_KEYシークレットOpenAI API key (required if LLM_BACKEND=openai)
EMBEDDING_MODELSentence transformer model for embeddings
CHROMA_DB_PATHChromaDB storage directory path

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypia-mem0.2.1

ツール

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

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

詳細

A-MEM:コーディングエージェントのための自己進化型メモリ

PyPI のバージョン PyPI のダウンロード数 MCP レジストリ

mcp-name: io.github.DiaaAj/a-mem-mcp

A-MEM は、コーディングエージェント向けの自己進化型メモリシステムです。シンプルなベクトルストアとは異なり、A-MEM は知識をツェッテルカステン形式のグラフに自動で整理し、動的なつながりを構築します。メモリは単に保存されるだけではなく、時間とともに進化し、つながっていきます。

現在、Claude Code でテスト済みです。ほかの MCP 互換エージェントへの対応も予定しています。

README の画像

クイックスタート

インストール
pip install a-mem
Claude Code に追加
claude mcp add a-mem -s user -- a-mem-mcp \
  -e LLM_BACKEND=openai \
  -e LLM_MODEL=gpt-4o-mini \
  -e OPENAI_API_KEY=sk-...

これで完了です!セッション開始フックが自動的にインストールされ、Claude にメモリを使うよう促します。

注: メモリはプロジェクトごとに ./chroma_db に保存されます。すべてのプロジェクトで共有するグローバルメモリについては、メモリのスコープを参照してください。

アンインストール
a-mem-uninstall-hook   # Remove hooks first
pip uninstall a-mem

仕組み

t=0              t=1                t=2

                 ◉───◉             ◉───◉
 ◉               │                 ╱ │ ╲
                 ◉                ◉──┼──◉
                                     │
                                     ◉

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━▶
            self-evolving memory
  1. メモリを追加 → A-MEM が LLM を使ってキーワード、コンテキスト、タグを抽出します
  2. 近傍を検索 → 意味的に類似した既存のメモリを検索します
  3. 進化 → 関連するメモリをリンクする、つながりを強化する、または更新するかを判断します
  4. 保存 → メタデータと関連情報をすべて含めて ChromaDB に保存します

その結果、単に大きくなるだけでなく、時間とともに賢くなるナレッジグラフが構築されます。

特長

自己進化型メモリ メモリは静的なものではありません。新しい知識を追加すると、A-MEM は関連するメモリを自動で見つけ、つながりを強化し、コンテキストを更新して、タグを進化させます。

意味検索と構造検索 ベクトル類似度とグラフ探索を組み合わせます。意味からメモリを見つけ、そのつながりをたどることができます。

概要表示と詳細表示 まず、軽量なメタデータ(id、コンテキスト、キーワード、タグ)を使った幅優先検索で、関連するメモリを捉えます。次に、read_memory_note で特定のメモリを深さ優先で詳しく調べ、全内容を取得します。これにより、再現率を最大限に高めながら、トークン使用量を抑えられます。

MCP ツール

A-MEM は、コーディングエージェントに 8 つのツールを提供します。

ツール説明
add_memory_note新しい知識を保存します(非同期、すぐに戻ります)
search_memoriesすべてのメモリを対象に意味検索します
search_memories_agentic検索してグラフのつながりをたどります
search_memories_by_time指定した期間内を検索します
read_memory_note詳細をすべて取得します(一括読み取りに対応)
update_memory_note既存のメモリを変更します
delete_memory_noteメモリを削除します
check_task_status非同期タスクの完了状況を確認します
使用例
# The agent calls these automatically, but here's what happens:

# Store a memory (returns task_id immediately)
add_memory_note(content="Auth uses JWT in httpOnly cookies, validated by AuthMiddleware")

# Search later
search_memories(query="authentication flow", k=5)

# Deep search with connections
search_memories_agentic(query="security", k=5)

詳細設定

JSON 設定

詳細に設定するには、~/.claude/settings.json(グローバル)または .claude/settings.local.json(プロジェクト)を編集します。

{
  "mcpServers": {
    "a-mem": {
      "command": "a-mem-mcp",
      "env": {
        "LLM_BACKEND": "openai",
        "LLM_MODEL": "gpt-4o-mini",
        "OPENAI_API_KEY": "sk-..."
      }
    }
  }
}
環境変数
変数説明デフォルト
LLM_BACKENDopenai、ollama、sglang、openrouteropenai
LLM_MODELモデル名gpt-4o-mini
OPENAI_API_KEYOpenAI API キー—
EMBEDDING_MODELSentence Transformer モデルall-MiniLM-L6-v2
CHROMA_DB_PATH保存ディレクトリ./chroma_db
EVO_THRESHOLD進化を開始するしきい値100
メモリのスコープ
  • プロジェクト固有(デフォルト):各プロジェクトのメモリは ./chroma_db に分離して保存されます
  • グローバル:CHROMA_DB_PATH=~/.local/share/a-mem/chroma_db を設定すると、プロジェクト間で共有できます
代替バックエンド

Ollama(ローカル、無料)

claude mcp add a-mem -s user -- a-mem-mcp \
  -e LLM_BACKEND=ollama \
  -e LLM_MODEL=llama2

OpenRouter(100 以上のモデル)

claude mcp add a-mem -s user -- a-mem-mcp \
  -e LLM_BACKEND=openrouter \
  -e LLM_MODEL=anthropic/claude-3.5-sonnet \
  -e OPENROUTER_API_KEY=sk-or-...
フックの管理(Claude Code)

セッション開始フックは、Claude にメモリツールを使うよう促します。Claude Code とともに自動でインストールされますが、手動で管理することもできます。

a-mem-install-hook     # Install/reinstall hook
a-mem-uninstall-hook   # Remove hook completely

Python API

A-MEMをPythonから直接使用できます(あらゆるエージェントやアプリケーションで動作します)。

from agentic_memory.memory_system import AgenticMemorySystem

memory = AgenticMemorySystem(
    llm_backend="openai",
    llm_model="gpt-4o-mini"
)

# Add (auto-generates keywords, tags, context)
memory_id = memory.add_note("FastAPI app uses dependency injection for DB sessions")

# Search
results = memory.search("database patterns", k=5)

# Read full details
note = memory.read(memory_id)
print(note.keywords, note.tags, note.links)

研究

A-MEMは、次の論文のコンセプトを実装しています。

A-MEM:LLMエージェントのためのエージェント型メモリ Xu et al.、2025年 arXiv:2502.12110

コメント

MCP は初めてですか?

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

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