Skip to main content
Glama

Every saved version of a doc, newest first: who saved it (person, and the agent token when an AI agent did), when, and the message.

get_doc_history
Read-onlyIdempotent

Every saved version of a doc, newest first: who saved it (person, and the agent token when an AI agent did), when, and the message.

Every saved version, newest first: commit, version (null for a delete), who saved it (actor_user_id, and agent_token_id when an AI agent did), message, created_at, deleted. Read an older version with get_doc at = its commit; bring it back with restore_doc_version.

Input Schema

NameRequiredDescriptionDefault
kindYesProject docs (spec D76): `brief` = why the project exists, goals, business and tech structure; `notes` = working notes / progress; `handoffs` = hand-over to teams or the whole project; `company_brief` = the company's rules and guidelines (read-only in project routes).
slugYesFile name of a doc without `.md`: lowercase a–z 0–9 and `-` (brief, notes, company brief) or `H-{n}` (handoffs).
limitNo
project_keyYesProject key, e.g. `KJ`. 2–10 chars, uppercase letters and digits, starts with a letter.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds genuinely non-obvious behavior beyond that: newest-first ordering, `version` is null for a delete, and `agent_token_id` is populated only when an AI agent made the save. It omits pagination/limit behavior, which is the main remaining gap.

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?

Front-loaded with the core purpose and well under a paragraph. However, the first sentence merely repeats the title verbatim and the second sentence restates 'Every saved version, newest first' again, so roughly a third of the text is duplication rather than new information.

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 correctly carries the return-value burden by enumerating every field and its edge case (null version on delete). Annotations handle safety. The only missing piece an agent would want is what `limit` does and whether results are truncated.

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 coverage is 75% and the three required parameters (project_key, kind with enum, slug with pattern) are fully self-documented in the schema. The one undocumented parameter is `limit` (default 50, max 200), and the description never mentions paging or how many versions come back, so it fails to compensate for the coverage gap. Baseline 3 is appropriate.

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 the resource precisely (every saved version of a doc) and the exact ordering and payload (commit, version, actor_user_id, agent_token_id, message, created_at, deleted). This is clearly distinguishable from get_doc (current content) and get_history (issue history), which an agent could otherwise confuse it with.

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?

Explicitly routes the agent: read an older version with get_doc `at` = its `commit`, restore with restore_doc_version. That names the alternatives and the conditions that select them. It stops short of saying when this tool is the wrong choice (e.g., you only want the current doc), so it's strong but not exhaustive.

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.

Resources