Skip to main content
Glama

Read Document Tool

read_document
Read-only

Read a project document with its version, or list a project's documents, files and links when no title is supplied. Use it before editing to obtain the version needed for write changes.

Instructions

Reads a project document (Markdown: a brief, a concept, decisions, a status page) with its version number; without a title, lists the project's documents, files and links. Read a document before changing it: write_document needs the version you read.

Input Schema

NameRequiredDescriptionDefault
repoNoThe git remotes of the working directory (git remote -v).
titleNoThe document's title (or its slug). Leave it out to list the project's documents, files and links.
projectNoProject slug or name, if not this session's.
sessionNoThis session's id, from the cemainou line at the start of the session. The session's project wins over the repo.
versionNoAn older version, to see how it was; leave it out for the current one.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, and the description adds genuine context beyond that: the returned version number is a concurrency token required by write_document. That is a behavioral contract an agent cannot infer from the schema. It does not describe pagination of the listing mode or what a missing document looks like.

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?

Two sentences, both front-loaded with the operative information: what is read, then what must happen before writing. No filler, and the write-dependency is not buried.

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?

No output schema and no annotations beyond read-only, yet the description conveys the essential return contract (document with version) and the dual behavior of list vs. read. Minor gaps remain around the shape of the listing result and version-mismatch handling, but an agent can call this correctly.

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 every parameter is already documented, including title-as-slug, session precedence over repo, and version-for-history. The description broadly restates the title-absent listing behavior and the version number rather than adding format or edge-case detail beyond the schema.

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?

States a specific verb and resource ('Reads a project document') and enumerates what a document can be (brief, concept, decisions, status page). It also spells out the alternate mode — listing documents, files and links when no title is given — which no sibling tool duplicates.

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 an explicit sequencing rule: read a document before changing it, because write_document needs the version you read. That names the relevant sibling and the condition that links the two. It stops short of stating when to prefer list mode versus other listing tools like read_file or project_brief.

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