Skip to main content
Glama
jorgeguberte

ChinaRxiv MCP Server

by jorgeguberte

ChinaRxiv MCP Server

FastMCP server for the ChinaRxiv API.

Tools

  • search_papers

  • get_paper_detail

  • get_paper_full_text

  • get_paper_figures

  • download_paper_pdf

  • list_subjects

  • list_publications

  • get_api_stats

  • list_bulk_exports

  • health_check

Related MCP server: Paper Search MCP

Agent-friendly behavior

  • list_subjects(q, limit, offset, cache_bust, api_email) filters and paginates locally. Upstream is cached for 1 hour.

  • list_publications(q, limit, offset, cache_bust, api_email) lists journal keys accepted by the publication search filter. Upstream is cached for 1 hour.

  • download_paper_pdf(paper_id, include_base64, api_email) returns metadata by default: URL, content type, byte size, SHA-256 checksum, and a future resource URI. It only includes base64 when include_base64=true.

  • search_papers(...) supports the official field, date, availability, source, language, and publication filters. Pagination uses cursor.

  • Most tools accept optional api_email to override CHINARXIV_EMAIL for the upstream X-API-Email header.

  • API rate-limit headers are returned as rate_limit metadata when provided upstream.

  • Cache TTLs: subjects/publications 1h, stats 10min, bulk exports 6h, paper detail/text/figures/pdf 24h.

Tests

uv run pytest

Configuration

Create your local environment file from the provided example:

Copy-Item .env.example .env

Then edit .env with the values for your environment. The server loads this file automatically on startup. Variables already defined in the process environment take precedence over .env.

Local stdio

uv run python server.py

Docker

docker build -t mcp-chinarxiv .
docker run --rm -i --env-file .env mcp-chinarxiv

Hermes

If Hermes supports MCP over HTTP, run the container as a local service:

docker run -d --name mcp-chinarxiv -p 8765:8765 --env-file .env mcp-chinarxiv uv run fastmcp run server.py:mcp --transport http --host 0.0.0.0 --port 8765

Then add this server URL in Hermes:

{
  "mcpServers": {
    "chinarxiv": {
      "url": "http://127.0.0.1:8765/mcp"
    }
  }
}

If Hermes expects stdio MCP servers, let Hermes launch Docker directly:

{
  "mcpServers": {
    "chinarxiv": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "--env-file",
        ".env",
        "mcp-chinarxiv"
      ]
    }
  }
}

Environment

  • CHINARXIV_BASE_URL: defaults to https://chinarxiv.org

  • CHINARXIV_EMAIL: email sent in the upstream X-API-Email header

  • CHINARXIV_TIMEOUT: defaults to 30

  • CHINARXIV_USER_AGENT: defaults to mcp-chinarxiv/0.1

Available Tools

10 tools
download_paper_pdfC
Read-only

Download an English paper PDF, following the upstream redirect and returning file metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
paper_idYes
include_base64No
api_emailNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true. The description adds that it follows redirects and returns file metadata, which is helpful but doesn't disclose potential issues like file size limits or authentication requirements.

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, which is concise, but it lacks critical details that could be added without much length.

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 complexity (3 params, no schema descriptions) and the existence of output schema, the description is too sparse. It omits important context like file size, format, and behavior for non-English papers.

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 description coverage is 0%, and the description provides no additional meaning for the three parameters. It does not explain what paper_id represents, the purpose of include_base64, or when api_email 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 clearly states the action ('Download') and the resource ('English paper PDF'), and it distinguishes from sibling tools like get_paper_full_text (text) and get_paper_detail (metadata). The mention of 'following the upstream redirect' adds specificity.

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. There is no mention of prerequisites, limitations (e.g., only English papers), or scenarios where siblings would be preferred.

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

get_api_statsC
Read-only

Get ChinaRxiv API statistics.

ParametersJSON Schema
NameRequiredDescriptionDefault
cache_bustNo
api_emailNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint and openWorldHint. The description adds that it retrieves statistics, which is consistent but does not disclose additional behaviors such as rate limits or data freshness.

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 with no unnecessary words. However, it is too brief and omits important details.

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 existence of an output schema and two parameters, the description is incomplete. It fails to describe what statistics are returned or how to use the parameters effectively.

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 the description does not explain the two optional parameters (cache_bust, api_email). The agent has no information on their purpose or effect.

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 retrieves API statistics for ChinaRxiv, specifying the resource and action. This distinguishes it from sibling tools that focus on papers or health checks.

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 like health_check or list_bulk_exports. The description lacks any context about appropriate usage scenarios.

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

get_paper_detailB
Read-only

Get ChinaRxiv paper metadata/details by paper ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
paper_idYes
api_emailNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior2/5

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

The annotations already declare readOnlyHint: true and openWorldHint: true, so the description adds little behavioral context. It does not disclose what fields are returned, error behavior, or access requirements beyond what annotations indicate.

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 at 8 words, with no filler. It is front-loaded with the core action and resource, making it easy to parse quickly.

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 presence of an output schema and annotations covering read-only behavior and open-world semantics, the description is minimally adequate. However, it lacks any mention of edge cases (e.g., missing paper ID) or confirmation of single-result return, which would be helpful for a complete understanding.

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 description coverage is 0%, meaning no parameter descriptions exist in the schema. The description does not explain the meaning or format of 'paper_id' or 'api_email'. It adds no semantic value beyond the parameter names, which is insufficient for proper invocation.

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 it retrieves ChinaRxiv paper metadata/details by paper ID. It uses a specific verb ('Get') and resource ('paper metadata/details'), and distinguishes itself from sibling tools like download_paper_pdf, get_paper_full_text, and get_paper_figures, which target different aspects.

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 such as search_papers or get_paper_full_text. There are no contextual hints about prerequisites or exclusions, leaving the agent without direction for appropriate use.

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

get_paper_figuresC
Read-only

Get figure metadata or extracted figures for a ChinaRxiv paper.

ParametersJSON Schema
NameRequiredDescriptionDefault
paper_idYes
api_emailNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, indicating a safe read operation. The description adds that it retrieves figure metadata or extracted figures, but does not elaborate on behavioral traits like result structure or pagination. No contradiction with annotations.

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

Conciseness4/5

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

The description is a single clear sentence without unnecessary words. It is appropriately front-loaded, but could benefit from slight expansion on parameter usage without losing conciseness.

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 presence of an output schema and low tool complexity (2 parameters), the description is minimally adequate. However, the lack of parameter documentation and usage guidance reduces completeness for an 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?

Schema description coverage is 0%, and the description does not provide any additional meaning for the two parameters ('paper_id' and 'api_email'). The agent must infer their roles from names alone, which is 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 states 'Get figure metadata or extracted figures for a ChinaRxiv paper,' clearly indicating the action and target resource. However, it does not differentiate from sibling tools like get_paper_detail or get_paper_full_text which could also be used for paper content.

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, nor are there any prerequisites or exclusions mentioned. The description lacks context for choosing this tool over siblings.

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

get_paper_full_textA
Read-only

Get full text for a ChinaRxiv paper by paper ID. Returns markdown when the API provides it.

ParametersJSON Schema
NameRequiredDescriptionDefault
paper_idYes
api_emailNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior4/5

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

Annotations (readOnlyHint, openWorldHint) already indicate a safe, potentially varying read operation. The description adds that output is markdown only when the API provides it, which is a useful behavioral clue beyond the annotations.

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

Conciseness5/5

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

The description consists of two concise, front-loaded sentences. The first defines the core action, and the second adds a key qualifier, with no redundant information.

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?

While the output schema covers return values, the description omits parameter semantics and usage context. For a simple tool with two parameters, the description is adequate but leaves notable gaps, such as the role of api_email.

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%, and the description only mentions 'by paper ID' for paper_id, ignoring api_email entirely. It fails to explain the purpose or constraints of either parameter, leaving the agent uninformed despite the need for compensation.

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 retrieves full text for a ChinaRxiv paper using a paper ID, distinguishing it from siblings like download_paper_pdf (PDF format) and get_paper_detail (metadata only).

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 over alternatives. The description does not mention prerequisites, conditions, or sibling comparisons, leaving the agent without context for selection.

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

health_checkC
Read-only

Check ChinaRxiv API health.

ParametersJSON Schema
NameRequiredDescriptionDefault
api_emailNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

Description adds minimal beyond annotations (readOnlyHint, openWorldHint). Does not explain what 'health' means or any side effects. Annotations already indicate safe read operation.

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 short sentence, front-loaded. For a simple health check, this is appropriate, though lacks 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?

Low complexity tool with one optional parameter and output schema, but description does not clarify what constitutes health or the response format. Adequate but could be improved.

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 description coverage is 0% and description does not mention the api_email parameter. No added meaning over schema for this optional parameter.

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 verb 'check' and resource 'ChinaRxiv API health'. Unambiguous and distinct from sibling tools focused on papers and downloads.

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 like get_api_stats. Implied use for quick health check, but no explicit context or exclusions.

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

list_bulk_exportsA
Read-only

List available ChinaRxiv bulk exports. The upstream API documents this as rate limited.

ParametersJSON Schema
NameRequiredDescriptionDefault
cache_bustNo
api_emailNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare read-only and open-world. Description adds important rate limit information beyond annotations, warning the agent about throttling.

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?

Two succinct sentences, each earning its place: first states purpose, second adds behavioral context. No wasted words.

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?

Adequate for a simple listing tool with output schema, but the complete lack of parameter documentation (despite 0% schema coverage) leaves a significant gap for correct invocation.

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 description coverage is 0%, yet the description provides no explanation for the two parameters (cache_bust, api_email), leaving the agent to guess their purpose and 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 it lists ChinaRxiv bulk exports with a specific verb and resource. No sibling tool duplicates this function.

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?

Mentions rate limiting, giving context, but no explicit when-not-to-use or alternatives. Usage guidance is implied but minimal.

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

list_publicationsC
Read-only

List journals/publications with translated papers.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNo
limitNo
offsetNo
cache_bustNo
api_emailNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior2/5

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

Annotations already indicate readOnlyHint and openWorldHint, so the safety profile is covered. However, the description does not add any behavioral details beyond that, such as pagination, caching, or rate limits.

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

Conciseness4/5

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

The description is a single, concise sentence. While it efficiently conveys the core purpose, it could be slightly expanded to include parameter hints without losing conciseness.

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?

Despite having an output schema, the description does not hint at the return structure or field details. With 5 parameters and no explanations, the tool definition is insufficient for an agent to use effectively.

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 description coverage is 0%, and the description fails to explain any of the five parameters (q, limit, offset, cache_bust, api_email). The purpose of each parameter remains unclear, burdening the agent to infer from names alone.

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 journals/publications with translated papers, providing a specific verb and resource. However, it does not distinguish from sibling tools like search_papers or list_subjects, which could also list publications.

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 such as search_papers or get_paper_detail. The description lacks context for appropriate usage scenarios.

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

list_subjectsC
Read-only

List ChinaRxiv subjects.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNo
limitNo
offsetNo
cache_bustNo
api_emailNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

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

Annotations provide readOnlyHint and openWorldHint, but the description adds no additional behavioral context, such as data freshness, ordering, or pagination behavior.

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?

While very short, the description is under-specified for a tool with 5 parameters; it sacrifices necessary detail for brevity.

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 description lacks sufficient context for a tool with multiple parameters and an output schema; it does not explain what subjects are or how parameters affect the result.

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 description coverage is 0%, yet the description does not explain any parameters. Without parameter descriptions, the agent cannot correctly use optional parameters like 'q' or 'limit'.

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 it lists subjects from ChinaRxiv. While brief, it specifies the resource and action, but does not explicitly distinguish from sibling tools like 'list_publications' or 'list_bulk_exports'.

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; no context about prerequisites or typical use cases.

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

search_papersC
Read-only

Search and filter papers in the unified ChinaRxiv/RussiaRxiv corpus.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNo
search_fieldNo
subjectNo
from_dateNo
to_dateNo
has_full_textNo
has_figuresNo
has_pdfNo
sourceNo
original_languageNo
publicationNo
cursorNo
api_emailNo
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the description does not need to repeat that. However, it adds no further behavioral context such as pagination via cursor or rate limits, which would be valuable for an open-world query 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 a single, clear sentence with no filler. It is appropriately brief for its task.

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?

Despite having an output schema, the description is too minimal for a tool with 14 parameters. Important usage context like available search fields, date format expectations, and pagination behavior are missing.

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 14 parameters, the description provides no explanation of any parameter. The single sentence 'Search and filter papers' does not convey what fields, values, or formats are expected.

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 states the verb 'search and filter' and the resource 'papers in the unified ChinaRxiv/RussiaRxiv corpus.' It clearly identifies the tool's purpose and distinguishes it from sibling tools like get_paper_detail or download_paper_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, nor are there any exclusions or prerequisites. The description lacks context for selecting this tool over siblings.

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

TDQS

B3.4/5.0
Disambiguation5/5

Each tool targets a distinct resource or action: downloading PDFs, retrieving metadata, full text, figures, searching, listing various entities, and health/stats. No two tools have overlapping purposes.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (e.g., download_paper_pdf, get_paper_detail, list_subjects). Minor exception like health_check still fits the pattern.

Tool Count5/5

With 10 tools, the server is well-scoped for a preprint repository access tool. Each tool serves a clear purpose without unnecessary duplication.

Completeness4/5

Core operations for finding and retrieving papers are covered: search, metadata, full text, figures, PDF download. Minor gaps like browsing by author or getting recent papers are missing but search can partially compensate.

Maintenance

ActivityStale
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    D
    maintenance
    Enables AI agents to search and retrieve academic papers from China National Knowledge Infrastructure (CNKI), supporting various search types including subject, keyword, author, and DOI lookups.
    3
    21
  • A
    license
    B
    quality
    B
    maintenance
    Enables searching and downloading academic papers from 14 platforms including arXiv, PubMed, Google Scholar, Web of Science, Springer, and Sci-Hub with unified data format and intelligent rate limiting.
    19
    931
    182
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Unified academic search MCP server that searches open literature (arXiv, bioRxiv, medRxiv, PMC), CNKI, and Web of Science, with browser-backed authentication, local paper library, and export to multiple formats.
    21
    2
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables querying bioRxiv and medRxiv preprints, including metadata, publication status, and submission counts, through natural language or direct tool calls.
    18
    MIT

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/jorgeguberte/chinarxiv-mcp-server'

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