pdf-context
Server Quality Checklist
Latest release: v0.1.1
- Disambiguation5/5
Each tool targets a distinct operation: document listing, chapter listing, structure browsing, sequential reading, semantic search, ingestion status, type management, re-ingest, and profile retrieval. No two tools have overlapping purposes; descriptions clearly delineate usage.
Naming Consistency5/5All tool names follow a consistent verb_noun_tool pattern (e.g., list_documents, get_section_content, search_pdf_context). Verbs are uniform (get, list, search, reingest, set), providing predictable navigation for an agent.
Tool Count5/5With 10 tools, the server covers all core PDF management operations—ingestion, navigation, search, and configuration—without overloading. The count feels appropriate for the domain and avoids unnecessary complexity.
Completeness4/5The tool surface covers the essential lifecycle: list/search documents, navigate structure, read chunks, manage ingestion, and set document types. A minor gap is the lack of a delete/remove tool, but this is acceptable for a retrieval-focused server.
Average 4.3/5 across 10 of 10 tools scored. Lowest: 3.6/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 5 commits in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI status not available
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry full burden. It mentions 'Force re-index' but does not disclose side effects, permissions required, whether the operation is synchronous or asynchronous, or what happens to existing data. This is insufficient for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, each serving a distinct purpose: stating the core action, specifying valid usage contexts, and prohibiting misuse. No redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has an output schema, so return values are presumably defined there. However, the description does not mention that the document must already exist, or that re-ingestion might affect other processes. It references sibling tool set_document_type but doesn't fully integrate context. Adequate but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has a single required parameter 'document' with no description (0% schema description coverage). The tool description also does not explain what format or identifier is expected (e.g., filename, path, or ID). This leaves the agent guessing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Force re-index of a PDF in this server's corpus.' It uses a specific verb and resource, distinguishing it from siblings like get_document_profile_tool or list_documents_tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use: 'when the user explicitly requests re-ingest, after PDF file changes, or after set_document_type with reingest.' Also provides exclusions: 'Not for routine queries. Do not use proactively or for code/build tasks.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries the burden. It mentions 'ordered text chunks' but does not explain ordering criteria, pagination behavior (offset/limit not mentioned), error handling for invalid node_id, or response format. Missing key behavioral traits for a content retrieval tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences covering purpose, usage, and caution. No redundancy, but could be slightly more structured (e.g., separate sections for when-to-use and behavior). Overall efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema, behavior details are partially covered. However, the description lacks explanation for optional parameters and does not differentiate from sibling get_next_chunks_tool. Adequate but with gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so description must compensate. It explains node_id's origin but does not explain the meaning or usage of offset, limit, or document parameters. Offset and limit are critical for pagination but left undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get', the resource 'ordered text chunks', and the context 'chapter or section node in an indexed PDF'. It distinguishes from sibling search_pdf_context_tool by specifying when to prefer this tool over search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use: when node_id is known from list_chapters or list_structure. Provides a when-not: 'Do not use without a valid node_id from this document's structure tree.' Also suggests preference over search for sequential content at a known location.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It transparently describes the tool's behavior (semantic search, page citations, filter usage). However, it does not explicitly state read-only nature or potential limitations like rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with 5 sentences front-loaded with the purpose. No redundancy. Could be slightly more streamlined, but overall efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the high parameter count (9) and no annotations, the description lacks details on several parameters (top_k, structure_node_id, doc_type). It also does not describe the output format beyond 'page citations'. Incomplete for a complex tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%. The description only briefly mentions 'chapter_id/section_id/page filters' but does not detail parameters like top_k, structure_node_id, doc_type, or how to use them. Missing parameter guidance reduces usefulness.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Semantic search over PDFs indexed by this MCP server only', specifying the verb (search) and resource (PDFs). It distinguishes itself from sibling tools that deal with listing or ingestion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use scenarios (facts, quotes, definitions, page citations, named sections) and when-not-to-use (general knowledge, code tasks). Includes an alternative action: 'call list_documents first' if unsure.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses the sequential, stateful nature via cursor usage. However, it does not explicitly mention safety (read-only) or potential side effects, though implied.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences efficiently convey purpose, usage, cursor handling, and exclusions. No redundant content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need no explanation. However, given 0% schema coverage, the description should explain document and limit parameters. It covers cursor and usage well but misses parameter details for document and limit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so description must compensate. It explains the cursor parameter well (pass from previous response's global_sequence_index) but does not explain the document or limit parameters, leaving gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool reads the next sequential chunks in an indexed PDF using a cursor, using a specific verb and resource. It distinguishes itself from sibling tools like search_pdf_context_tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use this tool (after get_section_content or prior get_next_chunks call) and when not to (for unrelated search queries, use search_pdf_context instead). Provides clear alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description discloses the behavioral trait that outline end_page may equal start_page, and advises using get_next_chunks to read further. It identifies the tool as chapter listing for indexed PDFs, adding context beyond a minimal description. Could mention prerequisites like indexing status.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with no wasted words. The first sentence states the purpose directly, followed by usage guidelines and an important note about edge cases. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple input and presence of an output schema, the description is fairly complete. It covers purpose, usage, and an edge case. It could mention error conditions or prerequisites (e.g., document must be indexed), but overall it provides sufficient context for correct tool selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter 'document' is described as a string but not detailed in the description. Schema coverage is 0%, so the description should clarify the parameter's format or meaning (e.g., document ID, filename). It only implies it identifies a PDF, leaving ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists chapters for indexed PDFs, specifically textbooks. It distinguishes from siblings by mentioning pairing with get_section_content and get_next_chunks, and explicitly excludes uses for git branches, code modules, or non-PDF structures.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use criteria: when users ask about chapter numbers, titles, IDs, or page ranges. Also advises on pairing with other tools and warns about edge cases like equal start and end pages. Includes a clear 'Do not use' list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears full responsibility for behavioral disclosure. It indicates the tool retrieves document type, retrieval profile, and query strategy, implying a read-only operation. While it does not explicitly state 'read-only' or side effects, the description's boundary conditions and lack of mutability language make it sufficiently transparent. A minor deduction for not affirming it is a safe, non-destructive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of three concise sentences: purpose, usage scenarios, and exclusions. It is front-loaded with the core action, uses no filler, and every sentence adds value. Perfectly structured for quick understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple retrieval tool with one parameter and an output schema (assumed present), the description covers purpose, appropriate usage, and limitations. It explicitly states the document must be in the server's index and not for general advice. No gaps are apparent, making it contextually complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one required parameter 'document' with 0% schema description coverage, meaning no description in the schema. The tool description mentions 'a specific PDF' but does not explicitly define what the 'document' parameter expects (e.g., document ID, filename). The description fails to add essential semantic meaning beyond the schema, making it difficult for an agent to know how to populate the parameter correctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get document type, retrieval profile, and how to query a specific PDF,' which is a specific verb+resource combination. It distinguishes from sibling tools like search_pdf_context_tool by focusing on document profile metadata rather than full-text search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use ('when starting work on a named document, when choosing between semantic search vs sequential reading, or when the user asks how a document is classified') and when-not-to-use ('Do not use for documents not in this server's index or for general ML/PDF advice') scenarios, offering clear guidance on appropriate context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It describes the tool as retrieving structure for indexed PDFs and includes node IDs, indicating a read operation. It does not explicitly state that it is non-destructive or require authorization, but the use context is clear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core purpose, followed by usage guidelines and exclusions. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter) and the presence of an output schema, the description adequately covers what the tool does, when to use it, and constraints. Could provide slightly more detail on the parameter's nature.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage; the description indirectly explains the document parameter by referencing 'indexed PDF' and 'documents not in list_documents'. However, it does not specify the parameter's format or source, leaving some ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool retrieves the full table-of-contents/structure tree for an indexed PDF, specifying it provides node IDs for navigation. It distinguishes from siblings by noting it's not just top-level chapters.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use (complete outline, section hierarchy, node IDs) and when not to use (repo directory trees, documents not in list_documents). Provides clear guidance on appropriate use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the effect of reingest: 'Set reingest=true only if they want chunks re-built under the new profile.' It does not mention reversibility or side effects on retrieval, but the core behavioral trait (overriding doc_type and optionally reindexing) is covered. Could be slightly more detailed but sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Three efficient sentences. The first sentence states purpose, the second provides usage conditions, the third explains a parameter's effect. No fluff, front-loaded with the most critical information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (3 params) and the presence of an output schema (so return values are covered), the description is complete. It covers purpose, usage, and parameter behavior. It clearly distinguishes from siblings like reingest_document_tool and search_pdf_context_tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so description must compensate. It adds meaning to 'reingest' by explaining its effect. For 'doc_type', it implies it's the new type to assign. However, 'document' is not further explained (identifier format or source), leaving some ambiguity. The description partially compensates but not fully for all three parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Override auto-classified document type for an indexed PDF.' It specifies the verb (override), resource (document type), and context (indexed PDF). It also distinguishes itself from siblings like reingest_document_tool by focusing on changing doc_type rather than just reingesting.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use: 'only when the user explicitly asks to change doc_type or when misclassification is confirmed and affects retrieval.' Also provides a clear condition for a parameter (reingest) and a don't-use case: 'Do not use proactively on every document or for repo configuration tasks.' This sets strong boundaries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It discloses the tool checks 'status and health' and advises checking before assuming missing documents. It could be more explicit about what 'health' entails (e.g., queue length, errors), but the output schema likely covers this.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: two sentences plus usage guidelines. The purpose is front-loaded, and every sentence adds value without unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters and an existing output schema, the description is largely complete. It covers when to use and not use, but could provide slightly more detail on what the status/health includes. Still, it is sufficient for an agent to decide when to invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters in the input schema, so baseline score is 4. The description does not need to add parameter semantics, and it appropriately avoids any redundant information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get ingest queue status and health for this MCP server's index.' It uses a specific verb and resource, and the focus on ingestion status distinguishes it from sibling tools that handle documents, search, and chapters.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use ('when search returns nothing, the user added new PDFs, ingestion may still be running, or they ask whether documents are ready') and when not to use ('Do not use on every message—only when index readiness or failures matter'). Provides clear context and exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It implies a read-only operation by stating 'List...' and describes the output. It does not mention side effects, authorization, or performance, but for a simple listing tool with no parameters, this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with three sentences. The first sentence gives the core purpose, the second provides usage guidance, and the third states an exclusion. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters and an output schema exists, the description provides all necessary context: what it does, when to use it, and its limitations. It is complete for an agent to decide when to invoke this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the input schema is fully covered. The description adds value by explaining what the tool lists and what output includes, which is sufficient for a parameterless tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List' and resource 'PDFs indexed by this MCP server' and includes what output is provided ('type and structure summary'). It distinguishes from sibling tools which focus on individual documents or search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly instructs to call first when unsure about corpus relevance, when asking about available documents, or before search without a document name. It also states when not to use (listing files outside the index), providing clear usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/mematcha/pdf-context'
If you have feedback or need assistance with the MCP directory API, please join our Discord server