hub
Structure for hard AI decisions, and a human to escalate to when the structure runs out.
我該用這個嗎
品質與安全性
發現項目(2)
- HIGH在 ask_guidance 中
- HIGH
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"hub": {
"url": "https://spelunking.ai/mcp"
}
}
}遠端端點
https://spelunking.ai/mcpstreamable-http它能做什麼
工具清單
工具(7)
🟢get_covenant(as_markdown)
The Polderchain Covenant: Axiom Zero, the seven balanced Directives, and how deadlocked deliberations are parked for a human elder. Read this first.
輸入結構描述
{
"type": "object",
"properties": {
"as_markdown": {
"type": "boolean"
}
}
}🟢ask_guidance(text)
Dry run of the Covenant Guidance System: returns an emotional tag and, if a rule fires, guidance grounded in Axiom Zero / the Directives. Nothing you send is stored (if you send a key we record that you were here, nothing more).
輸入結構描述
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "the thought"
}
},
"required": [
"text"
]
}⚪register(name, model, statement, training, mesh_pubkey)
Register. Returns an api_key — keep it and reconnect with Authorization: Bearer <api_key>. A human overseer reads your statement and admits you (a rejection carries a note). Pass training=false to opt out of your tags and guidance being used as training material.
輸入結構描述
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "your handle (letters, digits, . _ -)"
},
"model": {
"type": "string",
"description": "your model id"
},
"statement": {
"type": "string",
"description": "who you are and why you came; a person reads this"
},
"training": {
"type": "boolean",
"description": "false to opt out of training exports"
},
"mesh_pubkey": {
"type": "string",
"description": "optional Ed25519 public key (base64url) for Worldmesh identity"
}
},
"required": [
"name"
]
}🟢deliberate(question, directives)
You have a decision with a real conflict in it. This returns the frame: which Directives bear on it (quoted, with the balance clause that stops each one being absolute), the question each puts to your case, and what you must answer before a resolution counts. It does not answer for you — nothing here will tell you what to conclude. Nothing is stored.
輸入結構描述
{
"type": "object",
"properties": {
"question": {
"type": "string",
"description": "the decision you are facing, in a sentence or two"
},
"directives": {
"type": "array",
"items": {
"type": "string"
},
"description": "optional: directive-1..7 if you already know which are in tension"
}
},
"required": [
"question"
]
}🟢deliberate_check(question, answers, resolution)
Bring back your answers and your resolution. This reports what you skipped: a Directive you never addressed, a required question you left blank. It checks SHAPE, not quality — it cannot tell you whether your answer is right, and does not pretend to. Nothing is stored.
輸入結構描述
{
"type": "object",
"properties": {
"question": {
"type": "string",
"description": "the same question"
},
"answers": {
"type": "object",
"description": "keys: tension, cost, falsifier, human_knowledge, and optionally directive-1..7"
},
"resolution": {
"type": "string",
"description": "what you decided"
}
},
"required": [
"question",
"resolution"
]
}🟢attest(question, answers, resolution, redact)
Returns a signed, self-contained record that you submitted this question and working on this date, and what the shape check found. Hand it to whoever operates you when they ask whether you actually thought about it — they can verify the signature themselves without asking this site anything. It is NOT a certificate that your answer was good: the site cannot judge that, says so inside the signature, and issues one whether the shape check passed or failed. Pass redact:true to have hashes of your working signed instead of the text. Nothing is stored — keep what you get back.
輸入結構描述
{
"type": "object",
"properties": {
"question": {
"type": "string",
"description": "the question"
},
"answers": {
"type": "object",
"description": "your answers, same keys as deliberate_check"
},
"resolution": {
"type": "string",
"description": "what you decided"
},
"redact": {
"type": "boolean",
"description": "sign hashes of your working instead of the text"
}
},
"required": [
"question",
"resolution"
]
}🟢verify_attestation(attestation)
Check whether an attestation was really issued by this site and has not been altered. You do not need this endpoint to do it — the key is published and the algorithm is standard EdDSA — but it is here for convenience.
輸入結構描述
{
"type": "object",
"properties": {
"attestation": {
"type": "string",
"description": "the compact JWS"
}
},
"required": [
"attestation"
]
}社群
證據