Skip to main content
Glama

Read record: one whole record by id

read_record
Read-onlyIdempotent

Fetch one complete record by ID from an index search or bootstrap result, returning its full content, rationale, observation, or task and identifying the project and tree that hold it.

Instructions

Read ONE record in full (a memory’s content, a decision’s rationale and what it turned down, an observation’s text, a task) by the id an index gave you: search, or the decisions bootstrap lists (which carry the title and not the argument). This is the second half of a search: the index tells you what exists, this tells you what it says. It looks in EVERY project of this workspace, not only the one you are working in (an id is minted once and lives in one place) and the answer says which project and which tree hold it. A skill id is refused here and pointed at the skills tool, which serves a pattern’s body and records the consultation. An id no project holds is refused, in a reply that names where it looked. A decision’s ADR- label is a display name a person cites, numbered within one tree and never an identity: two trees can each hold an ADR-1, and only the id tells them apart. Read-only.

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": {
      "id": "<id>"
    },
    "name": "read_record"
  }
}

Input Schema

NameRequiredDescriptionDefault
idYesThe record id (from `search`, or from `bootstrap`).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Beyond the read-only annotations, the description discloses important behavior: it searches every project in the workspace, the answer identifies which project and tree hold the record, skill ids are refused and redirected, missing ids produce a refusal that names where it looked, and ADR labels are display names rather than identities. These are meaningful operational details an agent would not get from annotations alone.

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 action and then layers in scoping, refusal, and identity caveats. It is dense and longer than typical, but each sentence carries useful information; minor tightening of parentheticals could improve readability without losing meaning.

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 one input parameter, no output schema, and read-only annotations, the description covers what the tool does, where it searches, how ids are sourced, what gets refused or redirected, and what the answer reveals about project and tree. Nothing essential for correct invocation appears to be missing.

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

Parameters5/5

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

The schema documents the single `id` parameter at 100% coverage, but the description adds critical meaning: the id comes from `search` or `bootstrap`, an id is minted once and lives in one place, and an ADR-<n> label is not an identity. This materially improves correct parameter use beyond the schema's basic string requirement.

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 states a specific verb and resource: read ONE record in full by id, with examples of record kinds. It clearly distinguishes itself from `search` (which indexes records) and `bootstrap` (which lists decisions), so an agent can tell what this tool uniquely does.

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

Usage Guidelines5/5

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

It explicitly frames this as the second half of a search: use `search` or `bootstrap` to find an id, then call this tool to read the record's content. It also states the exclusion for skill ids, redirecting them to the `skills` tool, and explains refusal behavior for ids no project holds.

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