mcpField
A
Anamnesis

Anamnesis

ローカル
oscardvs.github.ioAI・エージェント08 週間前に更新

Anamnesis について

Anamnesis は、複数のマシンで作業する開発者向けの、Claude Code 用ローカルファーストなファイルベースのメモリ層です。読みやすい Markdown を Git リモート経由で同期し、検索インデックスは各マシンで再構築します。

主な機能

  1. 01Markdown ノートを正本として保存
  2. 02ローカルの SQLite FTS5 キーワード検索
  3. 03Git によるマシン間同期
  4. 04セッションメモリ用の Claude Code フック
  5. 05任意のリフレクション、統合、評価
  6. 06閲覧と編集のための Web ダッシュボード

活用シーン

  1. 01別のマシンからプロジェクトノートを検索
  2. 02Claude Code のセッション開始時に関連メモリを読み込み
  3. 03セッション要約を記録して同期
  4. 04ダッシュボードでノートの閲覧、編集、履歴確認

MCP 対応

MCP サーバーは Claude Code に読み取り専用のメモリ検索ツールと、書き込み・同期ツールを公開します。セッションフックが関連ノートを注入し、セッション要約を記録します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"anamnesis": {
"command": "uvx",
"args": [
"anamnesis-memory"
]
}
}
}
起動コマンドuvx anamnesis-memory

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

パッケージ
pypianamnesis-memory0.1.3

ツール

5

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
kintegerいいえ
typeanyいいえ
querystringはい
scopeanyいいえ
projectanyいいえ
user_idanyいいえ
workspace_idanyいいえ

詳細

Anamnesis

Claude Code のためのマシン間メモリ

PyPI CI Python License: Apache 2.0

ウェブサイト · ドキュメント · ベンチマーク · ダッシュボード

uv tool install anamnesis-memory && anamnesis init

ἀνάμνησις (anamnesis):ギリシャ語で「想起」、知識を心によみがえらせることを意味します。

Anamnesis は、Claude Code 用のローカルファーストなファイルベースのメモリレイヤーで、 ご自身のマシン間で同期します。Claude がプロジェクトについて学んだこと(規約、アーキテクチャ上の決定、 うまくいった修正、昨日行った作業など)は、プレーンな Markdown として保存され、検索用にローカルでインデックス化され、 プライベートネットワーク経由で同期されます。

Claude Code 自体のメモリは、書き込まれたマシンに残ります。Dropbox や iCloud などのクラウドフォルダー経由で SQLite インデックスをコピーすると、破損します。Anamnesis は代わりに git で Markdown を同期し、各マシンで インデックスを再構築するため、デスクトップで書いたメモをノート PC から検索できます。

クラウドアカウントは不要です。メモリはご自身のマシン上にとどまり、バージョン管理され、人が読める形式で保存されます。

仕組み

  ┌─────────────┐        git over your private mesh        ┌─────────────┐
  │  desktop    │  ◄────────────  (Tailscale)  ────────►   │  laptop     │
  │             │                                          │             │
  │  Claude Code│                                          │  Claude Code│
  │     ▼       │                                          │     ▼       │
  │  MCP server │   markdown (source of truth)             │  MCP server │
  │     ▼       │   + SQLite FTS index (rebuilt locally)   │     ▼       │
  │ ~/.anamnesis│                                          │ ~/.anamnesis│
  └─────────────┘                                          └─────────────┘
  • まずファイル。 各メモは ~/.anamnesis/memory/ 以下にある Markdown ファイルで、読みやすく git diff で差分を確認できます。 Markdown が信頼できる唯一の情報源であり、それ以外はすべてそこから生成されます。
  • ローカルインデックス。 SQLite FTS5 インデックスにより、キーワード検索(BM25)で情報を想起できます。インデックスはローカルで再構築され、同期されません。 プロジェクトの評価セットでは、キーワード検索の再現率は約 94%に達するため、測定結果から必要と判断されるまではベクトルストアを使用しません。
  • git による同期。 Markdown は、プライベートな Tailscale メッシュ、またはご自身が管理する任意の git リモート経由で同期されます。同期されるのは Markdown のみです。各マシンで独自のインデックスが再構築されるため、 データベースファイルがマシン間でコピーされることはありません。2 台のマシンで同じメモを編集した場合、どちらかを破棄するのではなく、同期時に git の コンフリクトが報告されます。
  • Claude Code との連携。 MCP サーバーが読み取り専用のクエリツールを提供し、残りはセッションフックが処理します。 SessionStart で関連するメモが挿入され、SessionEnd でセッションの概要が記録されて同期されます。
  • リフレクションと統合。 オプションのリフレクション処理(設定で指定する、OpenAI 互換の任意のモデル)により、 セッションのメモを長期保存向けのメモにまとめます。また、anamnesis merge で重複に近いメモを統合できます。生成された メモには、フロントマターに出典情報と信頼度が記録されます。merge --apply は評価セットで検証されるため、 再現率が下がることはありません。また、anamnesis eval はサンドボックスのコピー上で、リフレクションの実行前後を評価します。
  • ダッシュボード。 すべてのマシンにまたがるメモリを閲覧、検索、編集し、履歴を確認できるウェブ GUI です。

クイックスタート

前提条件:Claude Code、uv、および git。

uv tool install anamnesis-memory && anamnesis init

anamnesis init はユーザースコープで Claude Code に MCP サーバーを登録し、SessionStart、SessionEnd、PreCompact フックをインストールして、ストアを ~/.anamnesis に設定し、初回同期を実行します。冪等性があり、settings.json をバックアップし、フックを重複して登録しません。--print を指定すると、何も書き込まずに全手順を表示します。また、--local-only を指定すると、リモートを利用する準備ができるまでリモートをスキップします。

Claude Code では、5 つのツールを利用できます。memory_search、memory_list、memory_status(読み取り専用で、自動承認しても安全)、および memory_write と memory_sync です。詳細なリファレンス: CLI · MCP ツール · 設定。

ソースから開発する場合
git clone https://github.com/oscardvs/anamnesis && cd anamnesis/server
uv venv --python 3.12
uv pip install -e ".[mcp,dev]"
uv run anamnesis init --print

このリポジトリには、プロジェクトスコープの .mcp.json も含まれています。Claude Code はフィルタリングされた環境で MCP サーバーを起動するため、ANAMNESIS_HOME/ANAMNESIS_MACHINE_ID/ANAMNESIS_GIT_REMOTE はシェルではなく、その "env" ブロックに設定してください。サーバーの内部構造については、server/README.md を参照してください。

マシン間の同期

メモリは git リポジトリ(~/.anamnesis/memory/)で、プライベートな Tailscale メッシュ、または管理下にある任意の git リモート経由で同期されます。設定は一度だけ行います。

  1. すべてのマシンを同じ tailnet に接続します(Tailscale をインストールし、 tailscale up を実行します)。共有リポジトリをホストする常時稼働のマシンを 1 台選びます。tailscale status を実行すると、その MagicDNS 名(例:host.your-tailnet.ts.net)が表示されます。

  2. ホスト上に共有ベアリポジトリを 1 つ作成します。

    git init --bare -b main ~/anamnesis-memory.git
    
  3. 各マシンで接続先を設定します。

    anamnesis init --remote '[email protected]:anamnesis-memory.git'
    

    ホスト自体ではローカルパスを使用します:--remote "$HOME/anamnesis-memory.git"。

同期では commit -> pull --rebase -> push が実行され、プル後にローカルインデックスが再構築されるため、あるマシンで書いたメモは、同期サイクルを 1 回経ると他のマシンでも検索できるようになります。--local-only で開始した場合は、後から init --remote ... を再実行してください。ストアがリモートに接続され、履歴がプッシュされます。

フック

anamnesis init は、Claude Code のフックを 3 つインストールします。

  • SessionStart は、現在のプロジェクトに最も関連性の高いメモ(全体設定、プロジェクトの永続的なメモ、直近のセッション要約を数件)を挿入し、バックグラウンド同期を開始します。
  • SessionEnd は、セッションのトランスクリプトからエピソードメモを作成して同期するため、次のセッションまでに他のマシンでも利用できます。PreCompact は、コンテキストの圧縮前に同じ種類のメモを作成します。

さらに 2 つのコマンドをこれらのフックと組み合わせて使用できます。

  • リフレクション(任意)。 anamnesis config set reflection.provider ... を OpenAI 互換モデルに設定し、anamnesis reflect を実行すると、蓄積されたセッションメモから永続的な規約を抽出できます。reflection.auto を設定すると、プロジェクトに未リフレクションのメモが十分に蓄積された時点で、セッション終了時に実行されます。anamnesis merge は類似した重複項目を統合し、評価セットでの想起性能が維持される場合にのみ適用します。
  • インポート。 anamnesis import は、Claude Code のプロジェクトごとのメモリをストアにコピーするため、すでに書いたメモも含められます。

init を使わずに手動でフックを設定するには、 examples/hooks.settings.json を ~/.claude/settings.json にコピーし、インストール先を指定してください。

ベンチマーク

bench/cross-machine-tokens/ では、新しいマシンでスクリプト化されたタスクを2回実行します。1回目は Anamnesis なしでエージェントがプロジェクトを調べて規約を学習し、2回目は実際の SessionStart メモリーブロックを挿入します。合成プロジェクト上で Claude Code CLI をヘッドレス実行するため、Pro/Max サブスクリプションがあれば十分で、API キーは必要ありません。

コミット済みの result.json(claude-opus-4-8 で各条件3回実行)では、メモリーを使用すると入力トークンの合計が約8%減少し、平均366kから336kになっています。出力トークン数とターン数はほぼ同じです。規約は再発見されるのではなく、最初のターンから把握されていました。以前のシナリオでは5ファイルのプロジェクトを使っており、差は見られませんでした。この帰無結果は同じ README に記録されています。

ダッシュボード

メモリーストア用の Web GUI です。すべてのメモを閲覧して全文検索したり、メモごとの履歴付きで Markdown を編集したり、すべてのマシン(どのマシンが何を書き、最後にいつ同期したか)を確認したり、ブラウザーからリフレクションを実行したりできます。プロベナンスバッジには、各メモの由来(ユーザー、セッションキャプチャ、リフレクション、インポート)が表示されます。

同期されたマルチマシン対応メモリーストアを表示する Anamnesis ダッシュボード

npx anamnesis-dashboard      # http://localhost:3000

または、すでにお使いの CLI から:

anamnesis dashboard

Node 20 以降が必要です。リポジトリをクローンした状態で、開発時は cd dashboard && npm run dev を実行できます。

これは、MCP サーバーが使用する同じローカルストアを操作する、読み書き用の軽量クライアントです。SQLite インデックスを直接読み込み、書き込みと同期には anamnesis CLI をシェル経由で呼び出します。--port、--store、--no-open を使って、配信方法を調整できます。設定と設計に関する説明は、dashboard/README.md を参照してください。

ステータス

2026年9月:v0.1.3 が PyPI で公開されています。ローカルファーストのコアは完成しており、実際のマルチマシン環境で使用されています。ストア、MCP サーバー、フック、Git 同期、ワンコマンドインストール、評価ハーネスを備えたリフレクションとマージの処理、そしてダッシュボードが含まれます。API はリリース間で変更される可能性があります。

次の予定は、自分のメッシュを持たないユーザー向けのホスト型リレー(サーバーにはすでに [relay] エクストラで有効になる anamnesis relay コマンドが含まれていますが、まだドキュメント化されていません)と、チームメモリーです。

リポジトリの構成

パス内容
server/MCP メモリーサーバーと CLI(Python、FastMCP)。
dashboard/メモリー GUI(Next.js)。
site/公開ウェブサイトとドキュメント(公開中)。
bench/マルチマシン対応のトークンベンチマークとデモ録画パイプライン。
examples/フックを手動で設定するための、手書きの hooks.settings.json。

貢献

課題の報告や議論を歓迎します。お使いのマシンでインストールに問題がある場合は、実行したコマンドとその出力を正確に添えて、課題を報告してください。

ライセンス

Apache License 2.0。NOTICE も参照してください。

コメント

MCP は初めてですか?

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

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