mcpbeat Sign in

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

by workers-penny-mcamp-penny-surface-contract Your server? Claim it
answering

Surface Contract: platform API behavior and x402 pre-payment checks is answering right now. Last checked 4 min ago. It exposes 7 tools.

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

Uptime history 13 days of history
13 days agonow
100.0%
Uptime 24h
91 of 91 checks
7
Tools
read from the server
476 ms
Response time
average over 24h
open, no key
Access
streamable-http

What changed 8

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 15 October 2026. No other catalogue keeps this.

15 Oct 2 tool descriptions were rewritten4 times that day contribute_discrepancy, preflight_mcp_server
15 Oct 2 tools appeared preflight_mcp_server, prepay_check
15 Oct 2 tools changed the parameters they ask for contribute_discrepancy, preflight_mcp_server
and 2 more, back to 15 October 2026

Nothing serious here today

Today is the operative word: we check Surface Contract: platform API behavior and x402 pre-payment checks every 15 minutes and re-read its code on every release. Watch it and you find out the day that stops being true.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 4 min ago.

run in your terminal
claude mcp add surface-contract --transport http https://penny-surface-contract.penny-mcamp.workers.dev/mcp
Settings → Connectors → Add custom connector, then paste this address
https://penny-surface-contract.penny-mcamp.workers.dev/mcp
~/.codex/config.toml
[mcp_servers.surface-contract]
url = "https://penny-surface-contract.penny-mcamp.workers.dev/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "surface-contract": {
      "url": "https://penny-surface-contract.penny-mcamp.workers.dev/mcp"
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "surface-contract": {
      "type": "http",
      "url": "https://penny-surface-contract.penny-mcamp.workers.dev/mcp"
    }
  }
}

Available tools 7

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

surface
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.
list_surface_contracts
List the platform surface contracts published in Penny's free registry, with claim counts.
contribute
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.
integration
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.
preflight
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.
prepay
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.
verify
verify_surface
Run the anonymous conformance checks for a contract now and return verified / failed / unknown / manual / unsupported per claim.

Endpoints

URLTransportStateLatencyChecked
https://penny-surface-contract.penny-mcamp.workers.dev/mcp streamable-http answering 424 ms 4 min ago

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

same job, measured the same way
x402 Triage MCP
by tatelyman

MCP server for no-payment x402 surface triage, 402 Index health checks, and paid review handoff.

15 installs/wk local only
Invoice Preflight
by ahmet11159

Evidence-backed UBL, PDF, and image invoice checks before approval or payment.

4 tools answering
x402 Conformance
by atsp-protocol

x402 payment safety checks: validate a 402 answer, prove a server never serves before settlement.

local only
x402 Merchant Check
by gradientdecisions

Pre-payment merchant trust checks for x402 agents on Base and Solana.

1 tools answering
ACN Preflight
by abacore-net

Preflight checks for agent repository contributions, bounty work, and Base payments.

3 tools answering
MandateShield AI Payment Evidence
by mandateshield

Analyzes delegated AI payment authority and exposes supported Stripe/x402 evidence contracts.

3 tools answering
Clawpay
by up2itnow0822

Non-custodial x402 payment MCP server for AI agents. Wallets, payments, and commerce on 17 chains.

local only
Agentpay
by up2itnow0822

Non-custodial x402 payment MCP server for AI agents. Wallets and payments on 17 chains.

448 installs/wk local only

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

Answers built from our own checks of this server.

What can Surface Contract: platform API behavior and x402 pre-payment checks do?
It exposes 7 tools, read directly from the server on our last check. Among them: contribute_discrepancy, get_integration_recipe, get_surface_contract, list_surface_contracts, preflight_mcp_server, prepay_check and 1 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
Is Surface Contract: platform API behavior and x402 pre-payment checks working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 91 of 91 checks got a reply (100.0%), average response time 476 ms. The bar chart above shows every period we have measured.
How do I connect Surface Contract: platform API behavior and x402 pre-payment checks?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Surface Contract: platform API behavior and x402 pre-payment checks need an API key?
No. Surface Contract: platform API behavior and x402 pre-payment checks completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 7 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Surface Contract: platform API behavior and x402 pre-payment checks?
It answers our handshake in 476 ms on average, which is faster than 28% of all working MCP servers we measure. The comparison comes from our own checks across the whole registry, every 15 minutes.