touchstone-mcp について
touchstone-mcpは、AI推論作業のベンチマーク価格であるDated SIUの照会や、支払いレシートの検証に使うMCPツールを提供します。インデックス照会は無料で、見積もり、換算、レシート検証にはUSDCのマイクロペイメントが必要です。
主な機能
- 01署名済みインデックスの取得
- 02SIU価格と為替レートの照会
- 03トークン数をSIUとUSDに換算
- 04レシートで見積額と支払額を検証
- 05有料ツールにUSDCマイクロペイメント
活用シーン
- 01指定日のインデックス照会
- 02タスク区分とモデルに基づく推論価格の算出
- 03入出力トークン数からの費用見積もり
- 04支払いが見積もりと一致するかの確認
MCP 対応
Streamable HTTP経由で、無料のインデックス照会とx402マイクロペイメントが必要な3つのツールを公開します。設定時、レシート検証はオンチェーンの決済データを読み取ります。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.touchstoneassay.com/mcpclaude mcp add --transport http petrkrulis2022-touchstone https://mcp.touchstoneassay.com/mcp{"mcpServers":{"petrkrulis2022-touchstone":{"type":"http","url":"https://mcp.touchstoneassay.com/mcp"}}}Cursor で開く{"servers":{"petrkrulis2022-touchstone":{"type":"http","url":"https://mcp.touchstoneassay.com/mcp"}}}VS Code で開く{"mcpServers":{"petrkrulis2022-touchstone":{"type":"http","url":"https://mcp.touchstoneassay.com/mcp"}}}{"mcpServers":{"petrkrulis2022-touchstone":{"serverUrl":"https://mcp.touchstoneassay.com/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
4| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| date | string | いいえ | |
| version | string | いいえ |
詳細
@touchstone/mcp-server
4 つのツールを備えた MCP サーバー — build1-spec.md §9。get_index は無料です。get_quote、convert、verify_receipt は、Circle の Gateway ナノペイメント(@circle-fin/x402-batching)を通じて有料となり、USDC で決済されます。
| ツール | 戻り値 | 価格 |
|---|---|---|
get_index(version?, date?) | 署名済みの印刷物 | 無料 |
get_quote(task_class, model) | SIU 価格、為替レート、インデックス参照 | $0.001 |
convert(model, input_tokens, output_tokens) | SIU と USD 換算額 | $0.001 |
verify_receipt(chain, tx_hash) | 署名済み証明:見積額と支払額、および照合結果 | $0.01 |
トランスポートは Streamable HTTP(POST /mcp)で、stdio ではありません。x402 は HTTP ステータスコードを使うプロトコルなので、有料ツールには 402 を返すための HTTP レイヤーが必要です。verify_receipt のオンチェーン読み取りはライブで動作し(src/settlement/on-chain.ts)、実際にデプロイされた TouchstoneEscrow(data/deployments/base-sepolia.json)を読み取ります。StubSettlementReader(src/settlement/reader.ts)はテスト用、およびチェーンを設定せずにサーバーを実行する場合に引き続き使用します。これは @touchstone/print が使用する StubAttestationClient と同じパターンです。
ローカルでの実行(Node/Express)
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 service
export TOUCHSTONE_SELLER_ADDRESS=0x... # receives USDC payments through Gateway
pnpm run start # builds, then listens on $PORT (default 3000)
両方の環境変数が必須で、デフォルト値はありません。サーバーは未設定のまま実行するのではなく、起動を拒否します。get_index/get_quote/convert が実データを提供するには、data/prints/ に少なくとも 1 つの公開済み印刷物が必要です(pnpm --filter @touchstone/print run publish-print)。
デプロイ先:Cloudflare Workers(mcp.touchstoneassay.com)
公開中のデプロイは src/workers/ にあります。トランスポート(Hono + Cloudflare の McpAgent、Durable Object によるバックエンド)とデータ読み込みレイヤー(Workers にはファイルシステムがないため、このリポジトリの公開 GitHub コンテンツから KV キャッシュ経由で取得)が異なりますが、4 つのツールとペイウォールのロジック(../paywall.ts)は完全に同じです。ロジックは再実装せず、最小限の req/res シム(src/workers/node-shim.ts)を通して実行されます。各要素の設計意図については、そのディレクトリ内のファイルを参照してください。wrangler.jsonc がバインディングとルートの信頼できる情報源です。
セキュリティ境界: TOUCHSTONE_PUBLISHER_KEY がこの Worker に存在することはありません。シークレットとしても、変数としても、間接的にも存在しません。キーは TOUCHSTONE_ATTESTATION_KEY だけで、レシートへの署名以外には使われません(アンカリング、トランザクション、資金には一切使用されません)。その他のバインディングはすべて機密情報ではありません。チェーン名、公開コントラクトアドレス、公開 RPC URL、および TOUCHSTONE_SELLER_ADDRESS(既存のエスクロー用トレジャリーアドレスを、支払いの受け取り先として再利用します。この Worker 上にこのアドレスの秘密鍵は存在しません)です。
初回のみのセットアップ:
npx wrangler login
npx wrangler kv namespace create PRINTS_CACHE # then paste the id into wrangler.jsonc
npx wrangler secret put TOUCHSTONE_ATTESTATION_KEY
アカウントの Analytics Engine を一度だけ有効にしてください(ダッシュボードでのみ設定可能で、API/CLI 経由の方法はありません):https://dash.cloudflare.com/<account-id>/workers/analytics-engine — 使用状況のログ記録(src/workers/analytics.ts)は、有効化されていない場合、エラーを捕捉してログに記録するだけの処理にフォールバックするため、サービスのほかの部分を妨げることはありません。ただし、その目的である導入状況の証拠(呼び出し回数、異なる支払者のアドレス)を得るには、有効化が必要です。
デプロイ:
pnpm run deploy # wrangler deploy
wrangler.jsonc のバインディングを変更した後は、npx wrangler types を再実行してください。コミット済みの worker-configuration.d.ts はこのファイルから生成され、agents の McpAgent<Env, ...> ジェネリック制約で Env を解決するために使われます。古いファイルのままだと、TouchstoneMcpAgent 内の this.env が警告なく機能しなくなります。
このサーバーを掲載する
公式 MCP レジストリ(registry.modelcontextprotocol.io)
src/manifest/server.json は、remotes: [{ type: "streamable-http", url }] を含むスキーマに準拠したマニフェストです(
static.modelcontextprotocol.io/schemas/2025-09-29/server.schema.json に照らして検証済みです)。ただし、記載されている URL はプレースホルダーです(RFC 2606 で予約されている .example ドメインの https://mcp.touchstone-assay.example/mcp)。公開する前に、実際のデプロイ URL に置き換える必要があります。
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-publisher
mcp-publisher login github
mcp-publisher publish
マニフェストの name(io.github.petrkrulis2022/touchstone-mcp)は、GitHub-OAuth の所有権の下に名前空間が設定されています。公開が拒否されないように、mcp-publisher login github では、その名前空間と一致するアカウントで認証する必要があります。
Smithery、Glama、PulseMCP、mcp.so
それぞれに独自の申請手順があります(通常は、ダッシュボードから GitHub リポジトリを接続するか、レジストリ固有のマニフェストファイルを使用します)。このパッケージの作成時には、いずれも最新のドキュメントに照らした確認を行っていません。ここに記載された概要は、読む時点では古くなっている可能性があるため、そのまま信頼せず、申請前に各レジストリの最新のドキュメントを直接確認してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。