Skip to main content
Glama
hasancagrigungor

kapmcp

Document text

get_document_text
Read-onlyIdempotent

Extract text from PDF, HTML, or text attachments to read their contents. Returns null for binary or scanned files; use search_documents for relevant portions of long reports.

Instructions

Extract text from a PDF/HTML/text attachment (in memory; nothing is stored). Binary formats (xlsx, zip) and scanned PDFs return text: null with a reason. Prefer search_documents to pull only the relevant part of long reports.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pagesNoPDF page selection like '1-3,7' (1-based). Default: all pages, subject to max_chars.
max_charsNo
attachment_idYesFrom get_disclosure_documents / get_disclosure attachments

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds valuable behavioral context: 'in memory; nothing is stored' and the specific failure mode of returning `text: null` with a reason for unsupported formats. This goes beyond the annotations and helps set expectations for the agent.

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 sentences, each earning its place: the first states the core function and memory behavior, the second covers failure modes, and the third routes to the preferred alternative. The most important scoping information is front-loaded, and there is no redundant filler.

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?

The description is complete for a read-only extraction tool: it covers supported formats, failure modes, and the alternative for long documents. The output schema exists, so return values need not be explained. A minor gap is that it doesn't mention pagination or the max_chars limit explicitly, but the schema already documents those, so the description is sufficiently complete.

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 67%, with attachment_id and pages already described in the schema. The description adds meaning by explaining the overall extraction behavior and the `text: null` return for unsupported formats, which indirectly clarifies the role of the parameters. It doesn't repeat schema details, and the remaining max_chars parameter is self-explanatory with its default and bounds in 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?

The description states a specific verb ('Extract text') and resource ('PDF/HTML/text attachment'), and explicitly distinguishes itself from search_documents by noting the alternative pulls only relevant parts of long reports. It also clarifies what it is not for (binary formats, scanned PDFs), making the tool's purpose unmistakable.

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?

The description explicitly says to prefer search_documents when only a relevant part of a long report is needed, providing a clear alternative and condition. It also warns that binary formats and scanned PDFs will not work, which helps an agent decide when to use this tool versus another.

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