dokimo-mcp について
dokimo-mcpは、Dokimoの収益証拠レコードを検査するMCPサーバーです。Merkle証明をローカルで再計算し、Base上のアンカーを確認できます。
主な機能
- 01Merkle証明のローカル再計算
- 02Dokimo経由のオンチェーン確認
- 03Dokimoの公開エージェントカード取得
- 04stdioとStreamable HTTPに対応
活用シーン
- 01証明が申告されたルートに一致するか確認
- 02証拠パッケージのBase上のアンカーを検証
- 03Dokimoの公開検証機能を確認
MCP 対応
MCPクライアント向けに、証拠検査ツールを提供します。ローカルでの証明再計算と、Dokimoのエンドポイントを介したオンチェーンアンカー確認に対応し、stdioとStreamable HTTPを利用できます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://dokimo.augaster.com/mcpclaude mcp add --transport http ypratap11-dokimo https://dokimo.augaster.com/mcp{"mcpServers":{"ypratap11-dokimo":{"type":"http","url":"https://dokimo.augaster.com/mcp"}}}Cursor で開く{"servers":{"ypratap11-dokimo":{"type":"http","url":"https://dokimo.augaster.com/mcp"}}}VS Code で開く{"mcpServers":{"ypratap11-dokimo":{"type":"http","url":"https://dokimo.augaster.com/mcp"}}}{"mcpServers":{"ypratap11-dokimo":{"serverUrl":"https://dokimo.augaster.com/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
3| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| leaf | string | はい | 生のリーフ値(例:'{"k":"total_assets","v":"..."}' のような JSON 文字列)。リーフドメインで H(0x00 ‖ leaf) としてハッシュ化されます。 |
| proof_path | array | はい | 順序付き Merkle 証明パス:[sibling_hash_hex, side] のペアのリストです。sibling が左側にある場合、side は "L"、右側にある場合は "R" です。単一リーフのツリーでは空のリストです。 |
詳細
dokimo-mcp
AI エージェントに、別のエージェントの収益に関する主張を検証する機能を提供します。
MCP サーバーとして、Dokimo の 証拠チェックを、あらゆる MCP クライアント(Claude Desktop、IDE エージェント、カスタム エージェント)が呼び出せるツールとして公開します。「エージェントを監査するエージェント」を ツールとして提供します。
これらのツールの動作を確認できる、操作可能なライブ版: https://dokimo.augaster.com/agent-audits-agents.html
これは薄く、単独で動作する クライアント です。Dokimo の公開エンドポイントを呼び出し、 公開されている
dokimo-merkle-v1ハッシュ方式を実装しています。独自コードは含みません。 MIT ライセンスです。
ツール
| ツール | 機能 | ネットワーク通信 |
|---|---|---|
recompute_merkle_root(leaf, proof_path) | ローカルで再計算 — このプロセス内で、ネットワーク呼び出しを一切行わず、dokimo-merkle-v1 に基づいてリーフをハッシュし、証明パスをたどってルートを再計算します。パッケージが主張する root と自分で比較してください。オンチェーンアンカーは確認しません。 | なし |
verify_evidence_package(package) | Dokimo の公開 A2A エンドポイントを介した、1 件のレコードに対する Dokimo の検証です。再計算に加えて、アンカーされたコミットメント(ルートとルールバージョン、および v2 のクローズの場合はクローズサマリー)を Base 上のオンチェーンアンカーと照合します。両方が成立した場合にのみ verified: true を返します。判定は Dokimo の回答であり、署名されていません。これに依存しないようにするには、ローカルで再計算し、自分でアンカーを確認してください(例:/verify.html)。 | Dokimo A2A |
dokimo_agent_card() | Dokimo の公開 A2A エージェントカード(検証できる内容)を取得します。 | Dokimo |
検証モデル: verified: true となるには、(1)呼び出し元の (leaf, proof_path) を再計算した結果が、主張された root と一致し、かつ(2)(root, rule_version_commitment) のコミットメントがオンチェーンにアンカーされている必要があります。また、dokimo-anchor-v2 のクローズでは、その summary もアンカーされている必要があります。1 バイトでも改ざんすると再計算に失敗します。ルールバージョンを入れ替えるとコミットメントが変わり、アンカーされていない状態になります。summary と binding のないパッケージはレガシー v1 として検証され、v2 への切り替え前にアンカーされたクローズのみを検証します。
検証範囲について: 1 件のレコードについて、その証明がルートに到達することと、コミットメントがオンチェーンにアンカーされていることを確認します。すべてのレコードからクローズの数値を再計算することはありません(そのためには、/verify.html のように完全なパッケージが必要です)。また、ビジネス上の数値が「妥当」かどうかについては何も示しません。カストディアルではなく、公開されているオンチェーンの状態のみを読み取ります。
インストールと実行
pip install dokimo-mcp
dokimo-mcp # runs over stdio
# or, from a clone:
pip install .
python -m dokimo_mcp
MCP クライアントへの追加
Claude Desktop — claude_desktop_config.json に追加します:
{
"mcpServers": {
"dokimo": {
"command": "dokimo-mcp"
}
}
}
dokimo-mcp が PATH にない場合は、モジュール形式を使用します:
{
"mcpServers": {
"dokimo": {
"command": "python",
"args": ["-m", "dokimo_mcp"]
}
}
}
次に、エージェントに 「Dokimo を使ってこの証拠パッケージを検証して」(パッケージを貼り付けて)、 または 「この Merkle ルートを再計算して、一致するか教えて」 と依頼してください。
エージェントスキル
skills/dokimo-verify/SKILL.md では、エージェントがこれらのツールを
いつ、どのように使うかを説明しています。パッケージの形式を確認し、まずローカルで再計算し、
Dokimo に何かを送信する前に確認を求め、誇張せずに 1 件のレコードの結果を報告します。
dokimo-verify フォルダーをエージェントのスキルディレクトリ(Claude Code の場合は
~/.claude/skills/ など)に配置してください。無料で
Agensi にも掲載されています。
試してみる
ライブデモページには、実際にアンカーされた証拠パッケージが埋め込まれています。取得して検証します:
import re, json, urllib.request
import dokimo_mcp as d
html = urllib.request.urlopen(urllib.request.Request(
"https://dokimo.augaster.com/agent-audits-agents.html",
headers={"User-Agent": d._UA})).read().decode()
pkg = json.loads(re.search(r"const PKG\s*=\s*(\{.*?\})\s*;", html, re.S).group(1))
print(d.verify_evidence_package(pkg)["verified"]) # True
# tamper one unit -> False
pkg["leaf"] = pkg["leaf"].replace("1001190933933115", "1001190933933116")
print(d.verify_evidence_package(pkg)["verified"]) # False
ホスト運用/HTTP モード
デフォルトのトランスポートは stdio(ローカル利用)です。MCP_TRANSPORT=http を設定すると、
CORS に対応した /mcp での MCP Streamable HTTP を $PORT(デフォルトは 8081)で提供します。
これは Smithery などのホスティングプラットフォームが必要とする形式です。
同梱の Dockerfile と smithery.yaml(runtime: container)はこの用途向けに設定されているため、
Smithery はこのリポジトリからビルドしてホストできます。
MCP_TRANSPORT=http PORT=8081 dokimo-mcp # or: docker run -p 8081:8081 <image>
Dokimoとは?
自律型コマースのための検証可能な収益インフラです。AIエージェントによるマシン決済(x402 / AP2 / Stripe)に対応した、監査対応済みで第三者が独立して再現できる帳簿を提供します。各数値は改ざんを検知できる形でコミットされ、オンチェーンに記録されます。https://dokimo.augaster.com
ライセンス
MIT — LICENSEをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。