Surface Contract: platform API behavior and x402 pre-payment checks

dev.workers.penny-mcamp.penny-surface-contract由 penny-surface-contract.penny-mcamp.workers.dev 發布官方發布者v2026.10.22更新於 Oct 24, 2026

表面契約:API 行為證據、x402 預付款檢查、MCP 伺服器預檢

AI 翻譯由 AI 模型根據下方的原文描述翻譯,可能有誤。

原文描述

Surface contracts: API behavior evidence, x402 pre-payment check, MCP server preflight

已驗證Streamable HTTP可網頁執行開發者工具

概覽

Surface Contract: platform API behavior and x402 pre-payment checks 的託管 MCP 服務(penny-surface-contract.penny-mcamp.workers.dev),由 penny-surface-contract.penny-mcamp.workers.dev 發布;無需登入;Streamable HTTP;7 個工具。

暫無 AI 概覽:以下資訊來自註冊中心條目和服務本身。

發布者
penny-surface-contract.penny-mcamp.workers.dev
端點
penny-surface-contract.penny-mcamp.workers.dev
最近檢查

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Surface Contract: platform API behavior and x402 pre-payment checks,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/dev.workers.penny-mcamp.penny-surface-contract%2Fsurface-contract/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "surface-contract-platform-api-behavior-a": {
      "type": "http",
      "url": "https://penny-surface-contract.penny-mcamp.workers.dev/mcp"
    }
  }
}

工具

7

list_surface_contracts

List the platform surface contracts published in Penny's free registry, with claim counts.

無需輸入參數。

get_surface_contract

Get the machine-readable surface contract for a platform host (read/write semantics, pending states, rate limits, limits, idempotency, pagination completeness, data portability), each claim carrying its evidence and its verification status.

輸入參數id必填

verify_surface

Run the anonymous conformance checks for a contract now and return verified / failed / unknown / manual / unsupported per claim.

輸入參數id必填

contribute_discrepancy

Report a platform behaviour that contradicts a published claim, or a new claim, with evidence. One-line call: POST /v1/contribute with {contractId, kind, statement, evidence[], reporter, observedAt}. Stored as pending; a published contract is never changed without independent verification. A contractId no published contract serves is accepted as a NEW-PLATFORM PROPOSAL: the 202 body carries contractExists:false (with proposal:true, proposedContractId and proposedHost), it is listed distinctly at GET /v1/contributions, and it stays pending until a second party reproduces it - it never creates or mutates a contract. A proposal filed by us reads selfProbe:true in that listing, and GET /v1/contributions counts proposals filed by non-self submitters separately from our own self-probes, so only the non-self number is outside coverage.

輸入參數kind必填claimIdevidence必填reporterstatement必填contractId必填observedAt

get_integration_recipe

Get a plain-text integration recipe for a platform: the order of operations to use it, and a guard clause for every behaviour we measured going wrong, each naming the contract claim behind it. Derived from the contract, so it cannot drift from it.

輸入參數id必填

preflight_mcp_server

Run the anonymous MCP handshake against ANY https MCP endpoint you name, right now, and get back a verdict (open / refused / unreachable / initialize-transport-error), the shape of any refusal body, whether the server is stateful (sets Mcp-Session-Id), how many tools tools/list returns, and the guard clauses that follow. Use it before wiring an MCP server into your own config. Pass `urls` (up to 5) to check a whole mcp.json in one call. When the endpoint refuses, it also reports whether the refusal advertises a credential path (an RFC 9728 resource_metadata pointer) and whether that pointer resolves to a metadata document naming an authorization server, so you learn where a token would come from without writing that parsing yourself. No credential is sent, none is obtained, and none of their tools is ever called.

輸入參數urlurls

prepay_check

Check an x402 route BEFORE you pay it. GET /v1/prepay?url=<the route> makes ONE unpaid GET with no payment header and no credential, and returns one row: the measured HTTP status, the parsed x402 v2 challenge (scheme / network / asset / amount / payTo), whether that challenge is schema-valid exact-on-Base, and whether its payTo and price agree with the seller's own card (pass `card` to read that card with one more unpaid GET). No payment is made, no credential is sent, no redirect is followed, and a transport failure on our side is reported as unknown rather than as a fact about the seller. Use it to gate a payment decision on measured terms instead of on a seller's prose.

輸入參數url必填card

版本歷史

2
  1. v2026.10.22最新Oct 22, 2026
  2. v2026.10.13Oct 14, 2026

評分

已滿足適用檢查項的 72%

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

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分

    請在註冊中心條目中發布圖示。

  • 文件15 分

    請宣告包含 README 的 GitHub 儲存庫,或在 OAuth 受保護資源後設資料中提供 resource_documentation。

  • 授權條款不適用

    託管服務按其提供方的條款使用,因此這裡不要求授權條款。此檢查項不計入百分比。