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 整合