Skip to main content
Glama
jtkehler

crowdsmart-mcp

by jtkehler

read_document

Read-only

Retrieve a document's text from a Knowledge Agent corpus to verify citations or inspect stored passages; returns reconstructed content from overlapping passage chunks.

Instructions

Read the text of a document in a Knowledge Agent's corpus, for example to check a citation.

The text is rebuilt from the stored passages: each passage starts with a "title | Part n of m:" header, and neighboring passages can overlap.

Args: agent_id: Knowledge Agent ID. document_id: Document ID, from list_documents or an answer's citations. max_chars: Maximum number of characters to return (default 20,000).

Input Schema

NameRequiredDescriptionDefault
agent_idYes
max_charsNo
document_idYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already establish readOnlyHint=true, so safety is covered. The description adds genuinely non-obvious behavior: text is reconstructed from stored passages, each prefixed with a 'title | Part n of m:' header, and neighboring passages can overlap — crucial for interpreting the returned text. It stops short of describing truncation behavior when max_chars is exceeded.

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?

Purpose is front-loaded in the first sentence, followed by the output-format caveat and a compact Args block. Every sentence carries information; the Args section earns its place because the schema has no descriptions.

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?

An output schema exists and the description still explains the passage-reconstruction quirks, which is the right thing to document. What's missing is how the tool relates to siblings (status checks, Q&A) for a corpus that has many adjacent document tools.

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 description coverage is 0%, so the description carries the full burden and largely meets it: agent_id and document_id are identified, document_id is given a provenance path, and max_chars is explained as a character cap with its default. The string patterns and min bound are left to the schema, which is acceptable.

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?

States a specific verb+resource ('Read the text of a document in a Knowledge Agent's corpus') and anchors it with a concrete use case (checking a citation). It does not distinguish itself from siblings like ask_knowledge_agent or get_document_status, so an agent must infer the boundary.

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?

The phrase 'for example to check a citation' implies when the tool is useful, and document_id sourcing ('from list_documents or an answer's citations') hints at workflow. There is no explicit when-not-to-use guidance or comparison against the sibling tools that also touch documents.

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