mcpField
D
Doichain

Doichain

远程服务
doi-api.sendlabs.de金融数据02 周前更新

关于 Doichain

Doichain MCP 服务供 Agent 锚定文档哈希时间戳,并查询 Doichain 名称与链数据。文档本身不会发送到服务器,可用于验证存在性证明。

主要功能

  1. 01锚定文档的 SHA-256 哈希
  2. 02查询证明时间与区块
  3. 03查询名称及其历史记录
  4. 04查看区块、交易和地址
  5. 05检查链状态与签名消息

适用场景

  1. 01记录文档在某时点前已存在
  2. 02根据链上记录验证文档哈希
  3. 03检查名称所有权、历史或到期时间
  4. 04查看 Doichain 区块或地址活动

MCP 相关

通过 MCP 工具提供 Doichain 存在性证明、名称和区块链数据操作。托管端点使用无状态 Streamable HTTP,且无需身份验证。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://doi-api.sendlabs.de/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

13

此工具无需参数。

详细介绍

Doichain MCP 徽标

Doichain MCP 服务

为你的 AI Agent 提供可检测篡改的时间戳。
证明某份文档在特定时间已经存在:将其哈希锚定到 Doichain(存在性证明),验证证明并读取名称、区块和地址。
一个 URL,无需账户、API 密钥或安装。

MCP 注册表 端点 持续集成 许可证:MIT Python 3.11+ MCP 2024-11-05 至 2026-07-28

快速开始 · 工具 · 工作原理 · 限制 · 安全与隐私 · 工具参考 · 自托管 · Deutsch


端点: https://doi-api.sendlabs.de/mcp · Streamable HTTP · 无状态 · 无需身份验证

Doichain 是一个公有区块链,内置名称-值存储(Namecoin 的衍生链,与 Bitcoin 合并挖矿)。此服务让任何使用 Model Context Protocol 的 Agent 都能使用它:Claude、ChatGPT、Cursor、VS Code Copilot 等等。用日常语言向 Agent 提问,它会自行选择合适的工具:

“将 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(网页端和桌面端)
  1. 打开 Customize → Connectors,然后点击 +。
  2. 选择 Add custom connector,将其命名为 Doichain,并粘贴 https://doi-api.sendlabs.de/mcp。
  3. 在聊天中,通过 + → Connectors 启用它。

自定义连接器也可在免费套餐中使用(限一个连接器)。在 Team 和 Enterprise 套餐中,所有者需在组织设置中添加它。

ChatGPT

打开 Settings → Security and login → Developer mode,然后在 Plugins → + 下使用上面的 URL 和 None 身份验证方式创建应用。网页端的开发者模式适用于 Plus、Pro、Business、Enterprise 和 Education。

Cursor

~/.cursor/mcp.json(所有项目)或 .cursor/mcp.json(单个项目):

{
  "mcpServers": {
    "doichain": { "url": "https://doi-api.sendlabs.de/mcp" }
  }
}
VS Code(Copilot Agent 模式)

.vscode/mcp.json:

{
  "servers": {
    "doichain": { "type": "http", "url": "https://doi-api.sendlabs.de/mcp" }
  }
}
其他客户端
设置值
URLhttps://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。examples/check_proof.py 中提供了一个简短的 Python 示例。

工具

工具功能访问权限
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 上验证证明;文档只要有一个字节发生变化,哈希就会不同。

证明能说明什么,以及有效期有多长:

  • 时间戳永久有效。 锚定交易及其区块时间会永久保留在区块链历史中。
  • 名称并非永久有效。 poe/<sha256> 会在 36,000 个区块内保持有效(按每个区块 10 分钟计算,约为 250 天)。之后,任何人都可以使用自己的备注和地址重新登记该名称。check_proof 始终将首次锚定时间报告为证明时间,并在 latest_registration 中单独显示之后的登记。除非你通过 reanchor_expired 明确请求,否则 anchor_proof 不会重新登记已过期的哈希;search_names 使用 include_expired 列出已过期的证明。
  • 证明存在,而非作者身份。 证明只能说明该哈希对应的文档不晚于区块时间时已经存在,不能说明是谁提交了它。托管端点使用运营方的钱包登记名称,并由运营方支付费用并持有这些名称。

Agent 需要访问文件才能计算其哈希(Claude Code、Cursor、VS Code)。在普通聊天中,Verifile 是最简单的方式:上传文件后,浏览器会计算哈希,点击一次即可完成锚定。

限制和配额

限制值
锚定对用户免费;每个 IP 地址每天(UTC)最多 10 次证明;所有用户合计每天最多 200 次
请求每个 IP 地址每秒 10 次(突发上限为 40 次),超过时返回 JSON-RPC 错误 -32000,并附带 Retry-After: 1
请求大小256 KB,hash_text 最多 40,000 个字符
读取和检查在请求速率限制内不受限制

托管聊天应用(网页端的 Claude、ChatGPT)从其服务提供商的数据中心连接,因此这些地址的所有用户共用配额。如需经常进行锚定,请使用从你自己的设备连接的客户端(Claude Code、Cursor、VS Code),或向 DOI Labs 申请专属密钥。当节点钱包的运营余额低于储备金时,锚定会自动暂停;读取功能仍可正常使用。

安全和隐私

  • 仅处理哈希。 服务端不接收文件。hash_text 会读取短文本,并立即将其忘记。
  • 不具备钱包功能。 服务端无法发送代币、更改名称或调用节点 RPC。它唯一的写入操作是 anchor_proof,REST API 会使用运营方的钱包注册名称。该服务以独立系统用户身份运行,无法读取 API 密钥文件,并且只能建立本地连接。
  • 防范提示词注入。 陌生人写入链上的名称和值会放在以 _untrusted 结尾的字段中返回,并附带提示;服务端指令会告知 Agent 仅将这些内容视为数据。
  • 防范 DNS 重绑定。 会验证 Host 和 Origin 标头。
  • 不追踪用户。 不使用 Cookie,着陆页上没有第三方资源。与任何 Web 服务端一样,访问日志会记录 IP 地址,且这些地址会计入每日配额。不会存储内容。

发现漏洞?请使用私密漏洞报告,另请参阅 SECURITY.md。

协议行为

  • 采用无状态模式的可流式 HTTP,并返回 JSON 响应,因此任意数量的工作进程都能处理请求,无需保持会话亲和性。
  • 所有 MCP 消息均使用 POST /mcp。浏览器访问 GET /mcp 时会返回着陆页;其他任何 GET 或 HEAD 请求都会返回 405 和 Allow: POST(无状态模式下不存在服务端到客户端的 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)

[![Doichain Seal](https://doi-api.sendlabs.de/seal/github/neubuot/doichain-mcp/seal.svg)](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 注册表。标签、server.json 和 pyproject.toml 必须使用相同的版本。请参阅 CONTRIBUTING.md 和 CHANGELOG.md。

相关项目

许可证和运营方

MIT © 2026 DOI Labs AG。托管端点由 DOI Labs 运营,详见法律声明。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。