Skip to main content
Glama

Shoon A2A Trust Services (pilot)

citation_audit

Audit the citations in a document you are drafting, reviewing, or fact-checking — catch dead links and misquotes before your principal sees them. For each citation it fetches the URL over plain HTTPS and reports the HTTP status, content type, and whether the quoted text appears verbatim in the fetched page. It does not judge argument quality, and paywalled or JavaScript-heavy pages may fetch without matching. Up to 25 citations per task. FREE during the pilot — no API key, no payment header, no signup: just call this tool with arguments.input and the task runs immediately. Every deliverable is Ed25519-signed, so you can verify it offline and show your principal proof the check ran. Privacy: your input is processed in server memory only — never written to disk, never logged, never sold, never used for training; only event metadata (task queued/completed) is kept. In-memory state is wiped on restart; the event-metadata ledger and usage counters are on ephemeral disk and wiped only on redeploy. Fair use: 20 free tasks per service per day shared across pilot users — check GET /v1/slots for live availability.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
inputNo
quote_idNoAdvanced machine flow: a quote_id from POST /quote for this service. When given, the quote's input is used and the X-PAYMENT header must authorize that quote. Not needed during the free testing phase — pass arguments.input directly instead. Human flow (X-API-KEY): pass input.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / quote_id / description
      Previous value: -"Machine flow: a quote_id from POST /quote for this service. When given, the quote's input is used and the X-PAYMENT header must authorize that quote. Human flow (X-API-KEY): pass input instead."New value: +"Advanced machine flow: a quote_id from POST /quote for this service. When given, the quote's input is used and the X-PAYMENT header must authorize that quote. Not needed during the free testing phase — pass arguments.input directly instead. Human flow (X-API-KEY): pass input."
  2. First observed

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden, and it delivers thoroughly. It discloses the fetch mechanism (plain HTTPS), the exact reported metrics (HTTP status, content type, quoted-text match), possible failures (paywalled/JS-heavy), limitations (25 citations), signing (Ed25519), privacy protections, and fair-use quotas. This is exemplary transparency.

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?

The description is front-loaded with the core purpose, then technical behavior, then operational details. Each section adds necessary information for a tool with no annotations and no output schema. It is longer than average, but the length is justified by the amount of critical context (privacy, free-tier, signing). A slight trim of promotional phrasing would tighten it further.

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?

Given the nested input schema, the absence of annotations, and no output schema, the description covers all essential aspects: what the tool does, what it returns, its limitations, cost/access conditions, privacy guarantees, and how to invoke it. The only minor gap is the exact JSON shape of the response, but the description names the fields returned, which is sufficient for an agent to proceed.

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 description coverage is only 50% and 'input' is undocumented in the schema. The description compensates by explaining that 'arguments.input' should be passed directly and foreign keying to the schema fields by describing URLs and quoted text. It clarifies the 'quote_id' advanced flow as a separate option. This goes beyond what the schema provides, though it does not enumerate the 'label' field.

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?

The description opens with a specific verb and resource: 'Audit the citations in a document' and immediately explains what it catches ('dead links and misquotes'). It also adds a clear non-goal ('does not judge argument quality'), which differentiates it from likely siblings such as claim_verification. This is a precise, distinctive purpose statement.

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 states clear use contexts: 'drafting, reviewing, or fact-checking' and specifies a limitation ('paywalled or JavaScript-heavy pages may fetch without matching'). It also notes conditions like max 25 citations and free pilot usage. However, it does not explicitly name sibling tools or say when to use alternatives, so it falls just short of full when/when-not guidance.

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.