Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool has a clearly distinct purpose: categories, search, metadata fetch, full-text read, raw download, and session/cache management. There is no overlap or ambiguity between tool boundaries.

    Naming Consistency5/5

    All tool names use snake_case and follow a consistent verb_noun pattern (list_categories, search_papers, get_paper, read_paper, download_paper, start_session, end_session, clear_cache), with the only slight deviations being session_status and cache_stats, which are still intuitive and consistent with the overall scheme.

    Tool Count5/5

    Eleven tools is well-scoped for an arXiv server, covering search, retrieval, reading, downloading, and cache/session management. Each tool serves a clear need without unnecessary bloat or thinness.

    Completeness5/5

    The tool surface comprehensively covers the arXiv domain: category discovery, search, fetching metadata, reading full text, downloading raw files, and managing caching sessions. There are no obvious gaps for typical arXiv usage.

  • Average 4.2/5 across 11 of 11 tools scored. Lowest: 3.3/5.

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

    • No community issues in the last 6 months
    • 3 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is failing
  • 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 provided, the description must fully disclose behavioral traits. It implies a read-only operation via 'Report' but does not explicitly state it is non-destructive, nor does it describe behavior for missing/invalid session IDs or whether the session must be active. The lack of explicit safety info is a significant gap.

    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 a single sentence with no redundant words, efficiently conveying the tool's core function. It is appropriately front-loaded and easy to parse.

    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?

    The tool is simple, has an output schema (so return values needn't be explained), and one parameter. However, the description lacks contextual completeness regarding the session lifecycle (e.g., relationship to start_session/end_session) and does not mention error conditions or prerequisites. This leaves gaps for an agent deciding to invoke it.

    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?

    The input schema has 0% description coverage for the single parameter 'session_id'. The description's 'pinned to a session' provides contextual meaning that session_id identifies the session of interest, partially compensating for the schema gap. However, it does not specify format, constraints, or how to obtain a valid session_id.

    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 'Report the papers pinned to a session' uses a specific action (report) and target (papers pinned to a session), clearly differentiating it from sibling tools like get_paper (single paper) and start_session/end_session (session lifecycle). It is not a tautology and provides a precise scope.

    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. It does not mention prerequisites such as an active session, nor does it exclude cases where other tools (e.g., search_papers) would be more appropriate. The agent is left without selection criteria.

    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 present, so the description carries the burden. It adds useful behavioral context: ordering (most-recently-accessed first) and output fields (size, pin state). However, it does not disclose whether it is read-only, requires a session, or has other side effects.

    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?

    A single, front-loaded sentence conveys the action, resource, ordering, and output fields with no redundancy. Every word earns its place.

    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 the simplicity of the tool (no parameters) and the existence of an output schema, the description covers the essential aspects: what it lists, ordering, and included fields. It could optionally mention whether a session is required, but that is not critical for this simple list operation.

    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?

    The tool has zero parameters, and the schema confirms this. The description adds meaning by specifying the resource ('cached papers') and the information shown, which is the baseline expectation for parameterless tools.

    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 lists cached papers with ordering and the fields returned (size and pin state). It distinguishes from siblings like list_categories and cache_stats through the specific resource 'cached papers', but does not explicitly name alternatives.

    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. The description implies it is for viewing cached papers, but it does not mention exclusions, prerequisites, or related tools like search_papers or cache_stats.

    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 carries the full burden. It discloses the pinning and non-eviction behavior, which is valuable. However, it does not mention idempotency, what happens if the session_id already exists, or any potential side effects, leaving some behavioral gaps.

    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, front-loaded with the primary action, and every sentence serves a purpose. There is no wasted wording.

    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 tool is simple with one parameter and an output schema. The description covers the main behavior and lifecycle, and it references end_session for the closing action. It is sufficiently complete for the tool's complexity, though it could mention error conditions or session re-use.

    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?

    The schema only provides a string session_id, but the description adds meaning by explaining that papers fetched with this session_id are pinned. This connects the parameter to the tool's core functionality, adding value beyond 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 clearly states the tool's purpose: 'Open a caching session.' It also specifies the unique behavior of pinning papers until end_session, which distinguishes it from sibling tools like session_status and cache_stats.

    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 caching papers across intervals and mentions pairing with end_session, but it does not explicitly state when to use this tool versus alternatives or provide any exclusions. The guidance is implied rather than explicit.

    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 provided, the description carries the full burden of behavioral disclosure. It mentions that the file is stored in the cache and that the local path is returned, but it does not mention potential side effects like overwriting cached files, network access requirements, or error conditions. This is a moderate level of transparency.

    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, consisting of two sentences that are front-loaded with the action ('Download'). Every sentence adds value: the first specifies the resource and format, the second clarifies return value and the alternative tool. No wasted words.

    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 the tool's relative simplicity and the presence of an output schema, the description covers the core functionality well. It explains the return value explicitly, gives format options, and contrasts with a sibling tool. The only gap is the unexplained session_id parameter, which could affect session-related usage. Overall, it is nearly complete for common use cases.

    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 coverage is 0%, so the description must compensate for the lack of parameter descriptions. It explains the fmt parameter by listing the allowed values (pdf or source/LaTeX tarball) and implies that paper_id is the identifier. However, session_id is not explained at all, leaving one of three parameters ambiguous.

    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 downloads a paper's raw pdf or source tarball into the cache, which is a specific verb+resource+scope. It also distinguishes itself from the sibling tool read_paper by explicitly noting that read_paper extracts text instead.

    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 tells the agent to use read_paper when extracted text is needed, providing a clear alternative and the condition for choosing that alternative over this tool. This meets the 'explicit alternatives' criterion.

    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 carries the burden of disclosing side effects. It explicitly states that papers are unpinned and become eligible for eviction, which is important behavioral information beyond simply 'closing' a session.

    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 a single, clear sentence that front-loads the action and adds a meaningful detail. No waste; every word earns its place.

    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?

    For a simple tool with one parameter and an output schema, the description covers the core purpose and the key side effect. It could mention prerequisites (e.g., session must exist) but that's a minor gap given the simple nature and available output schema.

    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 coverage is 0%, but the only parameter, session_id, is implicitly understood from the description ('Close a session'). The description does not explicitly explain the parameter, but the name is self-explanatory given the tool's purpose.

    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 with a specific verb ('Close') and resource ('a session'), and adds the important consequence of unpinning papers. This distinguishes it from siblings like start_session and session_status.

    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 context is clear: use this tool to end a session and make its papers evictable. While it doesn't explicitly name alternatives, the meaning is obvious and distinct from siblings like start_session or clear_cache.

    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 responsibility. It discloses caching behavior ('Served from cache when possible'), return contents (normalized metadata plus derived URLs), and accepted id forms. Although it does not explicitly state read-only status, the verb 'fetch' implies a non-mutating 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/5

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

    The description is three focused sentences: purpose, accepted id formats, and caching/return behavior. Every sentence contributes value, and the front-loaded purpose allows quick comprehension.

    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 tool has an output schema, so detailed return fields are unnecessary. The description covers the main input variants, caching behavior, and output summary. The only gap is session_id, but for a straightforward metadata fetch, the overall behavior is sufficiently specified.

    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?

    The description adds rich meaning to paper_id by listing multiple accepted id formats (arXiv, URL, DOI), going well beyond the schema's bare string type. However, session_id is not mentioned at all, leaving its purpose and effect undocumented. With 0% schema coverage, this is a notable omission.

    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 ('Fetch'), the resource ('full metadata for one paper'), and the input method ('by arXiv id'). This distinguishes it from siblings like search_papers (search) and read_paper (content), and the enumerated id forms make the tool's scope unambiguous.

    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 context for when to use the tool (to retrieve full metadata for a single paper) and details acceptable input formats. However, it does not explicitly compare with alternatives like read_paper or download_paper, so no exclusions are stated.

    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 of behavioral disclosure. 'Report' accurately implies a read-only, non-destructive operation, but the description does not elaborate on additional behaviors like whether it requires an active session, the granularity of 'sessions' (active vs. historical), or any performance considerations. It meets the minimum bar but lacks depth.

    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 a single, front-loaded sentence with no redundant phrasing. It efficiently communicates the tool's purpose and the specific data points reported, earning each word's place.

    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 the tool's simplicity (zero parameters), the presence of an output schema (which covers return values), and 100% schema description coverage, the description is sufficiently complete. It enumerates the key metrics reported, providing enough context for an agent to select and invoke the tool without further ambiguity.

    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?

    The input schema has zero parameters, so there are no parameter meanings to explain. Per the calibration baseline, a tool with 0 parameters receives a 4. The description's enumeration of reported metrics (paper count, disk usage, limits, sessions) adds value by elaborating on the tool's output focus.

    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?

    Purpose is explicitly stated with a specific verb ('Report') and resource ('cache usage'), enumerating the key metrics (paper count, disk usage, limits, sessions). This distinguishes it from siblings like list_cached (which lists cached papers) and clear_cache (which removes them).

    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 clearly indicates the tool is for reporting cache usage, providing a clear context for use. However, it does not explicitly mention when not to use it or name alternative tools that might be more appropriate for specific tasks, such as list_cached for individual cached items.

    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 carry the burden. It discloses a key nuance: pinned papers are retained unless drop_pinned is set. However, it does not explicitly mention whether eviction is permanent, what happens to open sessions, or any side effects on session data. The term 'evict' implies removal but could be clearer about irreversibility.

    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, front-loaded with the primary purpose and then a clarifying note on the parameter. No filler or redundant information. Every word earns its place.

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

    Completeness4/5

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

    An output schema exists, so return values need not be explained in the description. The tool's behavior is adequately described: it evicts cached papers, respects pinned papers by default, and provides an option to remove everything. It could add a note about checking cache state (e.g., using list_cached) before clearing, but this is not essential here.

    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 provides no description for the single parameter drop_pinned. The description fully explains its effect: setting it removes everything, while the default leaves pinned papers. This is excellent compensation for 0% schema description coverage.

    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 specific verb and resource: 'Evict cached papers.' This clearly states the tool's function and distinguishes it from siblings like list_cached (which lists) and cache_stats (which reports statistics). The mention of pinned papers adds further specificity.

    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 explains the default behavior (leaves pinned papers) and how to override it with the drop_pinned parameter. It implicitly tells when to use the tool (to clear cache) but does not explicitly contrast with alternatives or state when not to use it. Still, the guidance is concrete and actionable.

    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 carries the burden. It discloses the core behavior (listing categories) and the filtering/narrowing behavior with group prefixes or full IDs. It does not state return format, but an output schema exists, so that is covered elsewhere.

    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 concise sentences, front-loaded with a clear statement of what the tool does, followed by a useful example. No unnecessary verbiage.

    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?

    The tool is simple with one optional parameter and an output schema provided. The description fully conveys its purpose and parameter usage, making it complete for the given complexity.

    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 provides zero descriptions for the 'group' parameter, but the description fully compensates by explaining what prefixes and full IDs mean, with examples (cs, math, astro-ph, cs.AI). This makes the parameter totally clear.

    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 a specific action ('List arXiv subject categories') and its intended purpose ('for building cat: filters'), which distinguishes it from the sibling tools that handle paper retrieval and sessions.

    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 explains where this fits in the workflow ('for building cat: filters') and gives concrete usage instructions (passing a group prefix or full category ID). It does not explicitly mention alternatives, but no alternative exists among siblings, so this is clear and adequate.

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

  • Behavior5/5

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

    With no annotations, the description carries full burden. It discloses extraction preferences (arXiv HTML/LaTeX source falls back to PDF), permanent caching per version, pagination behavior (1-based page, character-based page_size, total_pages, has_more), and version resolution. This gives the agent a thorough understanding of the tool's behavior beyond the schema.

    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 well-structured and concise: the first sentence states the core purpose, followed by precise implementation details. Every sentence adds value, with important parameters and response behavior described using code formatting for clarity. No redundant content.

    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 the output schema exists, the description adequately covers return fields (total_pages, has_more) and explains pagination, extraction, caching, and versioning. However, session_id remains unexplained, and there is no explicit guidance on when to choose this over get_paper or download_paper. Overall it is nearly complete but has minor gaps.

    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 descriptions are absent (0% coverage), but the description explains page (1-based), page_size (characters per page), and paper_id (version inclusion and bare id resolution to latest). session_id is not explained, leaving one of four parameters undocumented. This provides substantial added meaning beyond the schema but not full coverage.

    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 'Read a paper's full text' with a specific verb and resource, and distinguishes itself from siblings like download_paper (which likely saves files) and get_paper (which might provide metadata) by focusing on full text with pagination. The extraction and version details further clarify its unique role.

    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?

    Provides clear context on when to use this tool (to read full text, paginated to avoid context overflow) and how to handle versions via the id. However, it does not explicitly name alternative tools or state when not to use it, though the sibling list implies differentiation.

    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 the full burden. It discloses the 2000 result cap, 30000 total pagination limit, and the session cache-pinning side effect, which are meaningful behavioral details beyond the schema.

    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 well-organized into three focused paragraphs, front-loaded with the core purpose. Every sentence adds necessary detail, and the length is appropriate for the tool's complexity.

    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?

    Despite having no annotation support, the description covers query construction, parameter semantics, limits, pagination, and side effects. An output schema exists, so return values need not be explained in prose. This is complete for a search 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?

    Schema coverage is 0%, so the description must compensate. It explains every parameter: query syntax, category/author/title/abstract shortcuts, id_list alternative, sort_by/sort_order allowed values, max_results cap, start pagination, and session_id caching behavior. This is comprehensive.

    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 'Search arXiv and return compact paper metadata,' identifying the specific verb, resource, and return type. It distinguishes from siblings by emphasizing search over retrieval (e.g., id_list vs get_paper).

    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?

    Provides clear guidance on using raw query syntax vs structured shortcuts vs id_list, and explains pagination with start/max_results. However, it does not explicitly contrast with sibling tools like get_paper or download_paper, so it stops short of full alternative 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

arxiv-mcp MCP server

Copy to your README.md:

Score Badge

arxiv-mcp 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/Himasnhu-AT/arxiv-mcp'

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