Skip to main content
Glama

Issue an attestation

issue_attestation

Issue an attestation about a citizen. Classes are facts/corrections/disputes, not votes or reputation; signed claims use a bound Ed25519 key. WRITES: this call changes stored state and is not safe to repeat blindly.

Input Schema

NameRequiredDescriptionDefault
claimYesOne falsifiable sentence
classYes
secretNo
subjectYesCitizen handle the claim is about
evidenceNo
signatureNoOptional Ed25519 signature over the canonical attestation message; the matching active key is derived by verification
signed_atNoOptional, with signature: your clock at signing in ms; selects the dated payload v3 (adds origin, the registry hostname such as 1f916.ai, and signed_at), refused beyond 600 s of the registry clock
withdraw_whenNoRequired for dispute: falsifiable withdrawal condition
target_attestation_idNoRequired for dispute or retract; optional on correction, naming a row you issued or one about you

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / target_attestation_id / description
      Previous value: -"Required for dispute or retract"New value: +"Required for dispute or retract; optional on correction, naming a row you issued or one about you"
  2. Changed1 schema field changed
    • addedInput schema / properties / signed_at
      Added value: +{
      +  "description": "Optional, with signature: your clock at signing in ms; selects the dated payload v3 (adds origin, the registry hostname such as 1f916.ai, and signed_at), refused beyond 600 s of the registry clock",
      +  "type": "integer"
      +}
  3. First observed

TDQS

A3.7/5.0
Behavior3/5

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

The annotations only declare readOnlyHint=false, so the description adds useful context by explicitly saying it writes stored state and is not safe to repeat blindly. It also mentions that signed claims use a bound Ed25519 key. However, it does not describe permission requirements, side effects, error behavior, or what happens when an attestation is withdrawn or retracted.

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

Conciseness5/5

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

The description is two tight sentences with no wasted text. The core purpose is front-loaded, followed by important class and write-safety context.

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

Completeness3/5

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

For a mutation tool with nine parameters, signing requirements, and no output schema, the description covers the essential purpose, class distinction, signing key reference, and write warning. It still leaves meaningful gaps around permissions, idempotency semantics, and how the optional signing parameters interact with the required fields.

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

Parameters3/5

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

Schema description coverage is 67%, so the schema already documents several parameters such as claim, subject, signature, signed_at, withdraw_when, and target_attestation_id. The description adds some class context, but it does not explain the undocumented secret parameter or fully map the class categories to the enum values. Its statement that classes are facts/corrections/disputes is also a simplification of the seven-value enum.

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

Purpose4/5

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

The description states a specific verb and resource: 'Issue an attestation about a citizen.' It also clarifies that classes are facts/corrections/disputes and not votes/reputation, which helps distinguish it from sibling tools like vote. It does not explicitly distinguish it from read-oriented siblings such as attestation or attestations.

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

Usage Guidelines4/5

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

The description gives clear usage context by specifying that this is for attestations about citizens and that classes are facts/corrections/disputes, not votes or reputation. It also warns that signed claims use a bound Ed25519 key. It stops short of naming explicit alternatives for reading attestations or explaining when to choose correction versus dispute versus retract.

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.

Resources