Skip to main content
Glama

kb_documents_get

Read-onlyIdempotent

Retrieve a single document with its full markdown body. Optional include array bundles related rows in one round-trip: revisions / attachments / groups / project. Use kb_documents_get_meta when the body is not needed.

Input Schema

NameRequiredDescriptionDefault
includeNoBundle related rows in the response. Any subset of: revisions, attachments, groups, project. `revisions` returns the 25 most recent — page the rest with kb_revisions_list; `attachments` returns active rows only, as kb_attachments_list does by default.
document_idYesDocument id
tenant_slugNoTenant slug to target. Required when your token grants several workspaces; omit when it grants one. If you omit it with several, the refusal names your default workspace; call kb_tenants_list to see every workspace the token grants.

Output Schema

NameRequiredDescriptionDefault
groupsNo
projectNo
documentYes
revisionsNo
attachmentsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive, so the safety profile is covered. The description adds meaningful behavior beyond that — that `include` collapses multiple fetches into a single round-trip and that `revisions`/`attachments` have scoped returns. It doesn't discuss response size or failure modes, so not a 5.

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?

Three short clauses, zero filler. Purpose comes first, the include-array behavior second, the sibling routing last — a logical front-loaded order.

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?

Output schema exists so return values needn't be explained, and the parameter-level details (tenant_slug multi-workspace rule, revision paging) live in the schema. The description is complete enough for correct invocation, with only minor gaps like not hinting at the multi-tenant requirement.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3, but the description adds framing the schema lacks: the `include` array is a round-trip optimization and each member bundles a specific related entity. That is genuinely useful semantics layered on top of an already well-documented 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 ('Retrieve a single document') plus the scope-defining detail 'with its full markdown body', which cleanly separates it from sibling get_meta. An agent can pick this over kb_documents_get_by_slug / kb_documents_get_meta from the first clause alone.

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?

Explicitly names the alternative and the condition that selects it: 'Use kb_documents_get_meta when the body is not needed.' It also explains why to use the `include` array (bundling related rows in one round-trip), which is a usage decision, not just a schema restatement.

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.