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"
]
}社群
證據