Skip to main content
Glama

document_version

Read-onlyIdempotent

Retrieves a specific document with a specific version

When to use: The user wants to find a specific document with a specific version When not: The user wants to find a specific document with a specific version but the document is not found

Parameters: uuid (required) is the UUID of the document, version (required) is the version of the document

Behavior: Read-only SELECT; does not create, update, or delete records, files, or credentials. The only effect is a database read. Auth: tools/call requires OAuth 2.0 or a Bearer token (401 if missing, invalid, revoked, or no active subscription). Rate limits: none at the MCP layer; safe to retry. Not cached; each call reads current subscription and document data. Documents with total_links of 0 are omitted.

Returns: A document with the specific version

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "uuid": "<uuid>",
      "version": "<version>"
    },
    "name": "document_version"
  }
}

Input Schema

NameRequiredDescriptionDefault
uuidYesUUID
versionYesVersion

Output Schema

NameRequiredDescriptionDefault
dataYesDocuments with the specific version
messageYesResult message

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedOutput schema / properties / data / properties / summary
      Added value: +{
      +  "description": "Summary",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • changedOutput schema / properties / data / required
      Previous value: -[
      -  "id",
      -  "uuid",
      -  "version",
      -  "title",
      -  "section_title",
      -  "language",
      -  "is_repealed",
      -  "jurisdiction",
      -  "source",
      -  "classification",
      -  "dates",
      -  "content",
      -  "provenance",
      -  "text",
      -  "markdown"
      -]New value: +[
      +  "id",
      +  "uuid",
      +  "version",
      +  "title",
      +  "section_title",
      +  "language",
      +  "is_repealed",
      +  "summary",
      +  "jurisdiction",
      +  "source",
      +  "classification",
      +  "dates",
      +  "content",
      +  "provenance",
      +  "text",
      +  "markdown"
      +]
  2. Added

TDQS

B3.4/5.0
Behavior4/5

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

The description goes well beyond the annotations, disclosing OAuth/Bearer auth requirements with 401 semantics, absence of MCP-layer rate limits, retry safety, no caching, and that each call reads current subscription and document data. Annotations already cover read-only/idempotent, but this adds operational context an agent would otherwise lack. The one weak point is the unexplained clause that documents with total_links of 0 are omitted, which for a by-UUID fetch is confusing rather than clarifying.

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

Conciseness3/5

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

The labeled sections make it scannable and the behavioral block is front-loadable, but the 'When not' line and the 'Returns' sentence are pure filler — the latter duplicates the existing output schema. The read-only disclaimer also repeats what the annotations already declare, costing space without adding signal.

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

Completeness4/5

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

With only two required scalar parameters, rich annotations, an output schema, and a detailed behavioral block, an agent has nearly everything needed to call this correctly. The single gap is the dangling 'total_links of 0' omission rule, which could make an agent misread an empty result as an error.

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 100%, so both parameters are already documented. The description only restates that uuid is the document UUID and version is the document version, adding no format, ordering, or versioning semantics beyond the schema. Baseline 3 applies.

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 first sentence states a specific verb and resource ('Retrieves a specific document with a specific version'), which is clear and actionable. It does not distinguish this tool from siblings like list_documents or document_presigned_url, but the purpose itself is unambiguous and not a tautology of the name.

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

Usage Guidelines2/5

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

The 'When to use' section merely restates the tool name, and the 'When not' section says only 'the document is not found' — a failure mode, not a competing alternative. No sibling tool or scenario is named as the preferred choice in any situation, so an agent gets no real routing 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.