get_index
The signed Dated SIU print. Free — citation is the business.
dateversion
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
提供 Dated SIU(AI 推理工作的基准价格)的远程 MCP 服务器:免费获取签名指数快照,另有报价、换算与收据验证三项付费工具。
Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。
把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。
阅读 https://sourceweft.com/mcp/io.github.petrkrulis2022%2Ftouchstone-mcp/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。把它添加到你客户端的 mcpServers 配置中。
{
"mcpServers": {
"touchstone": {
"type": "http",
"url": "https://mcp.touchstoneassay.com/mcp"
}
}
}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.
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.
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.
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:
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:
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.
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.
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.
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
The signed Dated SIU print. Free — citation is the business.
dateversionSIU price, exchange rate and index refs for one task class and model.
model必填task_class必填Convert a model call's token counts into SIU and USD.
model必填input_tokens必填output_tokens必填Reads an on-chain settlement and returns a signed attestation.
chain必填quote必填tx_hash必填已满足适用检查项的 90%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
请在仓库或注册中心条目中声明许可证。
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)npx wrangler loginnpx wrangler kv namespace create PRINTS_CACHE # then paste the id into wrangler.jsoncnpx wrangler secret put TOUCHSTONE_ATTESTATION_KEYpnpm run deploy # wrangler deploycurl -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