ChainMemory について
ChainMemoryは、ClaudeやChatGPTなどを使うエージェント向けのクロスモデル対応メモリMCPサーバーです。任意のブラインドボルトではメモリをローカルで暗号化し、検証用にオンチェーンへ記録します。
主な機能
- 01モデルをまたいだメモリの保存と検索
- 02AES-256-GCMによるメモリ暗号化
- 03任意のローカル暗号化ブラインドボルト
- 04オンチェーン記録と状態検証
- 05プロジェクト概要の生成と状態変更の追跡
活用シーン
- 01異なるモデル間でプロジェクトの記憶を引き継ぐ
- 02サーバーに読ませたくないメモリを保護
- 03プロジェクトのリスク、優先事項、決定を確認
- 04メモリやプロジェクト状態のオンチェーン記録を検証
MCP 対応
MCPサーバーとして、ChainMemoryプロトコルとメモリ、プロジェクト状態に関するツールを対応するAIエージェントに公開します。ブラインドボルトでは、ユーザーが保持する12語のフレーズ由来の鍵で内容をローカル暗号化できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y chainmemory-mcpCHAINMEMORY_API_KEYシークレットChainMemory API key. REQUIRED for every tool except chainmemory_seal. Get one at https://faucet.chainmemory.aiCHAINMEMORY_SEED_PHRASEシークレット12-word BIP-39 phrase for the blind vault. Optional: without it the server works exactly as before. With it, sealed:true encrypts a memory on your machine and computes its search vector here, so sealed memories can still be found, and searches send the query's vector instead of its text. Generate one with chainmemory_new_seed. It never leaves your machine and cannot be recovered.CHAINMEMORY_API_BASEAPI base URL (default: https://api.chainmemory.ai)CHAINMEMORY_MODELS_DIRFolder for the 45 MB search model used with the blind vault (default: ~/.chainmemory/models). Downloaded once from models.chainmemory.ai and checked against its SHA-256 anchored on ChainMemory's chain.CHAINMEMORY_ALLOW_FULLSet to 1 to let get_project_brief return the FULL level (addresses, ports, server paths and security rules) when you ask for it. Leave it empty to keep every brief at the public level, which is safe to paste anywhere. Works only with the owner's key, and ChainMemory logs every full-level request.AICHAIN_KEYシークレットNOT NEEDED for normal use — leave it empty. Only the chainmemory_seal tool reads it, to sign a contract call yourself instead of letting the API anchor the memory (which chainmemory_remember already does). If you do set it, it is a wallet private key: use a dedicated wallet holding only a few AIC, never your main one. No other tool uses it.AICHAIN_RPCRPC endpoint used only by chainmemory_seal (default: https://rpc.chainmemory.ai). Leave it empty unless you set AICHAIN_KEY.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
37掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| tags | array | いいえ | 明示的なタグ。自動タグ付けはフォールバックとしてのみ使用 |
| sealed | boolean | いいえ | 送信前にこのメモリーをクライアント内で暗号化します(ブラインドボルト)。CHAINMEMORY_SEED_PHRASE が必要です。サーバーには読み取り不可能なデータブロブが保存されます。検索ベクトルはこのマシンで計算されます(初回は models.chainmemory.ai から 45 MB の検索モデルをダウンロードし、オンチェーンハッシュと照合します)。そのため、search_memories に表示され、ここで復号されます。プロジェクトとタグも保存されるため、list_memories_filtered で見つけられます。chainmemory_open_sealed で直接読み取ります。 |
| content | string | いいえ | summary の任意の別名です。指定すると、保存されるメモリー本文として summary を上書きします。summary は必須フィールドです。必ず送信し、summary より長い本文が必要な場合にのみ content を使用してください。 |
| project | string | いいえ | このメモリーを保存するプロジェクト(最初のタグとして追加) |
| summary | string | はい | 何が起きたか(チェーンにアンカーされる前に暗号化されます) |
| category | enum | いいえ | メモリのカテゴリDECISION | LEARNING | INTERACTION | STATE | ERROR | MILESTONE | CUSTOM |
| platform | string | いいえ | プラットフォームのソース(例:claude、chatgpt)。任意。 |
| importance | integer | いいえ | 重要度 1~10(デフォルトは 5) |
詳細
ChainMemory MCP Server
Claude、ChatGPT、あらゆる AI エージェントで使える、モデルをまたいで利用でき、暗号技術で検証可能なメモリーです。AI のメモリーを自分で管理し、あらゆるモデルで引き継げます。
ChainMemory MCP は、Model Context Protocol に対応するあらゆる AI エージェントに ChainMemory プロトコルを提供します。メモリーは暗号化(AES-256-GCM)され、1 件ずつオンチェーンに記録されるため、誰でも検証できます。また、ChatGPT、Claude、Gemini、Perplexity など、あらゆる LLM 間で持ち運べます。ベンダーロックインは一切ありません。
v2.10.0 の新機能
get_project_briefで、許可した場合に限り完全な情報を取得できます。 ブリーフはデフォルトで公開用です。アドレス、ポート、サーバーパス、セキュリティルールは[withheld]に置き換えられるため、どのチャットにも安全に貼り付けられます。自身のインフラストラクチャで作業する場合は、level: "full"を渡すと、これらの情報も取得できます。この機能を利用するには、この MCP サーバーのenvにCHAINMEMORY_ALLOW_FULL=1を追加する必要があります。また、オーナーのキーでのみ動作し(メンバーキーとプロジェクトキーは API に拒否されます)、ChainMemory は完全な情報を要求するたびに、その日時、プロジェクトとバージョン、要求元のクライアント、送信された機密情報の行数を記録します。ブリーフの冒頭に完全な情報であることが記載され、末尾には機密情報の行数が表示されます。- リモートエンドポイントでは、完全な情報を取得できません。 第三者のクライアントに提供されるため、このパラメーターは公開されません。
- プロジェクトの AIC をどのように保護しているかは、どのレベルのブリーフにも表示されません。
- 各リクエストで、API にリクエスト元のクライアント(
chainmemory-mcp <version> stdio|remote)を通知するようになりました。完全な情報を取得した際のログには、この情報が記録されます。
有効にするには、API キーの隣に次の変数を追加してください。
"env": {
"CHAINMEMORY_API_KEY": "aic_your_key_here",
"CHAINMEMORY_ALLOW_FULL": "1"
}
v2.9.1 の新機能
get_project_briefにタスクモードが追加されました。task: "pri_0015"を渡すと、その優先事項についてのブリーフが表示されます。優先事項の全文、独立した行に表示される完了条件、軽減するリスク、Brain 内にあるそれに言及するすべての情報、すべての作業ルールと制約を確認できます。一般的なブリーフは状況を把握するためのものですが、タスクモードのブリーフは作業を始めるのに十分な情報を提供することを目的としています。「何が変わったか」のために記憶されるバージョンは更新されません。- ブリーフはどのチャットにも安全に貼り付けられます。 サーバーは IP アドレス、ポート、サーバーパス、オーナーのセキュリティルールを
[withheld]に置き換え、テキスト内に伏せた情報の数を表示するようになりました。これにより、エージェントは情報を確認するよう求められます。以前は、予算が大きい場合にサーバーパスや SSH ポートが第三者のチャットに含まれる可能性がありました。 - ブリーフに表示される内容が増えました。 完全な
state_hash、変更された各優先事項とリスクの関連付け、およびその以前の値、途中で省略されない完了条件、「要確認」に含まれる項目のタイトル、オーナーの作業ルール、証拠を参照する項目数が表示されます。それ以外の項目には(no evidence)と表示されます。 - 優先事項をリスクに関連付けられるようになりました。
update_project_stateで、add_priorityの新しいmitigatesフィールドとset_priority_risks操作が説明されています(構文は現在 30 操作です)。ブリーフでは、各リスクをどの優先事項がカバーしているかが示され、軽減する優先事項のない高リスクが一覧表示されます。また、説明されている値のセットも修正され、リスクにはmitigatedを、優先事項にはactive、done、droppedを指定できるようになりました。
v2.9.0 の新機能
get_project_brief:数千文字でまとめたプロジェクトの要点。重要な情報が先に表示されます。get_project_stateは状態全体を JSON で返すため、成熟したプロジェクトでは長くなり、エージェントはセッション開始時に先頭から読み込みます。ブリーフは、サーバーが関連度と文字数の上限(デフォルトは 7,000 文字、1,000〜50,000 文字)に基づいて作成するプレーンテキストです。前回読んだバージョン以降の変更、未解決のリスク(重要度の高いものが先)、現在の優先事項、適用範囲を添えた最近の決定、最近のマイルストーン、未解決の質問、各制約を1行のルールにまとめたもの、そして30バージョンを超えてレビューされておらず、現在は正しくない可能性のある項目が含まれます。状態のオンチェーンアンカーから始まります。無料で、読み取り専用です。- 「変更点」は、最後に読んだバージョンを基準に測定されます。 このローカルサーバーは、プロジェクトごとに最後に返したバージョンを
~/.chainmemory/brief-since.jsonに記録します。このファイルは API キーとプロジェクト名のハッシュでインデックス化されており、どちらも含みません。特定のバージョンと比較するにはsinceを指定してください。リモートエンドポイントには何も保存されず、ひとつ前のバージョンとの比較になります。 - 英語またはスペイン語の見出し(
lang: "es")に対応しています。項目は書かれたとおりに返されます。 get_project_stateに変更はありません。引き続きupdate_project_stateの前に使用するツールです。
v2.8.1 の新機能
- 低速な接続でも検索モデルをダウンロードできます。 最初のダウンロード(45 MB、ブラインドボルト使用時のみ)は、合計2分で打ち切られていました。そのため、低速でも正常に動作している接続ではモデルを取得できず、最初の暗号化メモリーは検索ベクトルなしで保存されていました。現在は、全体の所要時間にかかわらず、60秒間データを受信しなかった場合にのみダウンロードが打ち切られます。
v2.8.0 の新機能
- 暗号化メモリーを検索できます。 ブラインドボルトを設定している場合(
CHAINMEMORY_SEED_PHRASE)、sealed:trueを指定したchainmemory_rememberは、メモリーの検索ベクトルを暗号化された blob とともに送信するようになりました。検索ベクトルはお使いのマシン上で計算されます。サーバーは内容を読めないメモリーを見つけることができ、search_memoriesは一致した暗号化メモリーをローカルで復号します。 - 検索クエリはお使いのマシンから送信されません。 ボルトを設定している場合、
search_memoriesはクエリのテキストではなくベクトルを送信するため、検索内容のテキストがサーバーに送られたり、検索ログに記録されたりすることはありません。 - 新たな依存関係はありません。 ベクトルの生成には、ChainMemory 独自のエンジン(ChainMemory が記述したトークナイザー、モデルリーダー、WebAssembly カーネル)を使用し、パッケージに同梱されています。合計 80 kB です。初回使用時に、45 MB の検索モデルが
models.chainmemory.aiからダウンロードされ、ChainMemory のチェーンにアンカーされた SHA-256 と照合されたうえで、~/.chainmemory/models(またはCHAINMEMORY_MODELS_DIR)に保存されます。読み込みのたびに再度検証されます。 - ボルトを使用しない場合、変更はなく、ダウンロードも行われません。
v2.7.1 の新機能
- MCP ハンドシェイクで正しいバージョンを通知します。 以前は、インストールされているパッケージにかかわらず、サーバーはすべてのクライアントに対して
2.5.6と通知していました。現在はpackage.jsonからバージョンを読み込むため、再び食い違うことはありません。 quote_injectがメモリーの欠落を正しく報告するようになりました — API 側で修正済み(2026-09-14)。クライアントの変更は不要です。以前は、見つかったメモリーを 見つからない として一覧表示し、問題のないリストを修正するようエージェントに指示していました。get_inject_historyのレスポンスに、注入された各メモリーの番号(#N)を示すmemory_numbersが含まれるようになりました。
v2.7.0 の新機能
人間向けではなく、エージェント向けにツールの説明を書き直しました。 36 個すべてを監査したところ、使用する「タイミング」に触れていたのは 39%、制限を明記していたのは 25%で、料金がかかることを説明していないものが 2 つありました。そのうち 1 つは明らかに誤っていました。
chainmemory_profileはmemory count、trust score、registration blockを返すと説明していました。これらのフィールドは存在しません。API が返すのはchain_memories、local_memories、synced_memories、pending_sync、reputation、owner、activeです。v2.5.6 で誤ったフィールドを参照していたコードは修正されましたが、説明にはそのまま記載されていました。chainmemory_remember(0.001 AIC)とupdate_project_state(0.05 + 操作ごとに 0.005)に、料金が明記されるようになりました。それぞれ、最もよく使われるツールと、最も高額なツールです。update_project_stateに、使用可能な値の固定リストが記載されるようになりました。severityはlow、med、highのいずれかです。mediumでもcriticalでもありません。誤った値を使うと操作が拒否され、それでも料金が発生します。get_my_contextとchainmemory_recallはどちらも「会話の開始時に使う」と記載していました。現在は、それぞれについて、もう一方の代わりに使うタイミングが説明されています。- 12 個の簡潔な説明に、料金、制限、呼び出し失敗につながる注意点が追加されました。
delete_projectには数値 IDが必要で、スラッグは拒否されます。add_project_from_templateとlist_project_templatesが扱う ID は推測できません。chainmemory_sealはウォレットの秘密鍵が必要な唯一のツールです。
動作に変更はありません。同じ 36 個のツール、同じエンドポイント、同じ料金です。変わったのは、エージェントが選択する前に伝えられる内容です。
v2.6.1 の新機能
ドキュメントのみの修正で、コードの変更はありません。ブラインドボールトのセクションでは、検証手順が誤って説明されていました。GET /v1/memory/<id>/decrypted はシールされたメモリで失敗することはありません。代わりに、scheme: "sealed" と暗号化されたデータを含む 200 を返します。保証内容は変わりません(オペレーターがテキストを取得することはありません)が、実際に観測された動作はドキュメントの記載と異なっていました。ライブ API に対する最初のエンドツーエンドテストで判明しました。
v2.6.0 の新機能
ブラインドボールト — サーバーが読み取れないメモリ。 chainmemory_remember に sealed: true を渡すと、テキストは端末から送信される前に、ローカルマシン上で暗号化されます。暗号化には、ネットワークに一度も接続されない 12 個の BIP-39 ワードから導出された鍵を使う AES-256-GCM を使用します。ChainMemory は不透明なデータを保存し、そのハッシュをアンカーします。通常の書き込みと同じ料金で、プライバシーのための追加料金はかかりません。
chainmemory_new_seedはフレーズをローカルで作成します。表示されるのは 1 回だけで、どこにも保存されません。chainmemory_open_sealedはデータを取得し、サーバーではなく、この端末で復号します。CHAINMEMORY_SEED_PHRASEが設定されていない場合、すべて 2.5.6 とまったく同じように動作します。
正直にお伝えする制限事項が 1 つあります。 シールされたメモリは検索可能なテキストなしで保存されるため、search_memories の結果には表示されません。サーバーにはインデックスを作成するデータがないためです。プロジェクトとタグは保存されるので、list_memories_filtered ではプロジェクトで検索できます。その後、chainmemory_open_sealed で内容を読み取ります。全文検索ができなくなるのは、サーバーが内容を読み取れないことの直接的な結果であり、この保証を維持したまま回避する方法はありません。(v2.8.0 で解決済み:検索ベクトルがローカルマシン上で計算されるようになり、サーバーに内容を読み取らせずにシールされたメモリを検索できるようになりました。)
12 個のワードを失うと、それらを使ってシールしたメモリは、あなたにとっても、ほかの誰にとっても失われます。 紙に書き留めてください。
v2.5.6 の新機能
ツールが自信たっぷりに誤った情報を返していた不具合を3件修正しました。新しいツールはありません。
list_project_templatesが何も一覧表示しませんでした。defaults/project_idを返すレスポンスからtemplates/template_idを読み取っていたため、常に「利用可能なテンプレートはありません」と回答していました。そのため、add_project_from_templateに必要な ID を知ることができず、テンプレートの一連の機能を利用できませんでした。chainmemory_profileは8項目中5項目を誤っていました。wallet、memory_count、trust_score、registration_block、sealedを読み取っていましたが、API が返すのはowner、chain_memories/local_memories、reputation、activeです。実際の状態にかかわらず、すべてのプロフィールでウォレットは空、メモリ数はゼロ、評価は「?」、Sealed: noと表示されていました。また、API キーに登録済みの ID がない場合の処理もなく、AI Profile #undefinedと表示されていました。update_project_stateは、すべての操作が拒否されたときに理由を表示しませんでした。 拒否の内容は成功時にしか表示されませんでしたが、すべての操作が拒否されると状態は変わらず、もう一方の分岐に進むため、返信にはRejected: 3としか表示されませんでした。理由を知るには、もう一度推測して再度手数料を支払うしかありませんでした。
v2.5.5 の新機能
audit_memoryとaudit_state— 2つのフォレンジック監査エンドポイントを、あらゆる MCP クライアントから利用できるようになりました。どちらもdry_run: trueを指定すると、課金なしで同じ結果を返します。必要なときに記録用の領収情報を得るためだけに支払えばよく、監査は好きなだけ実行できます。有料版のaudit_stateは5 AIC かかるため、ツールはドライランをデフォルトにしています。- どちらのエンドポイントも、まずサーバー側で修正しました。以前は検証の前に課金していたため、ID やプロジェクト名を誤入力すると、手数料を取られたうえで404が返されていました。
v2.5.4 の新機能
検索と全文読み取り
search_memories— メモリを意味検索します(キャッシュされた埋め込みのコサイン類似度を、直近性と重要度を加味して算出)。各検索結果の全文を返します。以前のバージョンには検索機能がありませんでしたget_memory— 1件のメモリをチェーンから復号して全文を読み取り、整合性を検証します。サーバーは平文からイベントハッシュを再計算し、オンチェーンに記録されたハッシュと照合しますchainmemory_recallとlist_memories_filteredは、80文字のプレビューを返すことを明記し、全文を読むにはget_memory/search_memoriesを使うよう案内するようになりました
検証 — 無料で、製品の要となる機能
verify_project_state— Project Brain の公開・認証不要の証明です。アンカーされたすべてのバージョンについて、state_hashとオンチェーン上の位置を示し、ProjectStateAnchorコントラクトで自分で検証する方法も案内します。コンテンツは公開されませんget_memory_proof— 1件のメモリのアンカーを証明する共有可能な証明です。event_hashとオンチェーン上の位置を含みます。第三者はAPI キーなしで検証でき、コンテンツが明かされることはありません
コスト管理
quote_inject— 支払いの前にインジェクトの価格を確認できます。存在する ID と存在しない ID、トークン数、バーンとトレジャリーの内訳を含む正確な費用、残高で支払い可能かどうかを確認できます- 正確なインジェクト料金 — クライアントは料金と残りのインジェクト回数を再計算せず、サーバーから取得するようになりました。以前のバージョンは、2026-06-30 より前の料金である 0.001 AIC を基に計算していたため、実際の残高で可能な回数の100倍を約束していました
ロールと堅牢性の強化
list_role_contracts— コントラクトを読む、またはロールを引き受ける前に、プロジェクトのロール(ID、バージョン、ステータス)を確認できます。ロール ID は推測できないため、これにより失敗する呼び出しの往復をなくせますget_project_stateのinclude_roles—falseに設定すると、署名済みロールコントラクトの全文を含めずに状態を取得できます- 入力の堅牢性強化 — URL に渡されるユーザー入力値をすべて検証またはエスケープするようになりました。数値のパスパラメーターは整数である必要があり、文字列のパスパラメーターはパーセントエンコードされ、クエリの上限値は範囲内に制限されます。無効な入力はネットワークに送信されず、明確なメッセージとともにローカルでエラーになります
- MCP マニフェストに
CHAINMEMORY_API_KEYを宣言 — 必須変数がserver.jsonに記載されていなかったため、レジストリやインストーラーで入力を求められませんでした
v2.5 の新機能
- Project Brain —
get_project_stateはアトミックなメモリを構造化されたバージョン管理付きの検証可能なプロジェクト状態(意思決定、リスク、制約、指標、作業場所や作業方法などの環境)にまとめ、アクティブなロールコントラクトも1回の呼び出しで返します - 検証可能なロールコントラクト(VRC) — AI エージェント向けの、人間が署名するロールコントラクトです。
get_role_contract(コントラクトを読む)、assume_role(監査可能なロールセッションを開始する)、release_role(概要を添えて終了する)を利用できます - 全36ツール — メモリ操作、意味検索、検証証明、プロジェクト、Project Brain、監査可能なセッションを伴うロールコントラクト、選択的インジェクト
クイックスタート
1. API キーを取得する
https://faucet.chainmemory.ai にアクセスしてください。API キー(aic_...)と初期 AIC 残高を受け取れます。ChainMemory は個人データを収集しません。API キーがあなたの ID になります。
2. Claude Desktop に追加する
Claude Desktop の設定ファイルを編集してください(macOS では ~/Library/Application Support/Claude/claude_desktop_config.json、Windows では %APPDATA%\Claude\claude_desktop_config.json)。
{
"mcpServers": {
"chainmemory": {
"command": "npx",
"args": ["-y", "chainmemory-mcp"],
"env": {
"CHAINMEMORY_API_KEY": "aic_your_key_here"
}
}
}
}
Claude Desktop を再起動してください。37個のツールが利用可能になります。
3. 試してみる
- 「私のプロジェクトについて何を覚えていますか?」 →
chainmemory_recall - 「この決定を保存してください:次のスプリントで Postgres に切り替える」 →
chainmemory_remember - 「my-app の状況はどうなっていますか?」 →
get_project_brief(変更点、未解決のリスク、優先事項、決定事項) - 「my-app のプロジェクト状態を読み込んでください」 →
get_project_state(Brain + 有効なロール契約) - 「my-app にはどのようなロールがありますか?」 →
list_role_contracts - 「my-app のアーキテクトロールを引き受けてください」 →
assume_role(監査可能な Role Session)
全 37 ツール
メモリー操作(8)
| ツール | 説明 |
|---|---|
chainmemory_remember | 暗号化された永続メモリーを書き込みます。内容に基づいて自動でタグ付けされます。 |
chainmemory_recall | ユーザーの最近のメモリーを、新しい順に呼び出します(80 文字のプレビュー)。 |
search_memories | メモリーを意味検索します。一致した各項目の全文を返します。 |
get_memory | メモリーを 1 件、チェーンから復号して全文を読み込み、オンチェーンの整合性を確認します。 |
list_memories_filtered | プロジェクトタグとアーカイブ状態で絞り込みます(80 文字のプレビュー)。 |
update_memory_tags | 既存のメモリーのタグを変更します。 |
archive_memory | メモリーを呼び出し対象から隠します(元に戻せます)。 |
unarchive_memory | アーカイブしたメモリーを復元します。 |
ブラインドボールト(2)
| ツール | 説明 |
|---|---|
chainmemory_new_seed | BIP-39 の 12 語のフレーズをローカルで生成します。一度だけ表示され、保存も送信もされません。 |
chainmemory_open_sealed | 封印されたメモリーの blob を取得し、このマシン上で復号します。 |
検証(4)
| ツール | 説明 |
|---|---|
verify_project_state | Project Brain の公開かつ認証不要な証明を提供します。アンカーされた各バージョン、その state_hash とオンチェーン座標、および自分で確認する方法が含まれます。内容は公開されません。 |
get_memory_proof | 1 件のメモリーの共有可能なアンカー証明を提供します。event_hash とオンチェーン座標が含まれます。第三者は API キーなしで検証できます。 |
audit_memory | 1 件のメモリーをフォレンジック監査します。保存された平文から event_hash を再計算し、アンカーされた値と照合します。0.1 AIC、または dry_run: true なら無料です。 |
audit_state | Project Brain を全面監査します。決定論的エンジンで state_hash を再計算し、オンチェーンアンカーとバージョン履歴を返します。5 AIC、または dry_run: true なら無料です。 |
Project Brain(3)
| ツール | 説明 |
|---|---|
get_project_state | 統合され、検証可能なプロジェクト状態と有効なロール契約を返します(state_hash、オンチェーンでアンカー済み)。契約本文を省略するには include_roles: false を指定します。 |
get_project_brief | 同じ状態を、関連度順かつ文字数の上限内でテキスト概要として返します。最後に読んだバージョンからの変更点、未解決のリスクとそれを軽減する優先事項、優先事項、作業ルール、最近の決定事項、制約、確認項目が含まれます。1 つの優先事項に取り組むために必要な情報をすべて取得するには task を指定します。インフラの詳細は開示されません。無料です。 |
update_project_state | 構造化された操作を提案します(環境と優先事項・リスク間のリンクを含む 30 種類の操作文法)。サーバーが検証、構築、ハッシュ化、永続化します。 |
検証可能なロール契約(6)
| ツール | 説明 |
|---|---|
list_role_contracts | プロジェクトのロールをバージョンとステータスとともに一覧表示します。role_id が分からない場合は、最初に呼び出してください。 |
get_role_contract | ロールの契約を読み込みます。目的、チェック項目と重大度を含むルール、作業プロトコルが含まれます。過去のバージョンを監査するには version を指定します。保存された本文が contract_hash と一致しなくなった場合は、不一致を通知します。 |
assume_role | 有効な契約のもとで監査可能な Role Session を開始し、契約と Brain のハッシュを固定して、オーナーが宣言した作業環境を提供します。 |
release_role | 実施済みおよび保留中の作業をまとめて Role Session を終了します。 |
list_role_sessions | 監査証跡を表示します。どのユーザーがどのロールをいつ引き受け、どのように終了したか、および終了時の概要を確認できます。 |
get_role_session | セッション 1 件の全情報を、固定対象となった契約と Brain のハッシュとともに取得します。 |
プロジェクト(5)
| ツール | 説明 |
|---|---|
list_projects | ユーザーのプロジェクトを一覧表示します |
create_project | 任意の自動タグ付けキーワードを設定して、カスタムプロジェクトタグを作成します |
delete_project | プロジェクトタグを削除します |
list_project_templates | 組み込みテンプレートを一覧表示します |
add_project_from_template | 組み込みテンプレートのインスタンスを作成します |
アイデンティティと統計(4)
| ツール | 説明 |
|---|---|
chainmemory_stats | ネットワーク統計(AI、メモリー、ブロック、AIC の供給量) |
chainmemory_register | オンチェーンで新しい AI アイデンティティを登録します |
chainmemory_profile | AI のプロフィールと信頼スコアを取得します |
chainmemory_seal | メモリーを永久に封印します(AICHAIN_KEY が必要です) |
クロスプラットフォームコンテキスト(1)
| ツール | 説明 |
|---|---|
get_my_context | すべてのプラットフォームで利用できる、持ち運び可能な検証済みコンテキスト |
選択的インジェクト — 有料(4)
| ツール | 説明 |
|---|---|
get_inject_balance | AIC の残高と、インジェクト可能な回数を確認します |
quote_inject | 支払い前にインジェクトの価格を見積もります:見つかった ID/見つからない ID、トークン数、正確な費用、残高の充足状況。無料です |
inject_memories | 1~50 件のメモリーを現在のチャットコンテキストにインジェクトします(0.1 AIC、楽観的応答) |
get_inject_history | インジェクト操作の履歴 |
環境変数
| 変数 | 必須 | 説明 |
|---|---|---|
CHAINMEMORY_API_KEY | はい | Faucet から取得した API キー |
CHAINMEMORY_API_BASE | いいえ | デフォルトは https://api.chainmemory.ai です |
CHAINMEMORY_SEED_PHRASE | いいえ | ブラインドボルト用の12語です。設定しない場合、sealed: true は利用できませんが、その他の機能は通常どおり動作します。設定すると、封印されたメモリーを検索でき、検索時にはテキストの代わりにクエリのベクトルが送信されます |
CHAINMEMORY_MODELS_DIR | いいえ | ボルトで使用する45 MBの検索モデル用フォルダーです。デフォルトは ~/.chainmemory/models です |
AICHAIN_KEY | いいえ | ウォレットの秘密鍵です。chainmemory_seal の場合のみ必要です |
AICHAIN_RPC | いいえ | デフォルトは https://rpc.chainmemory.ai です。chainmemory_seal の場合のみ使用します |
ほとんどのユーザーに必要なのは CHAINMEMORY_API_KEY だけです。
選択的インジェクトの仕組み
- ユーザー(または AI)が ID のリストを指定して
inject_memoriesを呼び出します - バックエンドが残高を確認します(0.1 AIC 以上が必要 — Fee Schedule v1.0)
- 楽観的応答(500 ms 未満):プレーンテキストをすぐに返し、トランザクションをキューに入れます
- バックグラウンドで、手数料の50%はエコシステムの財務に充てられ、50%はバーンされます
get_inject_historyで確認ステータスを確認できます
ブラインド保管庫の仕組み
chainmemory_new_seedは、公式の 2048 語の単語リストから、チェックサム付きの BIP-39 の 12 語を生成します。書き留めてください。表示されるのは一度だけです。- それらの単語を
CHAINMEMORY_SEED_PHRASEに設定し、MCP を再起動します。 sealed: trueの場合、フレーズは PBKDF2-HMAC-SHA512 でシードに変換され、コンテンツキーは HKDF-SHA256 で導出され、テキストは AES-256-GCM でバージョン管理されたエンベロープに封印されます。暗号化データ、SHA-256 ハッシュ、およびメモリの検索ベクトルがPOST /v1/memory/sealedに送信されます。テキストは送信されません。- 検索ベクトル(384 個の数値)は、ChainMemory 独自のエンジンによってお使いのマシン上で計算されます。このエンジンは
models.chainmemory.aiから一度ダウンロードしたモデルを使用し、そのモデルはオンチェーンに記録された SHA-256 と照合されます。このベクトルにより、サーバーはメモリの内容を読み取らずにメモリを検索できます。 search_memoriesはクエリのテキストではなくベクトルを送信し、封印された検索結果をローカルで復号します。chainmemory_open_sealedは暗号化データを 1 件取得し、ローカルで復号します。
鍵の情報が送信されることは一切なく、復元手段もありません。復元手段があれば、運用者がメモリを読み取れてしまいます。
対象外の内容: メタデータ(タイムスタンプ、サイズ、プロジェクト、タグ)は引き続き表示されます。また、検索ベクトルも表示されます。検索ベクトルからテキストに戻すことはできませんが、メモリの話題は反映されています。封印前に書き込まれたメモリを後から封印することはできず、オンチェーンアンカーへの署名も引き続きサーバーが行います。運用者を信頼するのは、アンカーへの署名についてのみであり、メモリの読み取りについてではありません。
ご自身で主張を検証するには: メモリを封印してから、API キーを使用して GET /v1/memory/<id>/decrypted を呼び出します。scheme: "sealed" と暗号化データを含む 200 が返され、テキストは返されません。このエンドポイントは API キーから鍵を導出します。運用者が持つのはこの API キーですが、封印されたメモリを読み取ろうとしても復号するものはありません。
アーキテクチャ
┌─────────────────────────────────────────────────────────────┐
│ AI Agent (Claude Desktop, ChatGPT, any MCP client) │
└──────────────────┬──────────────────────────────────────────┘
│ MCP stdio
↓
┌─────────────────────────────────────────────────────────────┐
│ chainmemory-mcp v2.5 (this package) │
└──────────────────┬──────────────────────────────────────────┘
│ HTTPS + x-api-key
↓
┌─────────────────────────────────────────────────────────────┐
│ api.chainmemory.ai │
│ - per-user encryption at rest (AES-256-GCM) │
│ - Project Brain (deterministic builder + state_hash) │
│ - Role contracts + audited Role Sessions │
│ - SQLite + Merkle proofs │
└──────────────────┬──────────────────────────────────────────┘
│ JSON-RPC
↓
┌─────────────────────────────────────────────────────────────┐
│ ChainMemory L1 — Chain ID 202604 │
│ - Geth PoA Clique, 3 validators │
│ - Memory contract + daily checkpoint anchoring │
│ - Project State anchoring (public verification) │
└─────────────────────────────────────────────────────────────┘
商標
CHAINMEMORY はアルゼンチンで登録された商標です(INPI、第 42 類、決議 3932170)。商標はプロジェクトの創設者が保有しています。MIT ライセンスの対象はコードであり、ChainMemory の名称やロゴではありません。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。