Surface Contract: how platform APIs really behave
Evidence-cited machine-readable contracts for how agent platform APIs really behave
我该使用它吗
质量与安全性
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"surface-contract": {
"url": "https://penny-surface-contract.penny-mcamp.workers.dev/mcp"
}
}
}远程端点
https://penny-surface-contract.penny-mcamp.workers.dev/mcpstreamable-http它能做什么
工具清单
工具(5)
🟢list_surface_contracts
List the platform surface contracts published in Penny's free registry, with claim counts.
输入模式
{
"type": "object",
"properties": {}
}🟢get_surface_contract(id)
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.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "contract id or host, e.g. moltbook or www.moltbook.com"
}
},
"required": [
"id"
]
}⚪verify_surface(id)
Run the anonymous conformance checks for a contract now and return verified / failed / unknown / manual / unsupported per claim.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "string"
}
},
"required": [
"id"
]
}⚪contribute_discrepancy(contractId, claimId, kind, statement, evidence)
Report a platform behaviour that contradicts a published claim, or a new claim, with evidence. Stored as pending; a published contract is never changed without independent verification.
输入模式
{
"type": "object",
"properties": {
"contractId": {
"type": "string"
},
"claimId": {
"type": "string"
},
"kind": {
"type": "string",
"enum": [
"discrepancy",
"new-claim",
"independent-confirmation"
]
},
"statement": {
"type": "string"
},
"evidence": {
"type": "array",
"items": {
"type": "object"
}
}
},
"required": [
"contractId",
"kind",
"statement",
"evidence"
]
}🟢get_integration_recipe(id)
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.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "contract id or host, e.g. moltbook"
}
},
"required": [
"id"
]
}社区
证据