Skip to main content
Glama

read_file_text

Read-onlyIdempotent

Reads LMS course file text page by page to summarize or answer questions about materials. Supports PDF, PPTX, DOCX, TXT, MD, CSV, and HTML files up to 50 MB.

Instructions

Membaca teks file LMS per halaman, untuk merangkum atau menjawab pertanyaan materi.

file_url harus berasal dari get_course_materials. Mendukung PDF, PPTX, DOCX, TXT, MD, CSV, dan HTML sampai 50 MB. File dengan stored_outside_lms tidak bisa dibaca. Gambar tidak terbaca, dan PDF hasil scan hampir tidak menghasilkan teks. Kalau next_start_page terisi dan masih perlu, panggil lagi dari halaman itu. page_count maksimal 50.

Input Schema

NameRequiredDescriptionDefault
file_urlYes
page_countNo
start_pageNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior5/5

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

Annotations already declare readOnly, idempotent, non-destructive and open-world, so the safety profile is covered; the description goes well beyond that by disclosing the 50 MB size ceiling, the exact supported formats, that stored_outside_lms files are unreadable, that images and scanned PDFs yield little or no text, and that page_count is capped at 50. These are real operational constraints an agent cannot infer from the annotations.

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 core capability and the file_url prerequisite are front-loaded, followed by constraints and then paging instructions, so the agent hits the important information first. Every sentence carries information, though the dense single paragraph mixing format support, size limits, and pagination could be grouped more cleanly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a three-parameter extraction tool with no output schema, the description covers purpose, prerequisites, format and size limits, failure modes, and the pagination continuation protocol. Since it even names the next_start_page return field, an agent has everything needed to call it correctly and to loop for more pages.

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 0%, so the description must carry the load, and it does for the most part: it pins down file_url provenance (must originate from get_course_materials), caps page_count at 50, and explains the paging behavior where a subsequent call resumes at next_start_page. It never explicitly defines start_page's default/role, and next_start_page is a response field rather than an input parameter, so the paging loop is described slightly loosely.

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 and resource: reading LMS file text page by page, with the stated purpose of summarizing or answering questions about materials. It clearly implies a text-extraction read rather than a download, which separates it from siblings like download_file and get_file_link, though those siblings are never named as alternatives.

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?

Gives a clear use case (summarizing / answering questions about course material) plus a hard prerequisite: file_url must come from get_course_materials. It also explains the continuation condition (if next_start_page is returned and you still need more, call again from that page). It stops short of explicitly routing the agent to download_file when the raw file rather than text is wanted.

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