mcpField
D
DarkMatter

DarkMatter

ローカル
darkmatterhub.aiセキュリティ05 週間前に更新

DarkMatter について

DarkMatterは、AIエージェントの判断や操作を改ざん検知可能なContext Passport記録として残します。ローカルでの検証や証明バンドルの出力を必要とするチームや監査担当者向けで、検証リンクの公開も選べます。

主な機能

  1. 01AIエージェントの判断と操作を記録
  2. 02記録チェーンの検証と再生
  3. 03持ち運べる証明バンドルの出力
  4. 04既定で記録をローカル保存
  5. 05APIキーによる記録の公開

活用シーン

  1. 01エージェント判断の監査記録を保持
  2. 02記録チェーンの改ざんを確認
  3. 03監査担当者に証明バンドルを共有

MCP 対応

MCPサーバーは、MCPクライアントに記録、検証、再生、エクスポート、セッション一覧のツールを提供します。エージェントの判断は、記録ツールを明示的に呼び出した場合にのみ保存されます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"darkmatter-hub": {
"command": "npx",
"args": [
"-y",
"@darkmatterhub/mcp-server"
],
"env": {
"DARKMATTER_API_KEY": "<DARKMATTER_API_KEY>",
"DARKMATTER_SHARE": "<DARKMATTER_SHARE>",
"DARKMATTER_API_URL": "<DARKMATTER_API_URL>",
"DARKMATTER_MCP_STORE_DIR": "<DARKMATTER_MCP_STORE_DIR>"
}
}
}
}
起動コマンドnpx -y @darkmatterhub/mcp-server
設定が必要な環境変数
DARKMATTER_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 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@darkmatterhub/mcp-server0.3.1

ツール

5

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

パラメーター型必須説明
rolestringいいえ任意。意味上の役割(researcher、writer、reviewer など)。
inputanyいいえエージェントが受け取った内容(文字列またはオブジェクト)。
modelstringいいえ任意。モデル名。
memoryobjectいいえ任意。永続状態/ツールの結果。
outputanyいいえエージェントが生成した内容(文字列またはオブジェクト)。
agent_idstringいいえ任意。呼び出し元エージェントの識別子。
providerstringいいえ任意。LLM プロバイダー(anthropic、openai、mistral など)。
trace_idstringいいえ任意。コミットを同じパイプライン実行にまとめます。
variablesobjectいいえ任意。後続エージェント用の名前付き値。
agent_namestringいいえ任意。人間が読めるエージェント名。
event_typestringいいえ任意。次のいずれか:commit、fork、checkpoint、spawn、retry、timeout、error、override、consent、escalate、redact、audit。デフォルトは 'commit' です。
session_idstringいいえ任意。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_SHAREtrue に設定すると、公開された記録をリンクを知っている人なら誰でも閲覧できるようになります。デフォルトでは無効です。求められていないのに記録を公開することは避けるためです。
DARKMATTER_API_URLAPI ホストを上書きします。デフォルトは 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 の下、別途公開されています。

関連リポジトリ

コメント

MCP は初めてですか?

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

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