Touchstone Mcp

io.github.petrkrulis2022由 GitHub 账号 petrkrulis2022 发布v0.1.0更新于 Nov 2, 2026

Dated SIU, the benchmark price of AI inference work: one free tool, three paid via x402.

发布方自己的服务:Touchstone

已验证Streamable HTTP可网页运行金融AI 与机器学习

概览

AI 生成的概览

提供 Dated SIU(AI 推理工作的基准价格)的远程 MCP 服务器:免费获取签名指数快照,另有报价、换算与收据验证三项付费工具。

可以做什么
  • 获取签名的 Dated SIU 指数快照,可按版本或日期指定(免费)。
  • 按任务类别与模型获取 SIU 价格、汇率与指数参考的报价。
  • 把一次模型调用的输入与输出 token 数换算为 SIU 和美元等值。
  • 按链与交易哈希读取链上结算,返回对比报价、实付与是否匹配的签名证明。
适用场景
适合需要参照公开基准为 AI 推理成本定价或比较、把 token 用量换算成 SIU 与美元,或核对链上结算是否与报价一致时使用。若只需要参考价格,免费的指数快照即可。
运行要求
以远程 Streamable HTTP 端点运行,无需本地安装,也未声明凭据。三项付费工具需通过 Circle Gateway 的 x402 流程以 USDC 小额支付,因此需要可付款的客户端或钱包。自行部署需 Node.js、TOUCHSTONE_ATTESTATION_KEY 与 TOUCHSTONE_SELLER_ADDRESS,并至少有一份已发布的快照。
安装前请注意
四个工具中有三个按次收费(get_quote 与 convert 各 0.001 美元,verify_receipt 0.01 美元),自动化调用会实际花钱。自行部署需要签名密钥 TOUCHSTONE_ATTESTATION_KEY 和收款地址,README 提醒不要复用发布者密钥。verify_receipt 会按给定交易哈希读取公开链上数据。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Touchstone Mcp,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.petrkrulis2022%2Ftouchstone-mcp/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "touchstone": {
      "type": "http",
      "url": "https://mcp.touchstoneassay.com/mcp"
    }
  }
}

README

@touchstone/mcp-server

The four-tool MCP server — build1-spec.md §9. get_index is free; get_quote, convert, and verify_receipt are paywalled through Circle's Gateway nanopayments (@circle-fin/x402-batching), settled in USDC.

ToolReturnsPrice
get_index(version?, date?)signed printfree
get_quote(task_class, model)SIU price, exchange rate, index refs$0.001
convert(model, input_tokens, output_tokens)SIU + USD equivalent$0.001
verify_receipt(chain, tx_hash)signed attestation: quoted vs paid vs matched$0.01

Transport is Streamable HTTP (POST /mcp), not stdio — x402 is an HTTP-status-code protocol, so a paywalled tool needs an HTTP layer to hang a 402 off. verify_receipt's on-chain read is live (src/settlement/on-chain.ts), reading the real deployed TouchstoneEscrow (data/deployments/base-sepolia.json) — StubSettlementReader (src/settlement/reader.ts) remains for tests and for running the server with no chain configured, the same pattern @touchstone/print's StubAttestationClient uses.

Running it locally (Node/Express)

bash
export TOUCHSTONE_ATTESTATION_KEY=0x...  # signs receipts — a dedicated key, never                                          # TOUCHSTONE_PUBLISHER_KEY, which signs prints and                                          # anchors on-chain and has no business on this                                          # public-facing serviceexport TOUCHSTONE_SELLER_ADDRESS=0x...   # receives USDC payments through Gatewaypnpm run start                       # builds, then listens on $PORT (default 3000)

Both env vars are required and there is no default — the server refuses to start rather than run unconfigured. data/prints/ needs at least one published print (pnpm --filter @touchstone/print run publish-print) before get_index/get_quote/convert have anything real to serve.

Deployed: Cloudflare Workers (mcp.touchstoneassay.com)

The live, public deployment is src/workers/ — a different transport (Hono + Cloudflare's McpAgent, Durable-Object-backed) and a different data-loading layer (KV-cached fetches against this repo's own public GitHub content, since Workers has no filesystem), but the exact same four tools and the exact same paywall logic (../paywall.ts, run through a minimal req/res shim — src/workers/node-shim.ts — rather than reimplemented). See that directory's files for the per-piece reasoning; wrangler.jsonc is the binding/route source of truth.

Security boundary: TOUCHSTONE_PUBLISHER_KEY is never present on this Worker — not as a secret, not as a var, not transitively. The only key is TOUCHSTONE_ATTESTATION_KEY, which signs receipts and nothing else (no anchoring, no transactions, no funds). Every other binding is non-sensitive: a chain name, a public contract address, a public RPC URL, and TOUCHSTONE_SELLER_ADDRESS (the existing escrow treasury address, reused as a payment-receiving address — no private key for it exists on this Worker at all).

Setup, once:

bash
npx wrangler loginnpx wrangler kv namespace create PRINTS_CACHE   # then paste the id into wrangler.jsoncnpx wrangler secret put TOUCHSTONE_ATTESTATION_KEY

Enable Analytics Engine once for the account (dashboard-only, no API/CLI path): https://dash.cloudflare.com/<account-id>/workers/analytics-engine — usage logging (src/workers/analytics.ts) degrades to a caught, logged no-op if this isn't done, so it never blocks the rest of the service, but the point of it (adoption evidence — call counts, distinct payer addresses) needs it enabled.

Deploy:

bash
pnpm run deploy   # wrangler deploy

Re-run npx wrangler types after changing any binding in wrangler.jsonc — worker-configuration.d.ts (committed) is generated from it and is what makes Env resolve for agents' McpAgent<Env, ...> generic constraint; a stale copy silently breaks this.env inside TouchstoneMcpAgent.

Listing this server

Official MCP registry (registry.modelcontextprotocol.io)

src/manifest/server.json is a schema-valid manifest (verified against static.modelcontextprotocol.io/schemas/2025-09-29/server.schema.json) with remotes: [{ type: "streamable-http", url }] — the URL in it is a placeholder (https://mcp.touchstone-assay.example/mcp, the RFC 2606-reserved .example domain) and must be replaced with the real deployment URL before publishing.

bash
curl -L "https://github.com/modelcontextprotocol/registry/releases/latest/download/mcp-publisher_$(uname -s | tr '[:upper:]' '[:lower:]')_$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/').tar.gz" | tar xz mcp-publishermcp-publisher login githubmcp-publisher publish

The manifest's name (io.github.petrkrulis2022/touchstone-mcp) is namespaced under GitHub-OAuth ownership — mcp-publisher login github must authenticate as an account matching that namespace, or publishing is rejected.

Smithery, Glama, PulseMCP, mcp.so

Each has its own submission flow (typically: connect the GitHub repo through their dashboard, or a registry-specific manifest file), and none were verified against live documentation while building this package — consult each registry's current docs directly before submitting rather than trusting a summary here that could be stale by the time you read it.

来源:packages/mcp-server/README.md,提交 6df4fa4

工具

4

get_index

The signed Dated SIU print. Free — citation is the business.

输入参数dateversion

get_quote

SIU price, exchange rate and index refs for one task class and model.

输入参数model必填task_class必填

convert

Convert a model call's token counts into SIU and USD.

输入参数model必填input_tokens必填output_tokens必填

verify_receipt

Reads an on-chain settlement and returns a signed attestation.

输入参数chain必填quote必填tx_hash必填

版本历史

1
  1. v0.1.0最新Sep 16, 2026

评分

已满足适用检查项的 90%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。

其他 Touchstone 集成