mcpField
A
assay

assay

ローカル
github.com/JasonCZMeng開発ツール012 週間前に更新

assay について

Assayはx402サービスに有料プローブを行い、決済、応答スキーマ、データの正確性、サービスの品質を評価します。機械決済APIを選ぶエージェントや開発者向けで、決済レシートとBitcoinにアンカーされた証拠に基づいてスコアを公開します。

主な機能

  1. 01定期的な有料サービスプローブ
  2. 02決済、スキーマ、データ品質の評価
  3. 03サービスのティアとランキング公開
  4. 04プローブ記録のBitcoinへのアンカー
  5. 05低評価サービスへのエージェント決済を防止

活用シーン

  1. 01支払い前のサービス確認
  2. 02ランキングによるx402サービス比較
  3. 03低評価サービスへのエージェント決済の防止

MCP 対応

リポジトリにはassay-oracle-mcpが含まれ、MCPクライアントにcheck_service、get_score、top_servicesを公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"jasonczmeng-assay": {
"command": "npx",
"args": [
"-y",
"assay-oracle-mcp"
],
"env": {
"ASSAY_URL": "<ASSAY_URL>",
"ASSAY_WALLET_KEY": "<ASSAY_WALLET_KEY>"
}
}
}
}
起動コマンドnpx -y assay-oracle-mcp
設定が必要な環境変数
ASSAY_URLAssay instance to query (default: https://assay.nominal-labs.com)
ASSAY_WALLET_KEYシークレットOptional Base wallet private key; when set, get_score auto-purchases full reports ($0.005, hard-capped 0.01 USDC/call)

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmassay-oracle-mcp0.2.0

ツール

4

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
urlstringはいx402 サービスのリソース URL

詳細

Assay

x402エージェント経済圏の品質オラクル — x402は、マシンがステーブルコインによる少額決済でHTTP APIを利用できるようにするオープンプロトコルです。 Assayは実際にUSDCを支払ってマシン決済可能なサービスを調査し、実際に返された内容を検証して、その品質スコアを販売します。各評価はオンチェーンの支払いレシートと、Bitcoinにアンカーされた証拠の記録によって裏付けられています。

公開中: assay.nominal-labs.com · ランキング · エージェントガイド(SKILL.md)

問題

エージェントはx402を介して、他のマシンからAPIレスポンスを購入し始めています。これは、Base(CoinbaseのEthereum L2)上でUSDCにより決済されるHTTP 402の支払い要求で、アカウントも請求書も必要ありません。Coinbase x402 Bazaarのようなディスカバリーカタログでは、すでに数万ものサービスが掲載されています。しかし、ウォレットを持つエージェントには、実際にサービスを提供するのがどれかを知る方法がありません。支払いが決済されるか、レスポンスが提示されたスキーマと一致するか、データがそもそも正しいかが分からないのです。既存の信頼性指標が評価するのは、稼働状況、応答時間、支払いのテレメトリーといった稼働性です。サービスに支払い、実際に返される内容を検証するものはありません。実際に支払って確かめることだけが本当のテストです。だからこそAssayは、エージェントにその手間をかけさせないよう、独自の資金を使って定期的に検証します。

スコアの仕組み

Assayは1日に数回、時間をランダムに選び、実際に支払いを行って、厳選したx402サービスを検証します。各検証は、次の4つの独立した項目でスコアリングされます。

項目重み評価する内容
決済40%支払いが決済され、レスポンスが返ってきたか(トランザクションハッシュを記録)
スキーマ30%レスポンスが、サービスの提示する出力スキーマと一致しているか
グラウンドトゥルース20%データが独立した参照ソースと一致しているか
LLM判定10%レスポンスが、サービスの販売内容を実際に提供しているか

重みは、サービスのデータがある項目について再正規化されます。サービスの総合スコア(0~100)は、直近30日間の検証結果に基づいて算出され、複数日にわたる20回以上の検証がある場合にのみ公開されます。証拠が不十分な状態でスコアが出ることはありません。ランクは、goldが85以上、okが60以上、それ以外はavoidです。

履歴を密かに書き換えられない理由

スコアの信頼性は、その根拠となる証拠の信頼性に左右されるため、検証データは追記専用で、公開アンカーされています。

  • 検証データの各行(決済結果、レスポンスハッシュ、支払い額、トランザクションハッシュ)は日ごとのマークルツリーのリーフとなり、安全のための待機期間を経て、OpenTimestamps(OTS)を通じてそのルートがBitcoinにアンカーされます。
  • 日ごとのマークルルートとOTS証明は、/api/digestsで公開されています。
  • 記録済みの履歴に影響するもの(マイグレーション、再アンカーなど)はすべて、docs/CORPUS-LOG.mdで公開記録されます。

蓄積されるデータが重要なのです。誰でもコードをコピーできますが、証拠の日付を遡らせることはできません。アンカーによって、各日の記録がいつ存在していたかが証明されます。

Assay の使用

HTTP — オラクル自体は、https://assay.nominal-labs.com にある x402 サービスです。 有料エンドポイントは HTTP 402 の支払いチャレンジを返し、任意の x402 クライアントが自動的に支払いを完了します。

エンドポイント価格返される内容
GET /score/{url-encoded service URL}$0.005 USDC (Base)総合スコア、コンポーネント別内訳、推移、プローブ数
GET /tier/{url-encoded service URL}無料gold / ok / avoid / unrated の判定
GET /leaderboard無料スコアを算出した全サービスのランキング
GET /api/digests無料日次の Merkle ルートと OTS 証明

MCP サーバー(Model Context Protocol — AI アシスタントが外部ツールを呼び出す方法)— npm と公式 MCP レジストリで公開されている assay-oracle-mcp です。 Claude Code の場合:

claude mcp add assay -- npx -y assay-oracle-mcp

支出ガード — assay-x402-guard はエージェントによる支払いを伴う fetch をラップし、avoid と評価されたサービスへの送金が行われる前にエラーをスローします:

import { wrapFetchWithAssay } from "assay-x402-guard";
// payFetch = your x402-paying fetch (e.g. wrapFetchWithPayment from @x402/fetch)
const safeFetch = wrapFetchWithAssay(payFetch);

詳しくは、SUMMARY.md(概要と理由)および docs/specs/(設計)をご覧ください。

開発(任意の OS)

  1. cp .env.example .env を実行し、値を設定します(すべての変数については例に記載されています)。
    • PROBE_WALLET_KEY:新しく用意した専用ウォレット。Base メインネットで USDC を ≤ $50 保有してください(ETH は不要です。x402 の「exact」は EIP-3009 署名を使用してファシリテーター経由で決済されます)
    • ANTHROPIC_API_KEY:LLM 判定役
  2. npm install && npm test を実行します(テスト一式にネットワーク接続やウォレットは不要です)。
  3. npx tsx scripts/verify-env.mts — 事前チェックを実行します。設定に問題があると明確なエラーを出します。
  4. npm run dev — :3402 でサーバーを起動します(デフォルトでは localhost にバインド)。加えて、カタログの取り込み(6 時間ごと)、プローブの一括実行(4 時間ごとに :15 から開始し、ジッターあり)、日次ダイジェストのアンカリングも実行します。
  5. プローブ対象のサービスを選定します:
    • npm run curate -- list
    • テンプレート JSON を作成し(docs/templates/ を参照)、npm run curate -- add <serviceUrl> <template.json> を実行します。
  6. 運用ダッシュボード: http://127.0.0.1:3402/dashboard(一時停止/再開、プローブの即時実行、停止/復元)

支払い処理は意図的に厳格にしています。支払いごとの上限、実際に決済された金額を合計する日次予算、解析できない支払い要件に対するフェイルクローズのガードを備えており、すべて注入したフェイクを使って単体テスト済みです。

新規デプロイではコーパスが空の状態から始まる点に注意してください。スコアの精度は、基盤となるプローブ履歴に左右されます。

本番環境へのデプロイ

assay.nominal-labs.com の参照インスタンスの運用方法です(ご自身の環境に合わせて調整してください)。 main にコミットし、git bundle として VPS に転送してから、git reset --hard と systemctl restart assay で適用します(プロビジョニングと更新手順についてはdeploy/README.mdを参照してください)。data/assay.db の SQLite ファイルが製品そのものです。決して作り直さないでください。VPS では /etc/cron.daily/assay-backup により、毎日オンボックスのスナップショットが保持されます。

支払いを有効にするには、PAYMENTS_ENABLED=true と RECEIVE_WALLET_ADDRESS を設定し、 Coinbase Developer Platform (CDP) の API キー(CDP_API_KEY_ID/CDP_API_KEY_SECRET)を用意します。両方が設定されると、サーバーは Base メインネット用の CDP ファシリテーターを自動選択します。

構成

  • src/ — システム全体:サーバーと API、プローバー、スコアリング、ダイジェスト、取り込み、ページ
  • mcp/ — assay-oracle-mcp:MCP サーバー(check_service、get_score、top_services)
  • middleware/ — assay-x402-guard:エージェント向けの支出ガード wrapFetchWithAssay
  • tests/ — vitest。支払い処理のロジックは、注入したフェイクを使って単体テスト済み
  • scripts/ — 事前チェック、ウォレットのローテーション、スモークテスト。start-assay.* は以前の自宅 PC へのデプロイ時に使用していたレガシーランチャーで、systemd に置き換えられています
  • deploy/ — Caddyfile、systemd ユニット、プロビジョニング手順
  • docs/ — CORPUS-LOG.md(公開インテグリティログ)、仕様、テンプレート

ライセンス

MIT — npm パッケージ(mcp/ と middleware/)を含むリポジトリ全体が対象です。コードは自由に再利用できますが、エビデンスコーパスとその Bitcoin にアンカーされた履歴は、新たにデプロイしてもコピーできません。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。