ListSmith

io.github.QuincyGB由 GitHub 帳號 QuincyGB 發布v0.1.2更新於 Oct 29, 2026

MCP server for ListSmith — x402 listing grades ($0.10) and repairs ($0.50) on Base

已驗證STDIO僅桌面金融開發者工具

概覽

AI 產生的概覽

ListSmith MCP 伺服器,用來對 x402 路由的 Bazaar 探索中繼資料評分與修復,每次呼叫以 Base 上的 USDC 付費。

可以做什麼
  • 對單一 x402 路由的探索中繼資料評分:可達性、x402 有效性、SDK 驗證、schema 品質、逐項缺陷與 0-100 分
  • 修復路由的探索中繼資料:回傳通過驗證的完整套件,含推斷的輸出 schema、描述、OpenAPI 與 well-known 片段
  • 把提供的真實回應樣本與端點公布的輸出 schema 比對
  • 未設定簽署者時,將解析出的付款挑戰以結構化錯誤回傳
適用情境
適合發布或維護 x402 服務時使用:讓助理診斷某條路由的 Bazaar 探索中繼資料為何未通過驗證,或依一份真實回應樣本產生通過驗證的修復套件。
執行需求
本機 Python 套件(需 Python 3.10 以上),由 MCP 主機以 stdio 啟動。付費呼叫需要錢包私鑰:AGENT_PRIVATE_KEY 或指向金鑰檔案的 AGENT_KEY_FILE,錢包須在 Base 上持有 USDC。可選 LIST_SMITH_URL、LIST_SMITH_GRADE_MAX_AMOUNT_UNITS、LIST_SMITH_FIX_MAX_AMOUNT_UNITS。需能連線 ListSmith 服務。
安裝前請注意
需要可花費 Base 上 USDC 的 EVM 私鑰(AGENT_PRIVATE_KEY 或 AGENT_KEY_FILE),建議使用只放工作資金的專用代理錢包。每次呼叫都要付費:評分 0.10 美元、修復 0.50 美元,受單次呼叫金額上限限制。付款經第三方 facilitator 結算。傳入的樣本輸出會送到遠端服務。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 ListSmith,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

list-smith-mcp

[M8ven Score]

Standalone home: This server was split out of QuincyGB/token-verdict-tools so each MCP server has its own GitHub repository for directory ingestion and maintenance. The PyPI package name (list-smith-mcp), version, and install command are unchanged.

An MCP server (stdio transport) that exposes ListSmith as native tools for any MCP host — Claude Desktop, Cursor, or your own agent runtime.

ListSmith grades and repairs the Bazaar discovery metadata of x402 services. /v1/grade ($0.10) itemizes what is broken in a route's discovery metadata — hollow schemas, failed SDK validation, over-500-char descriptions, wrong asset addresses. /v1/fix ($0.50) returns a repaired, validator-passed discovery package inferred from one real sample output. Both are paid in USDC on Base via the x402 protocol — no accounts, no API keys; the payment is the authentication.

The tools

list_grade — diagnosis only, no repaired content:

InputTypeNotes
resource_urlstring (required)Full URL of the x402 resource to grade
sample_outputany (optional)One real response body from the endpoint; when supplied, it is also checked against the endpoint's published output schema

Output: resource_url, graded_at, reachable, http_status, x402_valid, terms, extension_present, sdk_validation, schema_quality, defects (with severities), score (0–100), and fix_available.

list_fix — the repair:

InputTypeNotes
resource_urlstring (required)Full URL of the x402 resource to repair
sample_outputany (required)One real response body from the endpoint. The repaired output schema is inferred from this sample only — nothing is invented
namestring (optional)Display name for the generated description; derived from the URL when omitted
categorystring (optional)Category (e.g. token-risk, search, data, media, monitoring) used to phrase the description's use-when sentence

Output: resource_url, graded_at, ok, failure, score_before, defects, package (description, repaired Bazaar extension, OpenAPI and well-known snippets, instructions, validation results — shipped only if it passes both x402 SDK validators), and notes.

Install

bash
pip install list-smith-mcp
# Or from a checkout of this repository:pip install .

Requires Python ≥ 3.10. The server pins the MCP v1 SDK API (mcp>=1.2,<2).

Configuration

All configuration is the operator's own environment — whoever runs this server supplies their own wallet. No key material ships in this package, and the package author never sees your key.

Env varRequiredPurpose
AGENT_PRIVATE_KEYfor paid callsEVM private key (0x...) of a wallet holding USDC on Base. Used locally to sign the x402 EIP-3009 authorization.
AGENT_KEY_FILEalternativePath to a file containing that key.
LIST_SMITH_URLnoService base URL override (default: production).
LIST_SMITH_GRADE_MAX_AMOUNT_UNITSnoSpend guard for /v1/grade in USDC micro-units (default 100000 = $0.10, the known price).
LIST_SMITH_FIX_MAX_AMOUNT_UNITSnoSpend guard for /v1/fix in USDC micro-units (default 500000 = $0.50, the known price).

Each route is capped at its own price — the client refuses to sign anything above the route's guard. Without a signer configured the tools never pay. On a 402 they return the parsed challenge as a structured error — error: "payment_required" with the full accepts array (scheme, network, asset, amount, payTo) — so the calling agent can see the price and decide what to do, or settle the challenge with its own x402 client.

MCP host configuration

Claude Desktop (claude_desktop_config.json) — same shape for other stdio MCP hosts:

json
{  "mcpServers": {    "list-smith": {      "command": "list-smith-mcp",      "env": {        "AGENT_PRIVATE_KEY": "0xYOUR_OWN_WALLET_KEY"      }    }  }}

From a checkout instead of an install:

json
{  "mcpServers": {    "list-smith": {      "command": "python",      "args": ["-m", "list_smith_mcp"],      "env": {        "PYTHONPATH": "/path/to/list-smith-mcp/src",        "AGENT_KEY_FILE": "/path/to/your/agent.key"      }    }  }}

Prefer AGENT_KEY_FILE over inlining a key in a config file when your host setup allows it.

How payment works

The client mirrors the standard x402 v2 flow (the same flow used for the fleet's own live cataloging payments):

  1. POST /v1/grade or /v1/fix unpaid → HTTP 402, challenge base64-encoded in the payment-required header.
  2. Pick the exact / eip155:8453 entry from accepts.
  3. Build an EIP-3009 TransferWithAuthorization (validAfter: 0, validBefore: now + maxTimeoutSeconds, random 32-byte nonce) and sign it as EIP-712 typed data against the USDC domain the challenge advertises (extra.name / extra.version).
  4. Retry the identical POST with the payload in the PAYMENT-SIGNATURE header. The service verifies and settles through its facilitator (PayAI) server-side; the settlement receipt comes back in the payment-response header.

Tests

bash
pip install -e ".[dev]"pytest

All payments mocked (httpx MockTransport, throwaway signer generated at test time). The 402 fixtures are the real challenges captured from production; the paid-flow tests verify the EIP-712 signatures actually recover to the signer address, for both routes.

Security notes

  • Your private key is read from your environment at runtime and used only to sign payment authorizations locally. It is never transmitted — the x402 payload contains a signature, not a key.
  • The per-route spend guards cap any single call at the configured amounts (defaults: exactly the $0.10 grade and $0.50 fix prices).
  • Run this with a dedicated agent wallet holding only working funds, the same way you would fund any agent.

來源:README.md,提交 56e361f

工具

2

list_grade

Grade one x402 route's Bazaar discovery metadata. Calls ListSmith POST /v1/grade ($0.10 USDC on Base via x402). Returns SDK validation verdicts, a schema-quality score, itemized defects with severities, and a 0-100 grade. Diagnosis only — no repaired content. Use list_fix when you want the repair. Args: resource_url: Full URL of the x402 resource to grade. sample_output: Optional real response body from the endpoint; when supplied, it is also checked against the endpoint's published output schema.

輸入參數resource_url必填sample_output

list_fix

Repair one x402 route's Bazaar discovery metadata. Calls ListSmith POST /v1/fix ($0.50 USDC on Base via x402). Returns a complete repaired discovery package — a full output schema inferred from your sample, a sub-500-char description with a use-when sentence, OpenAPI and well-known snippets, and paste-in instructions. The package ships only if it passes both x402 SDK validators. Args: resource_url: Full URL of the x402 resource to repair. sample_output: One real response body from the endpoint (required). The repaired output schema is inferred from this sample only — nothing is invented. name: Optional display name for the generated description; derived from the URL when omitted. category: Optional category (e.g. token-risk, search, data, media, monitoring) used to phrase the description's use-when sentence.

輸入參數namecategoryresource_url必填sample_output必填

版本歷史

2
  1. v0.1.2最新Oct 26, 2026
  2. v0.1.1Oct 23, 2026

評分

已滿足適用檢查項的 90%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分
  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分