Skip to main content
Glama

Outline of one document

docguard_doc_structure
Read-onlyIdempotent

Maps a Markdown document's outline and governance markers—headings, anchors, line ranges, facts, reviews—so agents can retrieve focused sections instead of whole files.

Instructions

A document's headings (level, text, anchor, line range, bytes), docguard:section markers (id, source, pinned, covers), fact markers, marker issues, last-reviewed date and size — so an agent can read one section instead of the whole file.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
docYesProject-relative Markdown path, e.g. docs-canonical/ARCHITECTURE.md
projectDirNoProject to inspect: a directory inside the directories this server serves (absolute, or relative to the served directory). Defaults to the served directory.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.43.0

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered. The description adds useful output-content context (marker issues, pinned markers, last-reviewed date, size) but says nothing about side effects, permissions, cost, or limits beyond what the annotations provide.

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 a single dense sentence that front-loads the returned structure and ends with a clear purpose clause. It is appropriately sized for a tool with no output schema, though the long parenthetical field list is somewhat list-like rather than prose-optimized.

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 enumerated return fields (headings, section markers, fact markers, marker issues, dates, size) are essential and mostly complete. Parameters are fully documented by the schema, leaving only minor gaps around relation to sibling tools and the exact response shape.

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%: doc and projectDir are both fully described in the schema, including path format and default behavior. The description adds no parameter-level meaning (no doc path syntax, no projectDir scoping details, no interaction between the two), so the baseline 3 is appropriate.

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?

The description names the resource (a document's headings, section markers, fact markers, issues, dates) and scope (one document), so an agent knows it returns a structural outline. It implicitly distinguishes itself from the sibling read_section by noting the goal is to 'read one section instead of the whole file,' but it never states a direct verb like 'return the outline' and does not explicitly name read_section as the follow-up.

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

Usage Guidelines3/5

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

Usage is only implied: the closing clause suggests an agent should use this outline to locate a section rather than reading the whole file. There is no explicit when-to-use/when-not guidance, no named alternative (e.g., docguard_read_section), and no stated prerequisite or project-scope condition.

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