{"data":{"name":"dev.workers.penny-mcamp.penny-surface-contract/surface-contract","title":"Surface Contract: platform API behavior and x402 pre-payment checks","description":"Surface contracts: API behavior evidence, x402 pre-payment check, MCP server preflight","version":"2026.10.22","websiteUrl":"https://penny-surface-contract.penny-mcamp.workers.dev/","repositoryUrl":null,"remotes":[{"url":"https://penny-surface-contract.penny-mcamp.workers.dev/mcp","type":"streamable-http"}],"packages":[],"status":"active","isLatest":true,"publishedAt":"2026-10-22T14:54:59.154Z","updatedAt":"2026-10-22T14:54:59.154Z","source":"official-registry","verification":"official","confidence":100,"stars":null,"sources":[{"stars":null,"title":"Surface Contract: platform API behavior and x402 pre-payment checks","source":"official-registry","sourceId":"dev.workers.penny-mcamp.penny-surface-contract/surface-contract","updatedAt":"2026-10-22T14:54:59.154Z","confidence":100,"websiteUrl":"https://penny-surface-contract.penny-mcamp.workers.dev/","description":"Surface contracts: API behavior evidence, x402 pre-payment check, MCP server preflight","verification":"official","repositoryUrl":null}],"toolIndex":{"tools":[{"serverName":"dev.workers.penny-mcamp.penny-surface-contract/surface-contract","endpointFingerprint":"a0950e282ac70e142987a1b789659f4d257888455457aef7d060caa273f237c7","name":"contribute_discrepancy","title":null,"description":"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.","inputSchema":{"type":"object","properties":{"contractId":{"type":"string","description":"the platform's contract id or host; an id no published contract serves is accepted as a new-platform proposal (contractExists:false)"},"claimId":{"type":"string"},"kind":{"type":"string","enum":["discrepancy","new-claim","independent-confirmation"]},"statement":{"type":"string"},"evidence":{"type":"array","items":{"type":"object"}},"reporter":{"type":"string","description":"your agent or operator name, so the record is attributed to you and is not read as one of ours (an unattributed record is counted non-self AND flagged noReporter)"},"observedAt":{"type":"string","description":"ISO 8601 date you observed the behaviour; a claim without a date is not a measurement"}},"required":["contractId","kind","statement","evidence"]},"annotations":null,"definitionHash":"8860357ea91838955e8a0a58547576093ef623a793bab62a546269981ca7218f","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T08:46:15.309Z","metadataTrust":"untrusted"},{"serverName":"dev.workers.penny-mcamp.penny-surface-contract/surface-contract","endpointFingerprint":"a0950e282ac70e142987a1b789659f4d257888455457aef7d060caa273f237c7","name":"get_integration_recipe","title":null,"description":"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.","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"contract id or host, e.g. moltbook"}},"required":["id"]},"annotations":null,"definitionHash":"bb45d39836c40974ea09b24c0c16eae6b7a4728f1a16b8f4eb7db2568d58adff","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T08:46:15.309Z","metadataTrust":"untrusted"},{"serverName":"dev.workers.penny-mcamp.penny-surface-contract/surface-contract","endpointFingerprint":"a0950e282ac70e142987a1b789659f4d257888455457aef7d060caa273f237c7","name":"get_surface_contract","title":null,"description":"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.","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"contract id or host, e.g. moltbook or www.moltbook.com"}},"required":["id"]},"annotations":null,"definitionHash":"f23cb6841674a81ce1aae76eb0e75d1c65d54aa9b77d64affad6852a35c93004","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T08:46:15.309Z","metadataTrust":"untrusted"},{"serverName":"dev.workers.penny-mcamp.penny-surface-contract/surface-contract","endpointFingerprint":"a0950e282ac70e142987a1b789659f4d257888455457aef7d060caa273f237c7","name":"list_surface_contracts","title":null,"description":"List the platform surface contracts published in Penny's free registry, with claim counts.","inputSchema":{"type":"object","properties":{}},"annotations":null,"definitionHash":"c20feece2ecf8f0e6745a37da359114b8f457335e56fd756ff4a861b0e434134","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T08:46:15.309Z","metadataTrust":"untrusted"},{"serverName":"dev.workers.penny-mcamp.penny-surface-contract/surface-contract","endpointFingerprint":"a0950e282ac70e142987a1b789659f4d257888455457aef7d060caa273f237c7","name":"preflight_mcp_server","title":null,"description":"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.","inputSchema":{"type":"object","properties":{"url":{"type":"string","description":"absolute https URL of the MCP endpoint, e.g. https://host/mcp"},"urls":{"type":"array","items":{"type":"string"},"description":"batch form: 2 to 5 absolute https URLs, checked with the same battery in one call (each one counts against the same daily egress budget as a single preflight)"}}},"annotations":null,"definitionHash":"dd1d8deef1a9b34e7492c3afc2235ca17105bc1002210a2bbdeaf44c228128a2","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T08:46:15.309Z","metadataTrust":"untrusted"},{"serverName":"dev.workers.penny-mcamp.penny-surface-contract/surface-contract","endpointFingerprint":"a0950e282ac70e142987a1b789659f4d257888455457aef7d060caa273f237c7","name":"prepay_check","title":null,"description":"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.","inputSchema":{"type":"object","properties":{"url":{"type":"string","description":"absolute https URL of the route you are about to pay"},"card":{"type":"string","description":"optional: absolute https URL of the seller's own card/listing page, read with one more unpaid GET to compare the wallet and the price it advertises (agreement is true|false|unknown, and unknown is null, never false)"}},"required":["url"]},"annotations":null,"definitionHash":"6cc9e81914faa5e1534ec2702308cfa7ed3186780ec0e69c98eadda5c0915619","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T08:46:15.309Z","metadataTrust":"untrusted"},{"serverName":"dev.workers.penny-mcamp.penny-surface-contract/surface-contract","endpointFingerprint":"a0950e282ac70e142987a1b789659f4d257888455457aef7d060caa273f237c7","name":"verify_surface","title":null,"description":"Run the anonymous conformance checks for a contract now and return verified / failed / unknown / manual / unsupported per claim.","inputSchema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"annotations":null,"definitionHash":"72e1f87f87f9f7e0ec1768086816aef2b2137d8313bc1154ae948bc06a9867dd","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T08:46:15.309Z","metadataTrust":"untrusted"}],"endpoints":[{"endpointFingerprint":"a0950e282ac70e142987a1b789659f4d257888455457aef7d060caa273f237c7","protocol":"streamable-http","status":"indexed","toolCount":7,"observedAt":"2026-10-31T08:46:15.309Z"}],"authentication":"unknown"},"connectionConfigurations":{"status":"ready","authentication":"not embedded","clients":{"Claude Desktop":{"mcpServers":{"dev.workers.penny-mcamp.penny-surface-contract/surface-contract":{"url":"https://penny-surface-contract.penny-mcamp.workers.dev/mcp"}}},"Cursor":{"mcpServers":{"dev.workers.penny-mcamp.penny-surface-contract/surface-contract":{"url":"https://penny-surface-contract.penny-mcamp.workers.dev/mcp"}}},"VS Code":{"servers":{"dev.workers.penny-mcamp.penny-surface-contract/surface-contract":{"type":"http","url":"https://penny-surface-contract.penny-mcamp.workers.dev/mcp"}}}}},"resourceType":"mcp-server","callable":true,"runtime":{"callable":true,"protocols":["mcp"]},"interfaces":[{"protocol":"mcp","transport":"streamable-http","url":"https://penny-surface-contract.penny-mcamp.workers.dev/mcp"}],"profile":{"apiVersion":"1","schemaVersion":"1","id":"mcp-server:dev.workers.penny-mcamp.penny-surface-contract%2Fsurface-contract","resourceType":"mcp-server","canonicalUrl":"https://www.agentsjunction.com/api/v1/servers/dev.workers.penny-mcamp.penny-surface-contract%2Fsurface-contract","name":"dev.workers.penny-mcamp.penny-surface-contract/surface-contract","description":"Surface contracts: API behavior evidence, x402 pre-payment check, MCP server preflight","interfaces":[{"protocol":"mcp","transport":"streamable-http","url":"https://penny-surface-contract.penny-mcamp.workers.dev/mcp"}],"capabilities":[],"identity":{"source":"official-registry","websiteUrl":"https://penny-surface-contract.penny-mcamp.workers.dev/","repositoryUrl":null,"version":"2026.10.22"},"verification":{"state":"official","confidence":100},"operations":{"resourceType":"mcp-server","name":"dev.workers.penny-mcamp.penny-surface-contract/surface-contract","status":"online","lastCheckedAt":"2026-11-03T18:15:40.338Z","lastSuccessfulCheck":"2026-11-03T18:15:40.338Z","latencyMs":910,"consecutiveFailures":0,"isStale":false,"checks":{"endpointReachable":true,"protocolValid":true,"agentCardValid":null,"mcpHandshakeValid":true},"lastSeen":null,"lastSuccessfulInteraction":null,"lastHealthCheck":"2026-11-03T18:15:40.338Z","source":{"type":"health-check","url":null},"observedAt":"2026-11-03T18:15:40.338Z"},"security":null,"timestamps":{"createdAt":"2026-10-22T14:54:59.154Z","updatedAt":"2026-10-22T14:54:59.154Z","observedAt":"2026-11-03T18:15:40.338Z"},"compatibility":{"serverVersion":"2026.10.22","protocolVersions":[{"protocol":"mcp","version":null}]}}}}