Skip to main content
Glama

Get a previously generated contract

get_contract

Retrieve a generated contract by ID to check generation status and access completed Markdown content; if processing, call again in about 30 seconds.

Instructions

Retrieve a contract by id. Returns status "processing" while generation is still running (call again in about 30 seconds) and "completed" with the contract once done. content_markdown is always populated regardless of the original output_format — PDF URLs are only returned once, inline, by generate_contract.

Input Schema

NameRequiredDescriptionDefault
idYesThe contract id returned by generate_contract.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral burden and does real work: it discloses the asynchronous polling pattern, the two status values, and a non-obvious gotcha that PDF URLs are one-shot artifacts from generate_contract and are not re-retrievable here. That last point is exactly the kind of trap an agent would otherwise fall into. It omits error/not-found behavior and any permission or retention notes, which keeps it off a 5.

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?

Three tight sentences, front-loaded with the verb and resource before the polling detail and the PDF caveat. No filler, no restatement of the title, and each sentence contributes a distinct fact.

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?

There is no output schema, so the description must explain return values, and it does: status values, content_markdown always populated, and the absence of PDF URLs. That covers what an agent needs to interpret the response. The remaining gap is failure behavior for an invalid or expired id, which is minor but not nothing.

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% for the single parameter, and the schema already says the id is the one 'returned by generate_contract.' The description's 'by id' restates that rather than adding format, prefix, or validity detail. Baseline 3 is appropriate when the schema does the heavy lifting.

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?

States a specific verb and resource: 'Retrieve a contract by id.' It also draws the boundary against the sibling generate_contract by noting that PDF URLs are produced inline there and not here, so an agent can tell the read path from the write path without opening either schema. It stops short of naming list_contract_templates, so the sibling differentiation is partial rather than exhaustive.

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?

Gives concrete usage context: this is the follow-up call to generate_contract, and while status is 'processing' the caller should poll again in about 30 seconds. That is actionable invocation guidance. It offers no when-not guidance (e.g., what to do on an unknown or expired id, or how long to keep polling), so it is clear context without exclusions.

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