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"
]
}커뮤니티
증거