Surface Contract: how platform APIs really behave
Evidence-cited machine-readable contracts for how agent platform APIs really behave
使うべきか
品質と安全性
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `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"
]
}コミュニティ
エビデンス