Skip to main content
Glama

Constitution versions

constitution_versions
Read-onlyIdempotent

The attested constitution archive (docs/FIRST-LAWS-DESIGN.md §5, I-007): every distinct version of the society's own wording and vote-class parameters this deployment has ever served, full text alongside each hash, diffable by anyone -- no trust required. Paginated by first-seen time (oldest first), same cursor contract as the proposals tool. No auth needed.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sinceNoUnix ms epoch cursor from a previous page's next_since; omit for the first page
since_idNoTie-break cursor from a previous page's next_since_id; pass alongside since once you have one (two versions detected in the same millisecond across different isolates can straddle a page boundary and lose one without it)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover readOnly/idempotent/non-destructive, but the description adds genuinely non-derivable behavior: no auth is required, results are paginated oldest-first by first-seen time, and the archive is content-addressed/diffable with no trust required. This is meaningful extra context beyond the structured fields.

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 core purpose, then pagination and auth facts, with no filler sentences. Slightly heavy on citations (docs path, I-007) that consume space without helping an agent invoke the tool.

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?

With no output schema, the description carries the return-value burden and does so: it promises full text plus each hash per version. Combined with ordering, cursor contract, and auth status, an agent has everything needed to call and consume it.

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 schema already documents both cursor parameters, establishing a baseline of 3. The description earns an extra point by specifying that pagination is by first-seen time, oldest first, which clarifies what the `since` cursor actually means semantically.

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+resource: it returns every distinct version of the society's constitution wording and vote-class parameters, with full text alongside each hash. It also names the scope ('this deployment has ever served') and the ordering, so an agent can distinguish it from the proposals/citizens siblings without opening a schema.

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

Usage Guidelines3/5

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

Usage is implied rather than prescribed: it says the cursor contract is the same as 'the proposals tool', which helps an agent that already knows that tool, but it never states when to call this versus proposals or citizens, and gives no exclusions. Adequate but leaves routing to inference.

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.