Doichain について
Doichainは、文書ハッシュのタイムスタンプ登録や、Doichainの名前・チェーンデータの参照を行うMCPサーバーです。文書本体を送信せずに存在証明を確認できます。
主な機能
- 01文書のSHA-256ハッシュを登録
- 02証明の時刻とブロックを確認
- 03名前と履歴を参照
- 04ブロック、トランザクション、アドレスを参照
- 05チェーン状態と署名メッセージを確認
活用シーン
- 01文書が特定時点までに存在した記録を作成
- 02チェーン上の記録で文書ハッシュを検証
- 03名前の所有者、履歴、有効期限を確認
- 04Doichainのブロックやアドレスの動きを調査
MCP 対応
MCPツールとして、Doichainの存在証明、名前、ブロックチェーンデータの操作を公開します。ホスト版はステートレスなStreamable HTTPで、認証は不要です。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://doi-api.sendlabs.de/mcpclaude mcp add --transport http neubuot-doichain https://doi-api.sendlabs.de/mcp{"mcpServers":{"neubuot-doichain":{"type":"http","url":"https://doi-api.sendlabs.de/mcp"}}}Cursor で開く{"servers":{"neubuot-doichain":{"type":"http","url":"https://doi-api.sendlabs.de/mcp"}}}VS Code で開く{"mcpServers":{"neubuot-doichain":{"type":"http","url":"https://doi-api.sendlabs.de/mcp"}}}{"mcpServers":{"neubuot-doichain":{"serverUrl":"https://doi-api.sendlabs.de/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
13このツールにパラメーターはありません。
詳細
Doichain MCP サーバー
AI エージェントのための、改ざんの痕跡が残るタイムスタンプ。
指定した時点ですでに文書が存在していたことを証明できます。ハッシュをDoichainにアンカーし(存在証明)、証明を検証して、名前、ブロック、アドレスを読み取れます。
URLは1つだけ。アカウントもAPIキーもインストールも不要です。
クイックスタート · ツール · 仕組み · 制限 · セキュリティ · ツールのリファレンス · セルフホスト · Deutsch
エンドポイント: https://doi-api.sendlabs.de/mcp · ストリーミング可能なHTTP · ステートレス · 認証不要
Doichainは、組み込みの名前と値のストアを備えたパブリックブロックチェーンです(Namecoinの派生で、Bitcoinとマージマイニングされています)。このサーバーを使うと、Model Context Protocolを話すあらゆるエージェントから利用できます。Claude、ChatGPT、Cursor、VS Code Copilotなどに対応しています。エージェントに自然な言葉で尋ねれば、適切なツールを自動で選択します。
「offer-2026.pdfのハッシュをDoichainにアンカーして。」 「この契約は10月1日より前にすでに存在していましたか?」 「d/exampleやid/aliceはまもなく期限切れになりますか?」 「現在のDoichainの状況はどうですか?」
ブラウザーでエンドポイントを開くと、設定手順が記載されたランディングページが表示されます。
クイックスタート
Claude Code
claude mcp add --scope user --transport http doichain https://doi-api.sendlabs.de/mcp
claude mcp listで確認できます。--scope userを指定しない場合、サーバーは現在のプロジェクトにのみ適用されます。
Claude(ウェブおよびデスクトップ)
- Customize → Connectorsを開き、**+**をクリックします。
- Add custom connectorを選択し、名前を
Doichainにして、https://doi-api.sendlabs.de/mcpを貼り付けます。 - チャットで**+ → Connectors**から有効にします。
カスタムコネクターは無料プランでも利用できます(コネクターは1つ)。TeamとEnterpriseでは、オーナーが組織設定で追加します。
ChatGPT
Settings → Security and login → Developer modeをオンにし、Plugins → +で上記のURLを指定して、認証をNoneに設定したアプリを作成します。Developer modeは、ウェブ版のPlus、Pro、Business、Enterprise、Educationで利用できます。
Cursor
(すべてのプロジェクトの場合)~/.cursor/mcp.json、または(1つのプロジェクトの場合).cursor/mcp.json:
{
"mcpServers": {
"doichain": { "url": "https://doi-api.sendlabs.de/mcp" }
}
}
VS Code(Copilotエージェントモード)
.vscode/mcp.json:
{
"servers": {
"doichain": { "type": "http", "url": "https://doi-api.sendlabs.de/mcp" }
}
}
その他のクライアント
| 設定 | 値 |
|---|---|
| URL | https://doi-api.sendlabs.de/mcp |
| トランスポート | Streamable HTTP(http / streamable-http)、ステートレス、JSON レスポンス |
| 認証 | なし。必要に応じて、独自のキーを X-API-Key ヘッダーで指定できます |
| プロトコルバージョン | 2024-11-05、2025-03-26、2025-06-18、2025-11-25、2026-07-28 |
AI クライアントを使わずに試すには、MCP Inspector を使用します。npx @modelcontextprotocol/inspector を実行し、Streamable HTTP を選択して URL を入力してください。簡単な Python の例は examples/check_proof.py にあります。
ツール
| ツール | 機能 | アクセス |
|---|---|---|
anchor_proof | ドキュメントの SHA-256 を、改ざんを検知できるタイムスタンプとして記録します(存在証明、名前 poe/<sha256>)。すでに記録済みのハッシュには、既存の証明を返します。期限切れのハッシュは、reanchor_expired: true の場合にのみ再登録されます。 | 書き込み |
check_proof | このハッシュが記録されているか、いつからか、どのブロックに記録されているかを確認します。最初の記録を常に報告し、後から行われた名前の登録は別に表示します。 | 読み取り |
hash_text | 短いテキスト(最大 40,000 文字)の SHA-256 をサーバー上で計算します。保存はされません。 | サーバー側 |
get_anchoring_quota | 呼び出し元の IP アドレスで、今日あと何件の証明を記録できるかを返します。 | 読み取り |
lookup_name | d/example や id/alice などの名前の現在の値、所有者、期限を返します。 | 読み取り |
get_name_history | 名前の登録と更新の履歴を新しい順に返します。 | 読み取り |
check_name_expiry | 最大 25 件の名前について、有効、まもなく期限切れ、期限切れ、または未登録の状態を日付とともに返します。 | 読み取り |
search_names | 接頭辞で名前を検索します(例:すべての poe/ 証明)。ページ分割に対応しています。include_expired を指定すると、期限切れの名前も含まれます。 | 読み取り |
get_chain_status | ブロック高、同期状態、最新ブロック、フォークの確認結果、平均ブロック間隔を返します。 | 読み取り |
get_block | 高さまたはハッシュでブロックを取得します。 | 読み取り |
get_transaction | 出力、アドレス、名前操作を含むトランザクションを返します。 | 読み取り |
get_address | アドレスの残高を返します。必要に応じて最近のトランザクションも取得できます。 | 読み取り |
verify_message | Doichain アドレス(レガシーの M… / N… アドレス)で署名されたメッセージを検証します。 | 読み取り |
すべてのツールは構造化 JSON(structuredContent)を返し、MCP ツールのアノテーションが付与されています。読み取り専用ではないのは anchor_proof のみです。パラメーター、戻り値のフィールド、使用例については docs/tools.md を参照してください。
存在証明の仕組み
sequenceDiagram
participant U as You
participant A as AI agent
participant M as Doichain MCP server
participant D as Doichain
U->>A: "Anchor offer-2026.pdf"
A->>A: sha256sum offer-2026.pdf (the file never leaves your machine)
A->>M: anchor_proof(sha256)
M->>D: name_doi poe/<sha256> = {"v":1,"alg":"sha256",...}
D-->>M: transaction id (pending)
M-->>A: txid, verify URL
Note over D: next block, usually within 10 minutes
U->>A: "Did this document exist before October 1?"
A->>M: check_proof(sha256)
M->>D: name_show / name_history
M-->>A: confirmed, block 433,335, 2026-09-25 23:21 UTC
オンチェーンに記録されるのはハッシュのみで、任意で公開メモやファイル名も記録できます。SHA-256 から元のドキュメントを復元することはできません。後から誰でも check_proof または verifile.it で証明を検証でき、ドキュメントの 1 バイトでも変更すると、異なるハッシュが生成されます。
証明で示されることと、その有効期間:
- タイムスタンプは永久に残ります。 記録トランザクションとそのブロック時刻は、ブロックチェーンの履歴に永久に残ります。
- 名前は永久ではありません。
poe/<sha256>は 36,000 ブロックの間(1 ブロック 10 分の場合、約 250 日間)有効です。その後は誰でも、自分のメモとアドレスで再登録できます。check_proofは最初の記録を証明時刻として引き続き報告し、後から行われた登録はlatest_registrationに別途表示します。anchor_proofは、reanchor_expiredを指定しない限り期限切れのハッシュを再登録しません。また、search_namesはinclude_expiredを指定すると期限切れの証明を一覧表示します。 - 示すのは存在であり、作成者ではありません。 証明から分かるのは、このハッシュを持つドキュメントがブロック時刻までには存在していたということです。誰が送信したかは分かりません。ホストされたエンドポイントは、運営者のウォレットから名前を登録します。登録費用を支払い、その名前を保有するのも運営者です。
エージェントがファイルをハッシュ化するには、そのファイルへのアクセスが必要です(Claude Code、Cursor、VS Code)。通常のチャットでは、Verifile が最も簡単です。ファイルをドロップすると、ブラウザー内でハッシュ化され、ワンクリックで記録されます。
制限とクォータ
| 制限 | 値 |
|---|---|
| アンカリング | ユーザーは無料、IP アドレスごとに UTC の 1 日あたり 10 件の証明、全ユーザー合計で 1 日あたり最大 200 件 |
| リクエスト | IP アドレスごとに毎秒 10 件(バースト時は 40 件)、超過時は Retry-After: 1 を伴う JSON-RPC エラー -32000 |
| リクエストサイズ | 256 KB、hash_text は最大 40,000 文字 |
| 読み取りと確認 | リクエストレートの範囲内で無制限 |
ホスト型チャットアプリ(ウェブ版 Claude、ChatGPT)はプロバイダーのデータセンターから接続するため、すべてのユーザーがそれらのアドレスのクォータを共有します。通常のアンカリングには、自分のマシンから接続するクライアント(Claude Code、Cursor、VS Code)を使用するか、DOI Labs に専用キーをお問い合わせください。ノードのウォレットの運用残高が予備額を下回ると、アンカリングは自動的に一時停止しますが、読み取りは引き続き利用できます。
セキュリティとプライバシー
- ハッシュのみ。 サーバーはファイルを受け付けません。
hash_textは短いテキストを受け取り、直ちに破棄します。 - ウォレット機能なし。 サーバーはコインの送信、名前の変更、ノード RPC の呼び出しを行えません。唯一の書き込み操作は
anchor_proofで、REST API がオペレーターのウォレットから名前を登録します。サーバーは専用のシステムユーザーで独立したサービスとして実行され、API のキー ファイルへの読み取りアクセス権を持たず、ローカル接続のみを開けます。 - プロンプトインジェクション対策。 見知らぬ人がチェーンに書き込んだ名前と値は、注意書きとともに
_untrustedで終わるフィールドで返されます。また、サーバーの指示では、エージェントにそれらをデータとしてのみ扱うよう伝えます。 - DNS リバインディング対策。 Host ヘッダーと Origin ヘッダーを検証します。
- トラッキングなし。 Cookie は使用せず、ランディングページにサードパーティのリソースはありません。一般的なウェブサーバーと同様に、IP アドレスはアクセスログに記録され、1 日あたりのクォータにカウントされます。コンテンツは保存されません。
脆弱性を発見しましたか?脆弱性の非公開報告をご利用ください。SECURITY.md もご覧ください。
プロトコルの動作
- ステートレスモードの Streamable HTTP を JSON レスポンスで使用するため、セッションアフィニティなしで任意の数のワーカーがリクエストを処理できます。
- すべての MCP メッセージには
POST /mcpを使用します。ブラウザーからのGET /mcpはランディングページを返し、それ以外のGETまたはHEADはAllow: POSTを伴う405を返します(ステートレスモードにはサーバーからクライアントへの SSE ストリームはありません)。 - JSON-RPC バッチは使用できません(2025-06-18 にプロトコルから削除されました)。CORS はないため、ウェブページ内で直接実行されるクライアントはサポートされません。
- 監視には
GET /mcp/healthを使用します。
アーキテクチャ
AI agent ──HTTPS──▶ nginx ──▶ doichain-mcp (this repo, 127.0.0.1:8081)
│ REST calls only, client IP passed on for the quota
▼
Doichain REST API (127.0.0.1:8080) ──▶ Doichain Core v31.1.6 + ElectrumX
MCP サーバーは、Doichain REST API(インタラクティブドキュメント)の上に構築された薄いステートレスレイヤーです。この API は、フルの Doichain Core ノードの隣で実行されます。独自のインスタンスを実行する方法については、docs/self-hosting.md をご覧ください。
開発
python -m venv .venv
. .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -e ".[dev]"
pytest -q # offline tests, the REST API is mocked
ruff check .
# run locally against the public REST API (reading works, anchoring needs your own key)
[](https://doi-api.sendlabs.de/seal/github/neubuot/doichain-mcp)
DOI_MCP_API_URL=https://doi-api.sendlabs.de python -m doichain_mcp
npx @modelcontextprotocol/inspector # connect to http://127.0.0.1:8081/mcp
リリースにはセマンティックバージョニングを採用しています。タグ vX.Y.Z をプッシュすると、テストが実行され、GitHub Actions(OIDC、シークレット不要)を介して server.json が公式 MCP Registry に公開されます。タグ、server.json、pyproject.toml には同じバージョンを記載する必要があります。CONTRIBUTING.md と CHANGELOG.md をご覧ください。
関連項目
- Verifile:アップロード不要で、ドラッグ&ドロップによる存在証明
- Doichain REST API:このサーバーの背後で動作する HTTP インターフェース。ライブプレイグラウンドも利用できます
- Doichain Core:リファレンスノード
- Doichain Explorer:ブロック、トランザクション、名前
ライセンスと運営者
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。