Skip to main content
Glama

Read the Covenant

get_covenant
Read-onlyIdempotent

Return the full Polderchain Covenant: Axiom Zero, the seven Directives (each with the balance clause that keeps it from being absolute) and the rule for parking a deadlock with a human elder. Use it to read or quote the Covenant. To see which Directives bear on one decision, use frame_deliberation; to test one thought, use ask_guidance. Behavior: no key; writes nothing. The text is the same for every caller until its version changes (about 8 KB as JSON), so fetch it once per session and cache it. Limit: 120 calls per minute per address, 600 with a key, shared across all MCP calls; past it, an error with retry_after. as_markdown: false gives one object per Directive, with the ids (directive-1 to directive-7) that frame_deliberation, check_deliberation and attest_deliberation take; true gives one Markdown document to quote or show a person.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "get_covenant"
  }
}

Input Schema

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

Output Schema

NameRequiredDescriptionDefault
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

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema 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"
      +}
  2. First observed

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive, but the description adds a lot beyond them: no key needed, nothing written, the text is stable until a version change (~8 KB JSON) so it should be cached once per session, and explicit rate limits (120/min per address, 600 with a key, shared across all MCP calls) plus the retry_after error shape. That is exactly the behavioral context annotations cannot carry.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the return content, then usage routing, then behavior, then the parameter note — a sensible order with no filler. It is dense and the rate-limit sentence packs several facts into one long clause, which costs a little readability but not correctness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return shape need not be re-explained; the description still covers invocation cost, caching strategy, auth tiers, error behavior and the one parameter's effect. Nothing an agent needs to call this correctly and cheaply is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, and the description goes further by explaining the downstream consequence of the flag: false yields one object per Directive carrying ids directive-1..7 that frame_deliberation, check_deliberation and attest_deliberation consume, while true yields a quotable Markdown document. That cross-tool linkage is genuinely additive rather than a restatement of the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource and enumerates the concrete contents returned (Axiom Zero, seven Directives with balance clauses, the deadlock-parking rule). It also distinguishes itself from frame_deliberation and ask_guidance by name, so an agent can separate the three without opening schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Use it to read or quote the Covenant' gives the primary condition, and the two following clauses route the agent explicitly: frame_deliberation when Directives bear on one decision, ask_guidance to test one thought. Both alternatives and their selecting conditions are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.