Skip to main content
Glama
aytzey
by aytzey

Server Quality Checklist

58%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.7.0

  • Disambiguation4/5

    Most tools have distinct purposes, but there is some overlap between deep_read_topic and research_topic, and between various search/download tools. Descriptions help differentiate them.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern in snake_case, except for 'healthcheck' which is a single word but still clear. Overall very consistent.

    Tool Count5/5

    16 tools is well-scoped for a research assistant server covering search, download, extraction, visualization, and Zotero integration. No extraneous tools.

    Completeness4/5

    Covers major workflows (search, download, extraction, graphing, Zotero) but lacks tools for managing Zotero items beyond collections or batch operations. Minor gaps.

  • Average 3.3/5 across 16 of 16 tools scored. Lowest: 2.3/5.

    See the Tool Scores section below for per-tool breakdowns.

    • 1 of 1 community issues answered or closed in the last 6 months
    • 10 commits in the last 12 weeks
    • Last stable release on
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • 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.json to 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?

    With no annotations, description must fully disclose behavior. It mentions downloading and previewing but omits important details like rate limits, network dependency, failure modes for broken links, or handling of non-PDF extensions.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness2/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Single sentence is concise but lacks structure; parameter information is absent and necessary details are omitted. Not all sentences earn their place.

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

    Completeness1/5

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

    For a tool with 7 parameters and no output schema, the description is severely incomplete. It fails to explain input semantics, return value format, or error handling, leaving the agent underinformed.

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

    Parameters1/5

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

    Schema coverage is 0% and description adds no parameter meaning. It does not explain what 'mirror_1', 'title', or optional fields (author, year, etc.) represent or how they affect the operation.

    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?

    Description clearly states the tool resolves mirror links, downloads a PDF, and returns a preview, which is specific and distinguishes it from sibling tools like 'search_libgen' or 'download_scihub_paper'. However, the verb 'inspect' is vague without the description's context.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance on when to use this tool versus alternatives (e.g., after searching LibGen). Lacks explicit context, exclusions, or mention of prerequisites like prior search results.

    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 are provided, so the description must disclose behavioral traits. It only states 'Search LibGen mirrors', implying possible mirror failover or aggregation, but offers no details on error handling, result format, rate limits, or authentication needs. This is insufficient for safe invocation.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness2/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is extremely short (one sentence), but conciseness is not achieved at the cost of informativeness. Key details about parameters, behavior, and context are missing, making it under-specified rather than efficiently compact.

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

    Completeness1/5

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

    Given the tool has 4 parameters with 0% schema coverage, no output schema, and no annotations, the description is severely incomplete. It does not mention return values, pagination, error handling, or typical usage patterns, leaving a high burden on the agent to infer correct usage.

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

    Parameters1/5

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

    The input schema has 0% description coverage (no titles or descriptions beyond bare names), and the tool description does not explain any of the four parameters (query, search_type, limit, allowed_extensions). The agent gets no semantic guidance beyond schema structure, which is inadequate for correct usage.

    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?

    The description clearly states the action ('Search') and the resource ('LibGen mirrors'), and specifies the content type as 'supplemental research material'. This differentiates it from siblings like search_scihub (which targets Sci-Hub) and search_literature (which might be broader). However, it could be more precise about what kind of material (e.g., books, papers, etc.) is found.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is given on when to use this tool versus alternatives such as search_literature or inspect_libgen_item. The description does not specify use cases, prerequisites, or exclusions, leaving the agent without decision support.

    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?

    With no annotations, the description must disclose behavioral traits. It only states the basic action, omitting details like multi-source aggregation, rate limits, pagination, or whether searches are by title/abstract.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness3/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single sentence, making it concise but too brief. It front-loads the core action but omits necessary details, balancing conciseness against completeness.

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

    Completeness2/5

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

    With five parameters, no output schema, and many sibling tools, the description is insufficient. It fails to explain output structure, parameter effects, or selection criteria, leaving agents underinformed.

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

    Parameters2/5

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

    Schema description coverage is 0%, so the description should explain parameters. It only mentions 'topic', ignoring limit_per_source, year filters, and open_access_only. No compensation for the lack of schema descriptions.

    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?

    The description clearly states the tool searches for a topic across six named academic databases, distinguishing it from siblings like research_topic or find_similar_papers. The verb 'search' and resource 'literature from specific sources' are specific, though it lacks details on what is returned.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance on when to use this tool vs alternatives (e.g., research_topic, find_similar_papers). No context on prerequisites, typical use cases, or exclusions.

    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 full burden. Only states download and preview, omitting side effects, prerequisites, or limitations (e.g., download location, preview persistence).

    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?

    Single sentence, very concise. Could be structured better but gets the core point across without waste.

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

    Completeness1/5

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

    Despite low complexity, the description lacks detail on expected input format, output behavior, and error handling. Very incomplete for effective agent use.

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

    Parameters1/5

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

    Schema coverage is 0%. Description adds no explanation for pdf_url or filename_hint beyond the schema itself.

    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?

    Clearly states the action (download) and resource (open-access PDF) and result (local preview). Distinguishes from siblings like download_scihub_paper.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No explicit guidance on when to use this tool vs alternatives, such as Sci-Hub downloaders. Implied by 'open-access' but no when-not-to-use or alternative mentions.

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

  • Behavior3/5

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

    With no annotations, the description must cover behavioral traits. It mentions saving a sidecar file (a side effect) and returning chunks, but does not disclose overwrite behavior, permissions needed, or the underlying matching mechanism. Basic transparency is present but incomplete.

    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 description is a single concise sentence that front-loads the core action. It could be more structured (e.g., listing outputs), but it wastes no words and is easily scannable.

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

    Completeness2/5

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

    The tool has 6 parameters and no output schema, yet the description omits critical details: the meaning of 'top matching chunks', how the sidecar is saved, and what the tool returns. It is insufficient for an agent to confidently invoke the tool without additional documentation.

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

    Parameters2/5

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

    Schema description coverage is 0%, so the description should clarify parameters. It hints that 'research_question' and 'title_hint' drive matching, but does not explain 'chunk_size_chars', 'chunk_overlap_chars', or 'top_chunks'. The added semantic value is minimal beyond the parameter names.

    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?

    The description clearly states the tool's actions: extracting full text from a local PDF, saving a sidecar text file, and returning top matching chunks. It distinguishes itself from siblings like 'get_pdf_page_text' by implying chunked-based retrieval, but does not explicitly differentiate from 'read_pdf_document' or 'inspect_open_access_pdf'.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided on when to use this tool versus alternatives, prerequisites (e.g., file accessibility), or when not to use it. The agent must infer usage from the description alone.

    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 are provided, so the description must convey behavioral traits. It does not disclose error handling (e.g., if both seed_title and seed_doi are provided), rate limits, or what the output contains. The description is too brief to be transparent.

    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 description is a single, concise sentence that immediately conveys the core purpose. However, it could include a brief note on the optional parameters without becoming verbose.

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

    Completeness2/5

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

    With 4 parameters, no output schema, and no annotations, the description is insufficient. It fails to explain how the seed parameters interact, the meaning of 'limit' and 'open_access_only', or the expected output format. This leaves the agent underinformed.

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

    Parameters2/5

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

    The schema has 0% description coverage, so the description must compensate. It only hints at using a seed title or DOI but does not explain 'limit' or 'open_access_only'. This adds minimal value beyond the schema itself.

    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 clearly states the tool's function: finding similar papers using a seed title or DOI. It uses a specific verb ('find') and resource ('similar papers'), and distinguishes from siblings like 'search_literature' which perform broader searches.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided on when to use this tool versus alternatives (e.g., 'search_literature', 'research_topic'). There is no mention of prerequisites, typical use cases, or when not to use it.

    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 are present, and the description does not disclose behavioral traits such as read-only nature, rate limits, authentication needs, or side effects. It merely states the function without further context.

    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 description is extremely concise (one sentence) and front-loaded with the core action. However, it may be too brief, lacking necessary details. It is not verbose, but earns high marks for clarity without waste.

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

    Completeness3/5

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

    Given the simplicity of the tool (one optional parameter, no output schema, no annotations), the description provides a minimal viable understanding. However, it omits details like output format, pagination, or how the query works, leaving gaps for the agent.

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

    Parameters1/5

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

    The sole parameter 'query' has no description in the schema (0% coverage) and the tool description provides no explanation of its purpose, format, or effect. The agent receives no insight beyond the schema's type definition.

    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 clearly states the tool lists Zotero collections, specifying the scope as 'visible to the configured web or local Zotero integration.' This is a specific verb+resource combination that distinguishes it from sibling tools, which focus on papers and literature.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, when not to use it, or how it relates to other tools.

    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?

    With no annotations, the description must disclose all behavioral traits. It only mentions two optional behaviors (Sci-Hub fallback, graph rendering) but fails to describe the core workflow steps, sources searched, or output format, leaving significant ambiguity.

    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?

    Three sentences, concise and front-loaded with the main purpose. No wasted words, though a bit more structure (e.g., listing key features) would improve readability.

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

    Completeness2/5

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

    Given the tool's complexity (18 parameters, no output schema, no annotations), the description is incomplete. It omits details on the overall workflow, expected outputs, and default behavior, leaving the agent with many unknowns.

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

    Parameters2/5

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

    Schema description coverage is 0%, so the description must compensate. It only explains two parameters (include_scihub, write_graph) out of 18, leaving most parameters like topic, limits, and year ranges undocumented. Parameter names are somewhat self-explanatory but insufficient.

    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?

    The description clearly states the tool runs an end-to-end research workflow with optional Zotero sync, which is a specific verb and resource. However, it does not differentiate from sibling tools like deep_read_topic or graph_topic, so it misses explicit distinction.

    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 description provides some context by mentioning optional flags (include_scihub, write_graph) but gives no explicit guidance on when to use this tool versus alternatives. It lacks when-not to use or prerequisites.

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

  • Behavior3/5

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

    Without annotations, the description carries the burden. It mentions searching and an environment flag, but doesn't clarify behavior if SCIHUB_ENABLED is false, error handling, or whether it's read-only.

    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?

    The description is extremely concise, just two sentences with no redundant information. It front-loads the action and required conditions.

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

    Completeness2/5

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

    Given 4 parameters and no output schema or annotations, the description is too brief. It lacks explanation of return values, error conditions, and the check_availability parameter.

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

    Parameters2/5

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

    Schema has 0% description coverage. The description explains search_type values but not query, limit, or check_availability. This is insufficient for a tool with 4 parameters.

    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?

    The description clearly states it searches Sci-Hub for papers by DOI, title, or keyword, and names the search_type options. However, it doesn't differentiate from sibling tools like search_libgen or search_literature.

    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?

    It specifies the allowed search_type values and the prerequisite SCIHUB_ENABLED=true, but doesn't provide guidance on when to use this tool versus siblings like search_libgen or search_literature.

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

  • Behavior3/5

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

    No annotations are provided, so the description must bear full behavioral burden. It describes node encoding (size, color) and edge logic, but omits details about failure modes (e.g., empty results), authentication, or rate limits. The behavior is mostly transparent but incomplete.

    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?

    The description is three sentences, front-loaded with the core action, and every sentence provides unique information. No redundancy or unnecessary detail.

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

    Completeness3/5

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

    Given the complexity of a graph-generation tool and lack of output schema, the description explains the return value (HTML path) and visual encoding. However, it misses parameter explanations and does not set expectations about performance or source dependencies, leaving gaps for effective use.

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

    Parameters1/5

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

    With 0% schema description coverage and 6 parameters, the description must compensate but does not. Only 'topic' is implied. No explanation is given for limit_per_source, related_limit, from_year, to_year, or open_access_only, leaving the agent without necessary guidance for parameter usage.

    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 clearly states the tool's purpose: searching a topic and rendering an interactive citation/relatedness graph as an HTML file. The verb 'search' and 'render' are specific, and the resource (citation graph) is distinct from siblings like search_literature or deep_read_topic.

    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 description implies usage for visual exploration of citation relationships but does not explicitly state when to use this tool over alternatives or provide usage exclusions. No mention of when-not to use or comparison with sibling tools.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden. It discloses the download action and output format, but does not mention potential failures, network dependencies, or the scope of the text preview. The information is adequate but not exhaustive.

    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 description is two sentences with no redundant information. It is concise and front-loaded, effectively communicating the essential purpose and prerequisite.

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

    Completeness3/5

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

    Given no output schema, the description mentions the return type (local path and text preview) adequately. However, it lacks details on error handling, file naming, or the length of the preview, leaving some gaps for a complete understanding.

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

    Parameters2/5

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

    The description explains the 'doi' parameter by stating 'using its DOI', which provides context. However, the 'topic_hint' parameter is not explained at all, leaving its purpose unclear. With 0% schema description coverage, the description should compensate more fully.

    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 clearly states the action (download), the resource (paper PDF), the method (via Sci-Hub using DOI), and the output (local path and text preview). It effectively distinguishes from siblings like search_scihub and read_pdf_document.

    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?

    The description includes a prerequisite (SCIHUB_ENABLED=true) and implies the use case (having a DOI for a paper). It does not explicitly state when not to use or name alternatives, but the context is clear enough.

    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 present, so the description carries the full burden. It explains default behavior (result dict with pdf_paths), side effects (write_graph, write_to_zotero), fallback (include_scihub), and output format details (local paths, no base64). This provides substantial transparency, though it could mention rate limits or authentication requirements if applicable.

    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 description is divided into two focused paragraphs: the first states the high-level purpose, and the second details optional behaviors. Every sentence provides useful information, though it could be slightly shortened without losing key details. The structure supports quick scanning.

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

    Completeness3/5

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

    Given the tool's complexity (25 parameters, no output schema, no annotations), the description covers the main output structure and key options but omits explanations for many parameters. It provides enough context for basic usage but may leave agents uncertain about lower-level settings. Return values beyond paths are not detailed.

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

    Parameters3/5

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

    Schema description coverage is 0%, so the description must add meaning. It explains several key parameters (render_top_pages, attach_top_pdf, include_scihub, write_graph, etc.) and their effects. However, many parameters (e.g., limit_per_source, related_limit, download_top_n, chunk settings) are not described, leaving gaps. The description adds value but incompletely compensates for the lack of schema descriptions.

    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 starts with a clear verb and resource: 'Search, download, extract full text, and return evidence chunks plus local PDF paths for direct inspection.' It distinguishes itself from sibling tools like research_topic or search_literature by emphasizing local file paths and optional inline content, making its unique value proposition evident.

    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 description provides guidance on when to opt into inline content (e.g., 'when your client benefits: render_top_pages=True appends top paper's relevant pages as images...'), but it does not explicitly state when to prefer this tool over its siblings (e.g., research_topic, search_literature) or when to avoid it. The usage context is partially clear but lacks comparative guidance.

    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?

    Describes output format as [metadata_dict, image, ...] and notes the include_images option. With no annotations, description adds useful behavioral context beyond schema, though could expand on scale effect or error handling.

    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?

    Three sentences, front-loaded with action, no fluff. Could be slightly tighter, but effectively communicates key points.

    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?

    Explains purpose, output format, and the include_images option. Missing details on scale, performance, or error cases, but sufficient for an AI agent to use the tool effectively given the complexity.

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

    Parameters2/5

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

    With 0% schema coverage, description adds meaning only for include_images. pdf_path and page_numbers are clear from names, but scale is completely unexplained. Does not compensate adequately for missing parameter descriptions.

    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?

    Clearly states 'Render selected PDF pages to PNG' – specific verb and resource. Distinguishes from siblings (e.g., extract_local_pdf_text, get_pdf_page_text) which focus on text extraction.

    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?

    Implied usage for visual inspection of PDF content, but no explicit guidance on when to use versus alternatives or when not to use. Missing exclusions.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden. It describes the output but does not disclose behavioral traits like read-only nature, speed, or authentication needs. It is adequate but not rich.

    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?

    One sentence with eight words, no fluff, and no repetition. It is appropriately sized and front-loaded.

    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?

    Given no parameters and no output schema, the description is nearly complete. It specifies the return content. Missing a note on performance or prerequisites, but these are minor.

    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?

    No parameters exist, and the schema coverage is 100% trivially. Per guidelines, 0 parameters baseline is 4. The description adds no parameter info because none is needed.

    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 clear verb ('Return') and resource ('configuration summary and enabled integrations'), which is specific and distinguishable from sibling tools that perform research or document operations.

    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?

    No explicit guidance on when to use this tool or when not to. While the purpose is clear, there is no mention of context or alternatives, though no sibling tool serves the same purpose.

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

  • Behavior3/5

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

    No annotations are provided, so the description bears the full burden. It discloses that the operation is read-only (getting text) and works over the network without base64/filesystem. However, it does not explicitly state that it has no side effects or any error behavior. Given the simplicity, this is adequate but not comprehensive.

    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?

    The description is two sentences with zero wasted words. The first sentence states purpose and output; the second gives usage context and prerequisites. It is front-loaded and efficient.

    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?

    With no output schema, the description mentions the output is 'plain JSON' but does not detail its structure. However, for a simple text extraction tool with two parameters, the description covers the essential workflow and constraints. Minor improvement would be to specify the JSON format (e.g., mapping page numbers to text), but it's still fairly 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 0%, so the description must compensate. It explains that 'pdf_path' comes from deep_read_topic and that 'page_numbers' are 1-based and 'exact pages'. This adds meaningful context beyond the schema's bare type declarations, helping the agent understand parameter origins and behavior.

    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 clearly states the action ('Return the exact extracted text of specific PDF pages'), the resource ('PDF pages'), and the output format ('as plain JSON'). It distinguishes itself from siblings like read_pdf_document and extract_local_pdf_text by specifying 'over the wire' and avoiding base64/filesystem access.

    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 provides explicit guidance on when to use this tool ('for fine-grained lookups over the wire') and what prerequisite step is required ('Use deep_read_topic first to get the pdf_path and the page mapping'). It also contrasts with alternatives by noting it avoids base64 and shell access, making its use case clear.

    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 fully carries the transparency burden. It discloses default behavior (disk-only), optional inline embedding, bounds (max_mb, max_pages), and return format. It does not mention read-only safety but implies it via 'download' and 'read' context. No destructive actions are described, which is appropriate for a read 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/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is two compact paragraphs with no redundant sentences. The first sentence encapsulates the core purpose, and the second provides necessary detail on optional behavior. Every sentence adds value, and the structure is front-loaded with the primary action.

    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?

    Given no output schema, the description sufficiently explains the return format ([metadata, resource_link] with fields). It covers default and embed modes, size limits, and client usage examples. No critical gaps are apparent for a file-access tool.

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

    Parameters5/5

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

    The input schema has 0% description coverage, so the description must explain all parameters. It does so effectively: pdf_path is implied, embed_base64 is explained with client context, and max_mb/max_pages are described as bounding constraints. Every parameter receives semantic context beyond type/default.

    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 explicitly states the tool returns a PDF's local path or inlined content, with clear distinction between default and embed modes. It uses specific verbs ('Return', 'download') and resources ('PDF', 'local path'), and implicitly distinguishes from siblings focused on text extraction (e.g., extract_local_pdf_text) by focusing on file access rather than content parsing.

    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?

    The description provides clear guidance on when to use the default vs. embed mode, including client compatibility (local readers vs. Claude API integrations) and size constraints. However, it does not explicitly compare with sibling tools or state when not to use this tool (e.g., when text extraction is needed instead of whole file access).

    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

paper-pilot MCP server

Copy to your README.md:

Score Badge

paper-pilot MCP server

Copy to your README.md:

Latest Blog Posts

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/aytzey/paper-pilot'

If you have feedback or need assistance with the MCP directory API, please join our Discord server