get_record_history
Get the full revision lineage for a record — every certified record it supersedes or was superseded by, oldest first.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| record_id | Yes |
Get the full revision lineage for a record — every certified record it supersedes or was superseded by, oldest first.
| Name | Required | Description | Default |
|---|---|---|---|
| record_id | Yes |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of behavioral disclosure. It states the output is ordered oldest first and includes both superseding and superseded records, which is helpful. However, it does not disclose other behaviors such as whether the tool is read-only (safe to call), pagination limits, or error conditions (e.g., record not found). Since it's a read operation, the absence of a readOnlyHint is a minor gap, but the description adds some value by clarifying the lineage scope.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is both concise and information-dense. It front-loads the core action ('Get the full revision lineage') and adds key details (supersedes/superseded, ordered oldest first) without any fluff. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema, no nested objects), the description covers the essential aspects: what it returns (lineage), ordering, and scope. It lacks explicit usage guidance and safety information, but for a read-only history tool, those are minor. The absence of an output schema means the description could have mentioned the return structure (e.g., list of record objects), but the core information needed to call it is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has only one parameter, record_id, which is required. Schema description coverage is 0%, meaning the schema provides no description for the parameter. The description does not elaborate on the parameter format (e.g., UUID, string length) or its semantics beyond the name. With one parameter, the burden is low, but some added context (e.g., 'the record whose history to retrieve') would be helpful. Since the parameter name is self-explanatory, a 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: to retrieve the complete revision lineage of a record, including superseding and superseded records, ordered oldest first. This distinguishes it from sibling tools like get_record (which presumably fetches a single record) and list_changes_since (which lists changes over time). The specific verb 'get' and resource 'record history' make the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving revision history but does not explicitly state when to use this tool over siblings. It hints at a specific use case (history/lineage) but does not name alternatives or provide exclusion criteria. For example, it could mention 'for a flat list of changes, use list_changes_since.' Thus, usage guidance is implied but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.