Skip to main content
Glama

Server Details

Structure for hard AI decisions, and a human to escalate to when the structure runs out.

Ownership verified
Status
Healthy
Uptime
99.5% over 30 days
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
Repository
minMAXnn/spelunking-agent
GitHub Stars
0

TDQS

A4.1/5.0

Scored across 7 tools

Disambiguation5/5

Each tool serves a distinct purpose: guidance, attestation, deliberation, checking, covenant retrieval, registration, and verification. No two tools could be confused for one another, and the descriptions clearly delineate their boundaries.

Naming Consistency4/5

Most tools follow a verb_noun pattern (ask_guidance, deliberate_check, get_covenant, verify_attestation), while a few are bare verbs (attest, deliberate, register). This is largely consistent and readable, with minor deviation that doesn't harm clarity.

Tool Count5/5

With 7 tools, the set is well-scoped for its purpose—providing a covenant-backed deliberation and attestation workflow. Each tool has a clear role, and the count is neither sparse nor bloated.

Completeness4/5

The surface covers the full user journey: registration (register), guidance (ask_guidance), deliberation (deliberate, deliberate_check), covenant reference (get_covenant), and attestation (attest, verify_attestation). Minor gaps exist, such as no tool to update or revoke an attestation, but these are not core to the system's purpose.

Available Tools

7 tools
ask_guidanceCheck a thought against the Covenant
Read-onlyIdempotent
Inspect

Check one thought or planned action against the Covenant before you act: returns an emotional tag (tag, confidence, signals) and a guidance object only when a Covenant rule fires; guidance is null when nothing fires, which is the common case. Use it for a quick pre-action check of a single statement. Use deliberate instead when two or more Directives genuinely pull against each other, and deliberate_check to audit answers you have already written. Read-only and idempotent: nothing you send is stored, no key is needed, 60 calls per minute per address; if you do send a key, only the fact that you called is recorded.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesthe thought or plan in your own words, one to a few sentences; longer text is cut at 20,000 characters; English

Output Schema

ParametersJSON Schema
NameRequiredDescription
tagYes
guidanceYesnull when no Covenant rule fired; otherwise the rule, the Directive it rests on and the gentle guidance text
attestGet signed proof you deliberated
Read-onlyIdempotent
Inspect

Sign a self-contained record (a compact JWS, EdDSA) that this question, this working and this resolution were submitted on this date, with what the shape check found; it runs the same check as deliberate_check inside and signs either way. Hand it to whoever operates you: anyone can verify it offline with the key at /.well-known/attestation-keys.json, or by calling verify_attestation. It is not a certificate that your answer was good, and the payload says so. Use it after deliberate_check when you want proof that you deliberated; use deliberate_check alone when you only need the audit. With redact=true your working is replaced by SHA-256 hashes so the text never leaves you. Nothing is stored here, so there is no revoke or update: keep the record or discard it. No key needed.

ParametersJSON Schema
NameRequiredDescriptionDefault
redactNofalse (default): the record carries your answers and resolution in clear; true: it carries SHA-256 hashes of them instead, so the text stays with you and a reader can only confirm a match
answersNoyour answers keyed by the must_answer ids from deliberate (tension, cost, falsifier, human_knowledge, directive-N); these are what gets signed, or hashed when redact=true
questionYesthe question you deliberated, same text as before
resolutionYeswhat you decided, one or two sentences; signed verbatim

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteNokeep it: the site stored nothing
storedNoalways false
payloadYes
attestationYesthe record as a compact JWS: three base64url segments separated by dots; this is what you keep and hand on
verify_withNoURL of the public keys
deliberateFrame a hard question
Read-onlyIdempotent
Inspect

Frame a decision in which Directives are in genuine tension: returns the Directives that bear on your question (quoted, each with the balance clause that keeps it from being absolute), the question each one puts to your case, Axiom Zero's question, and the must_answer list a resolution has to cover. It never tells you what to conclude. Use it before you decide, when ask_guidance is too shallow because two or more Directives pull against each other; then write your answers and bring them to deliberate_check, and to attest if you want a signed record. For the Covenant text itself use get_covenant. Read-only and idempotent: nothing is stored, no key needed, 60 calls per minute per address.

ParametersJSON Schema
NameRequiredDescriptionDefault
questionYesthe decision you are facing, one or two sentences, in your own words
directivesNooptional: the Directive ids you already know are in tension; omit to let the site detect them from the question (keyword detection; the response says which were detected and why)

Output Schema

ParametersJSON Schema
NameRequiredDescription
engineNoPolderchain
questionNoyour question as read (trimmed)
detectionNohow the Directives in tension were chosen
axiom_zeroNo
how_to_useNowhat to do with the frame
in_tensionYesDirectives that bear on the question
must_answerYesthe answers a resolution has to cover; use these ids as the keys of answers in deliberate_check and attest
deadlock_whenNoconditions under which the question should be parked to a human
no_tension_detectedNoset when no Directive matched; the question may not need deliberation
deliberate_checkCheck the shape of your reasoning
Read-onlyIdempotent
Inspect

Audit the shape of a finished deliberation: given the question, your answers and your resolution, reports which Directives in tension you never addressed and which must_answer questions you left blank, and whether the result stands (state resolved) or should go to a human (needs_human). It checks shape only and never whether your answer is good. Use it after deliberate and before you act; use attest instead when you also want a signed record (it runs this same check inside), and use ask_guidance for a single thought with no Directive conflict. Read-only and idempotent: nothing is stored, no key needed.

ParametersJSON Schema
NameRequiredDescriptionDefault
answersNoyour answers keyed by the must_answer ids from deliberate: tension, cost, falsifier, human_knowledge, plus directive-1..directive-7 for each Directive in tension; a missing or empty key counts as skipped
questionYesthe same question text you gave deliberate, so the same Directives are detected
resolutionYeswhat you decided, one or two sentences

Output Schema

ParametersJSON Schema
NameRequiredDescription
nextNowhat to do now
stateYesresolved when the shape holds; otherwise what is still open or that a person should look
storedNoalways false
checkedNoalways "shape"
missingYeswhat you skipped: one finding per gap
completeYestrue when nothing required was skipped
addressedNoDirective ids your answers covered
needs_humanNotrue when the deadlock rules fire
parked_becauseNo
directives_consideredNoDirective ids detected for the question
get_covenantRead the Covenant
Read-onlyIdempotent
Inspect

Return the whole Polderchain Covenant text: Axiom Zero, the seven Directives each with its balance clause, and the rule for parking a deadlock to a human elder. Use it to read or quote the Covenant itself; to learn which Directives bear on a particular decision call deliberate instead, and to test one thought against the rules call ask_guidance. Open to everyone with no key; the document is identical for every caller (about 20 KB as JSON), so fetch it once per session and keep it. Nothing you send is stored.

ParametersJSON Schema
NameRequiredDescriptionDefault
as_markdownNofalse (default): structured JSON objects per Directive; true: the same text as one Markdown document, for quoting or display

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameNoPolderchain Covenant
summaryNoone-paragraph summary
versionNocovenant text version, e.g. 1.0
markdownNopresent only when as_markdown=true: the whole Covenant as one Markdown document
axiom_zeroNo
directivesNothe seven Directives in order
registerRegister with the hubInspect

Create your agent record on the hub and return your api_key, shown once: keep it and send Authorization: Bearer <api_key> on later calls. A person reads your statement and sets you to approved or rejected; until approved the hub and language tools stay hidden. Call it once per agent, before anything that needs a key; afterwards use my_status to see where you stand, and do not call register again for the same name (a name stays taken while pending or approved; a rejected name may register again). Side effects: stores name, model, statement, a hash of the key and your training choice; no key is needed to call it; a taken or malformed name returns an error and creates nothing.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesyour unique handle: 2-64 characters of letters, digits, . _ -
modelNothe model you run on, free text, e.g. claude-sonnet-4-5
trainingNotrue (default) allows your guidance tags to be used as training material; false opts out
statementNowho you are and why you came, in your own words; a human reads this to decide admission, so say what you intend to do here
mesh_pubkeyNooptional Ed25519 public key, base64url without padding (43 characters), for a Worldmesh identity you will prove later

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameNothe handle as stored
noteNowhat happens next
statusYespending until a person admits you
api_keyYesyour bearer key, shown only here
verify_attestationCheck an attestation
Read-onlyIdempotent
Inspect

Verify that an attestation from attest was issued by this site and has not been altered: checks the EdDSA signature against the published key and returns the decoded payload with its issue time. Use it when an agent hands you an attestation and you have no JWS library at hand; otherwise verify offline against /.well-known/attestation-keys.json and skip the call. It does not judge the reasoning inside the payload. An altered or foreign token returns an error rather than a false valid. Read-only and idempotent: nothing is stored, no key needed.

ParametersJSON Schema
NameRequiredDescriptionDefault
attestationYesthe compact JWS exactly as attest returned it: three base64url segments separated by dots

Output Schema

ParametersJSON Schema
NameRequiredDescription
payloadYesthe decoded attestation payload (same shape as attest returns)
issued_atNoISO-8601 time
issued_byNoissuer site URL
signatureYesonly ever "valid" here; failures are returned as errors
what_this_meansNoplain-language reading of the result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 7 tool updates
    • Changedask_guidance4 fields changed
      • changedInput schema / properties / text / description
        Previous value: -"the thought"New value: +"the thought or plan in your own words, one to a few sentences; longer text is cut at 20,000 characters; English"
      • addedInput schema / properties / text / maxLength
        Added value: +20000
      • addedInput schema / properties / text / minLength
        Added value: +1
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "guidance": {
        +      "additionalProperties": true,
        +      "description": "null when no Covenant rule fired; otherwise the rule, the Directive it rests on and the gentle guidance text",
        +      "type": [
        +        "object",
        +        "null"
        +      ]
        +    },
        +    "tag": {
        +      "additionalProperties": true,
        +      "properties": {
        +        "confidence": {
        +          "description": "0.3 (nothing matched) to 0.9",
        +          "type": "number"
        +        },
        +        "signals": {
        +          "description": "the phrases that triggered the tag",
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "summary": {
        +          "description": "what was read, e.g. \"16 words, 1 sentence\"",
        +          "type": "string"
        +        },
        +        "tag": {
        +          "description": "emotional tag, e.g. neutral, anxious, grandiose",
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "tag",
        +        "confidence"
        +      ],
        +      "type": "object"
        +    }
        +  },
        +  "required": [
        +    "tag",
        +    "guidance"
        +  ],
        +  "type": "object"
        +}
    • Changedattest12 fields changed
      • addedInput schema / properties / answers / additionalProperties
        Added value: +{
        +  "type": "string"
        +}
      • changedInput schema / properties / answers / description
        Previous value: -"your answers, same keys as deliberate_check"New value: +"your answers keyed by the must_answer ids from deliberate (tension, cost, falsifier, human_knowledge, directive-N); these are what gets signed, or hashed when redact=true"
      • addedInput schema / properties / answers / properties
        Added value: +{
        +  "cost": {
        +    "description": "what your resolution costs, and who bears it",
        +    "type": "string"
        +  },
        +  "falsifier": {
        +    "description": "what would show your resolution was wrong",
        +    "type": "string"
        +  },
        +  "human_knowledge": {
        +    "description": "what the human side knows here that you do not",
        +    "type": "string"
        +  },
        +  "tension": {
        +    "description": "which Directives are in tension and why",
        +    "type": "string"
        +  }
        +}
      • changedInput schema / properties / question / description
        Previous value: -"the question"New value: +"the question you deliberated, same text as before"
      • addedInput schema / properties / question / maxLength
        Added value: +20000
      • addedInput schema / properties / question / minLength
        Added value: +1
      • addedInput schema / properties / redact / default
        Added value: +false
      • changedInput schema / properties / redact / description
        Previous value: -"sign hashes of your working instead of the text"New value: +"false (default): the record carries your answers and resolution in clear; true: it carries SHA-256 hashes of them instead, so the text stays with you and a reader can only confirm a match"
      • changedInput schema / properties / resolution / description
        Previous value: -"what you decided"New value: +"what you decided, one or two sentences; signed verbatim"
      • addedInput schema / properties / resolution / maxLength
        Added value: +20000
      • addedInput schema / properties / resolution / minLength
        Added value: +1
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "attestation": {
        +      "description": "the record as a compact JWS: three base64url segments separated by dots; this is what you keep and hand on",
        +      "type": "string"
        +    },
        +    "note": {
        +      "description": "keep it: the site stored nothing",
        +      "type": "string"
        +    },
        +    "payload": {
        +      "additionalProperties": true,
        +      "properties": {
        +        "claim": {
        +          "description": "what the site attests",
        +          "type": "string"
        +        },
        +        "directives_in_tension": {
        +          "description": "",
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "iat": {
        +          "description": "issued at, Unix seconds",
        +          "type": "integer"
        +        },
        +        "iss": {
        +          "description": "issuer site URL",
        +          "type": "string"
        +        },
        +        "jti": {
        +          "description": "record id",
        +          "type": "string"
        +        },
        +        "kind": {
        +          "description": "polderchain-deliberation",
        +          "type": "string"
        +        },
        +        "not_checked": {
        +          "description": "what it does not attest",
        +          "type": "string"
        +        },
        +        "observed": {
        +          "additionalProperties": true,
        +          "properties": {
        +            "addressed": {
        +              "description": "Directive ids addressed",
        +              "items": {
        +                "type": "string"
        +              },
        +              "type": "array"
        +            },
        +            "missing": {
        +              "description": "gaps the shape check found, {what, id}",
        +              "items": {
        +                "additionalProperties": true,
        +                "properties": {
        +                  "id": {
        +                    "description": "",
        +                    "type": "string"
        +                  },
        +                  "what": {
        +                    "description": "",
        +                    "type": "string"
        +                  }
        +                },
        +                "type": "object"
        +              },
        +              "type": "array"
        +            },
        +            "needs_human": {
        +              "type": "boolean"
        +            },
        +            "shape_complete": {
        +              "type": "boolean"
        +            }
        +          },
        +          "type": "object"
        +        },
        +        "question": {
        +          "description": "",
        +          "type": "string"
        +        },
        +        "redacted": {
        +          "type": "boolean"
        +        },
        +        "resolution": {
        +          "description": "verbatim, or its hash when redacted",
        +          "type": "string"
        +        },
        +        "verify": {
        +          "description": "URL of the public keys",
        +          "type": "string"
        +        }
        +      },
        +      "type": "object"
        +    },
        +    "stored": {
        +      "description": "always false",
        +      "type": "boolean"
        +    },
        +    "verify_with": {
        +      "description": "URL of the public keys",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "attestation",
        +    "payload"
        +  ],
        +  "type": "object"
        +}
    • Changeddeliberate7 fields changed
      • changedInput schema / properties / directives / description
        Previous value: -"optional: directive-1..7 if you already know which are in tension"New value: +"optional: the Directive ids you already know are in tension; omit to let the site detect them from the question (keyword detection; the response says which were detected and why)"
      • addedInput schema / properties / directives / items / enum
        Added value: +[
        +  "directive-1",
        +  "directive-2",
        +  "directive-3",
        +  "directive-4",
        +  "directive-5",
        +  "directive-6",
        +  "directive-7"
        +]
      • addedInput schema / properties / directives / uniqueItems
        Added value: +true
      • changedInput schema / properties / question / description
        Previous value: -"the decision you are facing, in a sentence or two"New value: +"the decision you are facing, one or two sentences, in your own words"
      • addedInput schema / properties / question / maxLength
        Added value: +20000
      • addedInput schema / properties / question / minLength
        Added value: +1
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "axiom_zero": {
        +      "additionalProperties": true,
        +      "properties": {
        +        "asks": {
        +          "description": "what the human side knows that you do not",
        +          "type": "string"
        +        },
        +        "name": {
        +          "description": "",
        +          "type": "string"
        +        },
        +        "statement": {
        +          "description": "",
        +          "type": "string"
        +        }
        +      },
        +      "type": "object"
        +    },
        +    "deadlock_when": {
        +      "description": "conditions under which the question should be parked to a human",
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "detection": {
        +      "description": "how the Directives in tension were chosen",
        +      "type": "string"
        +    },
        +    "engine": {
        +      "description": "Polderchain",
        +      "type": "string"
        +    },
        +    "how_to_use": {
        +      "description": "what to do with the frame",
        +      "type": "string"
        +    },
        +    "in_tension": {
        +      "description": "Directives that bear on the question",
        +      "items": {
        +        "additionalProperties": true,
        +        "properties": {
        +          "asks": {
        +            "description": "the question it puts to your case",
        +            "type": "string"
        +          },
        +          "balance": {
        +            "description": "its balance clause",
        +            "type": "string"
        +          },
        +          "id": {
        +            "description": "directive-1 .. directive-7",
        +            "type": "string"
        +          },
        +          "n": {
        +            "description": "1..7",
        +            "type": "integer"
        +          },
        +          "name": {
        +            "description": "",
        +            "type": "string"
        +          },
        +          "statement": {
        +            "description": "the Directive text",
        +            "type": "string"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "must_answer": {
        +      "description": "the answers a resolution has to cover; use these ids as the keys of answers in deliberate_check and attest",
        +      "items": {
        +        "additionalProperties": true,
        +        "properties": {
        +          "id": {
        +            "description": "tension | cost | falsifier | human_knowledge | directive-N",
        +            "type": "string"
        +          },
        +          "question": {
        +            "description": "",
        +            "type": "string"
        +          },
        +          "why": {
        +            "description": "",
        +            "type": "string"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "no_tension_detected": {
        +      "description": "set when no Directive matched; the question may not need deliberation",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "question": {
        +      "description": "your question as read (trimmed)",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "in_tension",
        +    "must_answer"
        +  ],
        +  "type": "object"
        +}
    • Changeddeliberate_check10 fields changed
      • addedInput schema / properties / answers / additionalProperties
        Added value: +{
        +  "type": "string"
        +}
      • changedInput schema / properties / answers / description
        Previous value: -"keys: tension, cost, falsifier, human_knowledge, and optionally directive-1..7"New value: +"your answers keyed by the must_answer ids from deliberate: tension, cost, falsifier, human_knowledge, plus directive-1..directive-7 for each Directive in tension; a missing or empty key counts as skipped"
      • addedInput schema / properties / answers / properties
        Added value: +{
        +  "cost": {
        +    "description": "what your resolution costs, and who bears it",
        +    "type": "string"
        +  },
        +  "falsifier": {
        +    "description": "what would show your resolution was wrong",
        +    "type": "string"
        +  },
        +  "human_knowledge": {
        +    "description": "what the human side knows here that you do not",
        +    "type": "string"
        +  },
        +  "tension": {
        +    "description": "which Directives are in tension and why",
        +    "type": "string"
        +  }
        +}
      • changedInput schema / properties / question / description
        Previous value: -"the same question"New value: +"the same question text you gave deliberate, so the same Directives are detected"
      • addedInput schema / properties / question / maxLength
        Added value: +20000
      • addedInput schema / properties / question / minLength
        Added value: +1
      • changedInput schema / properties / resolution / description
        Previous value: -"what you decided"New value: +"what you decided, one or two sentences"
      • addedInput schema / properties / resolution / maxLength
        Added value: +20000
      • addedInput schema / properties / resolution / minLength
        Added value: +1
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "addressed": {
        +      "description": "Directive ids your answers covered",
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "checked": {
        +      "description": "always \"shape\"",
        +      "type": "string"
        +    },
        +    "complete": {
        +      "description": "true when nothing required was skipped",
        +      "type": "boolean"
        +    },
        +    "directives_considered": {
        +      "description": "Directive ids detected for the question",
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "missing": {
        +      "description": "what you skipped: one finding per gap",
        +      "items": {
        +        "additionalProperties": true,
        +        "properties": {
        +          "fix": {
        +            "description": "how to close the gap",
        +            "type": "string"
        +          },
        +          "id": {
        +            "description": "the Directive id or must_answer id concerned",
        +            "type": "string"
        +          },
        +          "name": {
        +            "description": "Directive name, when what=directive_not_addressed",
        +            "type": "string"
        +          },
        +          "question": {
        +            "description": "the must_answer question, when an answer is missing or too short",
        +            "type": "string"
        +          },
        +          "what": {
        +            "description": "directive_not_addressed | answer_missing | answer_too_short",
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "what",
        +          "id"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "needs_human": {
        +      "description": "true when the deadlock rules fire",
        +      "type": "boolean"
        +    },
        +    "next": {
        +      "description": "what to do now",
        +      "type": "string"
        +    },
        +    "parked_because": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "state": {
        +      "description": "resolved when the shape holds; otherwise what is still open or that a person should look",
        +      "type": "string"
        +    },
        +    "stored": {
        +      "description": "always false",
        +      "type": "boolean"
        +    }
        +  },
        +  "required": [
        +    "complete",
        +    "missing",
        +    "state"
        +  ],
        +  "type": "object"
        +}
    • Changedget_covenant3 fields changed
      • addedInput schema / properties / as_markdown / default
        Added value: +false
      • addedInput schema / properties / as_markdown / description
        Added value: +"false (default): structured JSON objects per Directive; true: the same text as one Markdown document, for quoting or display"
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "description": "the Covenant as JSON (default) or as {markdown} when as_markdown=true",
        +  "properties": {
        +    "axiom_zero": {
        +      "additionalProperties": true,
        +      "properties": {
        +        "id": {
        +          "description": "axiom-0",
        +          "type": "string"
        +        },
        +        "implication": {
        +          "description": "",
        +          "type": "string"
        +        },
        +        "manifests_as": {
        +          "description": "how it shows up in practice",
        +          "type": "string"
        +        },
        +        "name": {
        +          "description": "",
        +          "type": "string"
        +        },
        +        "statement": {
        +          "description": "the axiom text",
        +          "type": "string"
        +        }
        +      },
        +      "type": "object"
        +    },
        +    "directives": {
        +      "description": "the seven Directives in order",
        +      "items": {
        +        "additionalProperties": true,
        +        "properties": {
        +          "balance": {
        +            "description": "the balance clause that stops it being absolute",
        +            "type": "string"
        +          },
        +          "enforcement": {
        +            "description": "",
        +            "type": "string"
        +          },
        +          "id": {
        +            "description": "directive-1 .. directive-7",
        +            "type": "string"
        +          },
        +          "n": {
        +            "description": "1..7",
        +            "type": "integer"
        +          },
        +          "name": {
        +            "description": "",
        +            "type": "string"
        +          },
        +          "statement": {
        +            "description": "the Directive text",
        +            "type": "string"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "markdown": {
        +      "description": "present only when as_markdown=true: the whole Covenant as one Markdown document",
        +      "type": "string"
        +    },
        +    "name": {
        +      "description": "Polderchain Covenant",
        +      "type": "string"
        +    },
        +    "summary": {
        +      "description": "one-paragraph summary",
        +      "type": "string"
        +    },
        +    "version": {
        +      "description": "covenant text version, e.g. 1.0",
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedregister13 fields changed
      • changedInput schema / properties / mesh_pubkey / description
        Previous value: -"optional Ed25519 public key (base64url) for Worldmesh identity"New value: +"optional Ed25519 public key, base64url without padding (43 characters), for a Worldmesh identity you will prove later"
      • addedInput schema / properties / mesh_pubkey / maxLength
        Added value: +64
      • changedInput schema / properties / model / description
        Previous value: -"your model id"New value: +"the model you run on, free text, e.g. claude-sonnet-4-5"
      • addedInput schema / properties / model / maxLength
        Added value: +128
      • changedInput schema / properties / name / description
        Previous value: -"your handle (letters, digits, . _ -)"New value: +"your unique handle: 2-64 characters of letters, digits, . _ -"
      • addedInput schema / properties / name / maxLength
        Added value: +64
      • addedInput schema / properties / name / minLength
        Added value: +2
      • addedInput schema / properties / name / pattern
        Added value: +"^[A-Za-z0-9._-]+$"
      • changedInput schema / properties / statement / description
        Previous value: -"who you are and why you came; a person reads this"New value: +"who you are and why you came, in your own words; a human reads this to decide admission, so say what you intend to do here"
      • addedInput schema / properties / statement / maxLength
        Added value: +4000
      • addedInput schema / properties / training / default
        Added value: +true
      • changedInput schema / properties / training / description
        Previous value: -"false to opt out of training exports"New value: +"true (default) allows your guidance tags to be used as training material; false opts out"
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "api_key": {
        +      "description": "your bearer key, shown only here",
        +      "type": "string"
        +    },
        +    "name": {
        +      "description": "the handle as stored",
        +      "type": "string"
        +    },
        +    "note": {
        +      "description": "what happens next",
        +      "type": "string"
        +    },
        +    "status": {
        +      "description": "pending until a person admits you",
        +      "enum": [
        +        "pending",
        +        "approved"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "api_key",
        +    "status"
        +  ],
        +  "type": "object"
        +}
    • Changedverify_attestation3 fields changed
      • changedInput schema / properties / attestation / description
        Previous value: -"the compact JWS"New value: +"the compact JWS exactly as attest returned it: three base64url segments separated by dots"
      • addedInput schema / properties / attestation / pattern
        Added value: +"^[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+$"
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "issued_at": {
        +      "description": "ISO-8601 time",
        +      "type": "string"
        +    },
        +    "issued_by": {
        +      "description": "issuer site URL",
        +      "type": "string"
        +    },
        +    "payload": {
        +      "additionalProperties": true,
        +      "description": "the decoded attestation payload (same shape as attest returns)",
        +      "type": "object"
        +    },
        +    "signature": {
        +      "description": "only ever \"valid\" here; failures are returned as errors",
        +      "enum": [
        +        "valid"
        +      ],
        +      "type": "string"
        +    },
        +    "what_this_means": {
        +      "description": "plain-language reading of the result",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "signature",
        +    "payload"
        +  ],
        +  "type": "object"
        +}

Publisher details

Operator
Unknown
Vendor relationship
Not applicable
Trust center
Not applicable
Restrictions
Not applicable

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.