DarkMatter について
DarkMatterは、AIエージェントの判断や操作を改ざん検知可能なContext Passport記録として残します。ローカルでの検証や証明バンドルの出力を必要とするチームや監査担当者向けで、検証リンクの公開も選べます。
主な機能
- 01AIエージェントの判断と操作を記録
- 02記録チェーンの検証と再生
- 03持ち運べる証明バンドルの出力
- 04既定で記録をローカル保存
- 05APIキーによる記録の公開
活用シーン
- 01エージェント判断の監査記録を保持
- 02記録チェーンの改ざんを確認
- 03監査担当者に証明バンドルを共有
MCP 対応
MCPサーバーは、MCPクライアントに記録、検証、再生、エクスポート、セッション一覧のツールを提供します。エージェントの判断は、記録ツールを明示的に呼び出した場合にのみ保存されます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @darkmatterhub/mcp-serverDARKMATTER_API_KEYシークレットOptional. Publishes each record to DarkMatter and returns a verification URL. Without it, records stay on local disk and verify offline.DARKMATTER_SHAREOptional. Set to 'true' to make published records readable by anyone holding the link. Off by default.DARKMATTER_API_URLOptional. Override the API host. Defaults to https://darkmatterhub.ai.DARKMATTER_MCP_STORE_DIROptional. Directory for local record storage.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
5掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| role | string | いいえ | 任意。意味上の役割(researcher、writer、reviewer など)。 |
| input | any | いいえ | エージェントが受け取った内容(文字列またはオブジェクト)。 |
| model | string | いいえ | 任意。モデル名。 |
| memory | object | いいえ | 任意。永続状態/ツールの結果。 |
| output | any | いいえ | エージェントが生成した内容(文字列またはオブジェクト)。 |
| agent_id | string | いいえ | 任意。呼び出し元エージェントの識別子。 |
| provider | string | いいえ | 任意。LLM プロバイダー(anthropic、openai、mistral など)。 |
| trace_id | string | いいえ | 任意。コミットを同じパイプライン実行にまとめます。 |
| variables | object | いいえ | 任意。後続エージェント用の名前付き値。 |
| agent_name | string | いいえ | 任意。人間が読めるエージェント名。 |
| event_type | string | いいえ | 任意。次のいずれか:commit、fork、checkpoint、spawn、retry、timeout、error、override、consent、escalate、redact、audit。デフォルトは 'commit' です。 |
| session_id | string | いいえ | 任意。passport を同じチェーンにまとめます。デフォルトは 'default' です。 |
詳細
DarkMatter MCP サーバー
AI エージェントの判断やアクションについて、Context Passport の記録を出力する汎用 MCP サーバーです。MCP 対応クライアント(Claude Code、Cursor、Cline、Continue、ChatGPT Desktop、Zed、Goose など)に追加すると、検証可能で改ざんの痕跡が明らかな記録を作成するための commit / verify / replay / export ツールセットをエージェントに提供できます。
DarkMatter が開発しました。Context Passport v2.0 を実装しており、オープンな CC0 標準に準拠しています。このサーバーが出力する記録には RFC 8785(JCS)正規化が使用され、Python と TypeScript のリファレンス SDK 間でバイト単位まで一致します。
インストール
MCP クライアントの設定(claude_desktop_config.json、Cursor の mcp.json など)に次を追加します。
{
"mcpServers": {
"darkmatter": {
"command": "npx",
"args": ["-y", "@darkmatterhub/mcp-server"]
}
}
}
クライアントを再起動します。エージェントで次の 5 つのツールを利用できるようになります。
darkmatter_commit— エージェントの判断またはアクションを記録しますdarkmatter_verify— チェーンが改ざんされていないことを確認しますdarkmatter_replay— チェーン全体を順番にたどりますdarkmatter_export— 持ち運び可能な証明バンドルを作成しますdarkmatter_list_sessions— ローカルに存在するセッションを確認します
バンドルだけで内容を理解できます
darkmatter_export は、初めて見る人でも扱えるバンドルを作成します。記録に加えて、フォーマット名、仕様へのリンク、エクスポート時点でチェーンに問題がなかったかどうか、Python または TypeScript で検証するための正確なコマンド、そして検証に失敗した場合の表示内容も含まれます。
これは、バンドルがあなたのマシンを離れる成果物だからです。バンドルはこのフォーマットを聞いたことのない監査人、規制当局、または取引相手に渡され、送信者を信頼せずに検証できることが、その主張のすべてです。方法が記載されていないバンドルは、相手に信頼を求めていることになります。
デフォルトではローカルに保存し、必要に応じて公開
設定がない場合、サーバーはすべての記録をご利用のディスクに保存します。darkmatter_verify を使えばオフラインでチェーンを検証できるため、アカウントなしで一連の仕組みを評価できます。
API キーを設定すると、記録を公開して、他の人が確認できるリンクを取得できます。
| 変数 | 効果 |
|---|---|
DARKMATTER_API_KEY | 各記録を DarkMatter に公開し、verify_url を返します。darkmatterhub.ai で取得してください。 |
DARKMATTER_SHARE | true に設定すると、公開された記録をリンクを知っている人なら誰でも閲覧できるようになります。デフォルトでは無効です。求められていないのに記録を公開することは避けるためです。 |
DARKMATTER_API_URL | API ホストを上書きします。デフォルトは https://darkmatterhub.ai です。 |
DARKMATTER_MCP_STORE_DIR | ローカル記録の保存先です。 |
commit は storage フィールドで、どちらの方法が使われたかを報告します。公開に失敗しても記録はローカルにコミットされ、エラーは記録とともに返されます。そのため、ネットワークの問題で記録が失われることはありません。
0.3.0 で変更されました。 以前のバージョンでは、ネットワーク呼び出しを一切行わずに、すべてのコミットに対して
https://darkmatterhub.ai/r/{id}リンクを返していたため、リンクは常に 404 になっていました。検証 URL が返されるのは、公開済みの記録が存在する場合に限られるようになりました。
記録される内容
エージェント(またはユーザー)が darkmatter_commit を通じて明示的に呼び出した内容です。明示的な呼び出しなしにすべてのツール呼び出しを自動記録する機能は別のコンポーネントです(下記の自動記録を参照してください)。
エージェントの動作例:
User: Approve the refund for order #1247 and record the decision.
Agent: Calls refund_order(1247).
Agent: Calls darkmatter_commit({
input: "Approve refund for order #1247",
output: "Approved. $84.00 refunded to original payment method.",
role: "compliance",
event_type: "commit"
})
Result: { ok: true, passport: {...}, storage: "local", verify_url: null,
note: "Saved locally and verifiable offline..." }
パスポートには署名が付与され(キーが設定されている場合)、セッション内の直前のコミットとハッシュチェーンで結ばれ、ローカルの ~/.darkmatter/mcp/<session_id>/chain.jsonl に保存されます。
ストレージ
デフォルト:ローカルのみ。パスポートがマシンの外に出ることはありません。
~/.darkmatter/mcp/
├── default/
│ ├── chain.jsonl # append-only stream of all commits
│ └── latest.json # most recent passport (used as parent for the next)
└── <other-session-id>/
└── ...
ローカルストレージに加えて、各パスポートを DarkMatter の受信サーバーに転送するには、次を設定します。
export DARKMATTER_API_KEY="dm_sk_..."
転送はベストエフォートで行われ、エージェントのツール呼び出しを妨げることはありません。ローカルストレージが引き続き信頼できる唯一の情報源です。
自動キャプチャ
MCP サーバーがキャプチャするのは、エージェントが明示的に呼び出した内容だけです。特定の開発ツールで、エージェントが darkmatter_commit の呼び出しを忘れても、すべてのツール呼び出しとターンの境界を自動キャプチャするには、開発ツールに対応したアダプターをインストールしてください。
- darkmatter-hub/claude-code — Claude Code(Anthropic)向けの自動キャプチャ
- Cursor アダプター — 開発予定
- OpenAI Codex アダプター — 開発予定
- Aider アダプター — コミュニティによる実装を歓迎します
各アダプターは、対応する開発ツールのイベントライフサイクルにフックし、この MCP サーバーの darkmatter_commit ツールを通じてイベントを送信します。正規のエンドポイントは1つ、キャプチャの入口は複数です。
検証
記録は有効な Context Passport v2.0 アーティファクトです。準拠する実装であれば、どれでも検証できます。
pip install context-passport context-passport-conformance
context-passport-conformance --level signed # 9/9 vectors, no --vectors-dir needed
準拠パッケージにはベクトルが wheel 内に同梱されているため、公開されているリファレンススイートに対して1行でチェックできます。
または、オフラインのリファレンス検証ツールを JSONL ファイルに直接使用できます。
import json
from context_passport import verify_chain
with open("~/.darkmatter/mcp/default/chain.jsonl") as f:
chain = [json.loads(line) for line in f]
print(verify_chain(chain)) # True if intact, False if tampered
MCP を採用する理由
MCP(Model Context Protocol)は、AI ツールの共通相互運用レイヤーになりつつあります。このサーバーを一度実装すれば、クライアントごとの統合コードを書かなくても、MCP 互換クライアントすべてで動作します。アーキテクチャのより広い背景については、Context Passport for MCP の提案をご覧ください。
ライセンス
Apache-2.0 です。LICENSE をご覧ください。
このサーバーが実装する Context Passport スキーマは、github.com/contextpassport/spec で CC0 1.0 の下、別途公開されています。
関連リポジトリ
- github.com/contextpassport/spec — オープンスタンダード
- github.com/contextpassport/python — Python リファレンス SDK
- github.com/contextpassport/typescript — TypeScript リファレンス SDK
- github.com/darkmatter-hub/claude-code — Claude Code 向けの自動キャプチャ
- github.com/darkmatter-hub/darkmatter — DarkMatter 受信サーバー
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。