arXiv MCP Server
The arXiv MCP Server enables LLMs to search, retrieve, and explore academic papers from arXiv via the MCP protocol. Key capabilities include:
Search papers (
search): Search by query with optional filters for category, author, and sort order, with pagination and sorting by relevance or dateAdvanced search (
searchAdvanced): Field-specific searches filtering by title, abstract, author, category, arXiv ID, and date rangesGet paper details (
getPaper): Retrieve metadata (title, abstract, authors, categories, URLs) for a specific paper using its arXiv ID or URLGet full paper content (
getContent): Fetch the complete text of a paper in markdown format via Jina Reader using an arXiv ID or URLBrowse recent papers (
getRecent): List the most recent papers from a specific arXiv category (up to 50)List categories (
listCategories): Get a full list of common arXiv category codes and names (e.g., cs.AI, cs.LG, stat.ML)
Provides tools for searching arXiv papers, retrieving paper metadata (titles, abstracts, authors, categories), accessing full paper content, and browsing recent publications by category.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@arXiv MCP Serversearch for recent papers about transformer architectures in cs.AI"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
arXiv MCP Server
A Model Context Protocol (MCP) server that provides arXiv paper search and retrieval capabilities. This server enables LLMs to search for academic papers on arXiv and get cleaned titles, abstracts, authors, and content without dealing with complex HTML parsing.
Features
Search papers by query, author, category, and date
Advanced search with specific field filters
Get detailed paper metadata (title, abstract, authors, categories)
Retrieve full paper content via Jina Reader
Browse recent papers by category
List all arXiv categories
Pagination support for search results
Related MCP server: arXiv MCP Server
Available Tools
search
Search arXiv for papers matching a query.
Argument | Type | Required | Description |
| string | Yes | Search query (e.g., 'LLM', 'transformer') |
| string | No | Filter by category (e.g., 'cs.AI', 'cs.LG') |
| string | No | Filter by author name |
| string | No | Sort order: 'relevance', 'date_desc', 'date_asc' |
| int | No | Page number (default: 1) |
| int | No | Results per page, max 50 (default: 25) |
search_advanced
Advanced search with specific field filters.
Argument | Type | Required | Description |
| string | No | Search in paper titles |
| string | No | Search in abstracts |
| string | No | Search by author name |
| string | No | Filter by category |
| string | No | Search by arXiv ID pattern |
| string | No | Start date (YYYY-MM-DD) |
| string | No | End date (YYYY-MM-DD) |
| string | No | Sort order |
| int | No | Page number |
| int | No | Results per page |
get_paper
Get detailed information about a specific arXiv paper.
Argument | Type | Required | Description |
| string | Yes | arXiv ID (e.g., '2301.00001') or full URL |
get_content
Get the full text content of an arXiv paper using Jina Reader.
Argument | Type | Required | Description |
| string | Yes | arXiv ID or full URL |
get_recent
Get recent papers from a specific arXiv category.
Argument | Type | Required | Description |
| string | No | Category code (default: 'cs.AI') |
| int | No | Number of papers, max 50 (default: 10) |
list_categories
List all common arXiv categories with their codes and names.
Installation
Using uv (Recommended)
# Clone the repository
git clone https://github.com/Ray0907/arXiv-mcp.git
cd arXiv-mcp
# Install with uv
uv syncUsing pip
# Clone the repository
git clone https://github.com/Ray0907/arXiv-mcp.git
cd arXiv-mcp
# Create virtual environment
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install
pip install -e .Configuration
Claude Desktop
Add to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"arxiv": {
"command": "uv",
"args": [
"--directory",
"/path/to/arXiv-mcp",
"run",
"arxiv-mcp"
]
}
}
}Claude Code
Add to your Claude Code MCP settings:
{
"mcpServers": {
"arxiv": {
"command": "uv",
"args": [
"--directory",
"/path/to/arXiv-mcp",
"run",
"arxiv-mcp"
]
}
}
}Usage Examples
Search for papers about LLMs
Search for recent papers about "large language models"Find papers by a specific author
Search for papers by "Yann LeCun" in the machine learning categoryGet paper details
Get the details of arXiv paper 2301.00001Browse recent papers
Show me the 10 most recent papers in cs.AIDevelopment
Run tests
uv run pytestRun the server locally
uv run arxiv-mcpCommon arXiv Categories
Code | Name |
cs.AI | Artificial Intelligence |
cs.CL | Computation and Language |
cs.CV | Computer Vision and Pattern Recognition |
cs.LG | Machine Learning |
cs.NE | Neural and Evolutionary Computing |
stat.ML | Machine Learning (Statistics) |
Use list_categories tool to get the full list.
Changelog
v0.4.0
Breaking Changes:
Upgraded to MCP Python SDK v2 (
mcp>=2.0.0); server now usesMCPServer(formerlyFastMCP)Structured output: all tools declare an
outputSchemaand return typed structured content (search/search_advancedreturnSearchResult,get_paperreturnsPaper,get_recentreturnsRecentPapers)list_categoriesstructured content is wrapped as{"result": [...]}because the MCP spec requiresstructuredContentto be a JSON objectErrors no longer return
{"error": "..."}dicts or error strings; all failures (HTTP errors, invalid arXiv ID, missing search fields) now raise and surface as standard MCP tool errors
Improvements:
New
RecentPapersmodel forget_recentresponses
v0.3.0
Breaking Changes:
Renamed all tools to snake_case:
search_advanced,get_paper,get_content,get_recent,list_categories(existing client configurations referencing camelCase names must be updated)
Security:
Fixed SSRF bypass in
get_content: non-arxiv.org URLs containing a valid arXiv ID in the path (e.g.https://evil.com/abs/2301.00001) are now correctly rejected
Improvements:
All tools are now
async defusinghttpx.AsyncClientHTTP errors return
{"error": "..."}dicts instead of raising exceptions, so the LLM can read and retryAll tools annotated with
readOnlyHint: trueandopenWorldHint: trueSearchResultnow includeshas_more: boolandnext_page: int | nullfor easier paginationlist_categoriespre-computes the category list at import time instead of on every call
v0.2.0
Breaking Changes:
Renamed entry point from
arxiv-server.pytoarxiv-mcpcommandRenamed
gettool togetContentfor clarity
New Features:
searchAdvanced- Advanced search with title, abstract, date range filtersgetPaper- Get detailed paper metadata (authors, categories, dates, PDF URL)getRecent- Browse recent papers by categorylistCategories- List 33 common arXiv categoriesPagination support (
page,page_sizeparameters)Sort options (
relevance,date_desc,date_asc)Filter by author and category in basic search
Improvements:
Migrated to
pyproject.tomlwith uv for dependency managementReplaced
requestswithhttpx(async-ready)Added Pydantic models for type-safe data structures
Reduced dependencies from 33 to 4 core packages
Added proper timeout handling (30s)
Modular project structure (
src/arxiv_mcp/)
v0.1.0
Initial release
Basic
searchandgettools
License
MIT License - see LICENSE for details.
Available Tools
6 toolsgetContentA
Get the full text content of an arXiv paper using Jina Reader.
Args:
id_or_url: arXiv paper ID (e.g., '2301.00001') or full arXiv URL
Returns:
Full text content of the paper in markdown format
| Name | Required | Description | Default |
|---|---|---|---|
| id_or_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the tool fetches content via Jina Reader and returns markdown, but doesn't mention rate limits, authentication needs, error conditions, or whether it caches results. It adds some behavioral context but lacks details on operational constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently structured with a clear purpose statement, followed by Args and Returns sections. Every sentence adds value: the first states what it does, the second explains the parameter, and the third specifies the output format. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (fetching content from arXiv), no annotations, and an output schema that likely defines the return structure, the description is mostly complete. It covers purpose, parameter semantics, and output format, but could improve by adding usage guidelines relative to siblings and more behavioral details like error handling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0%, so the description must compensate. It clearly explains the single parameter 'id_or_url' as an arXiv paper ID or full URL, with an example ('2301.00001'), adding crucial meaning beyond the schema's generic string type. This fully addresses the parameter's purpose and format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Get the full text content') and resource ('an arXiv paper'), using the Jina Reader service. It distinguishes from siblings like getPaper (likely metadata), getRecent (recent papers), listCategories (categories), and search/searchAdvanced (searching rather than retrieving full content).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when full text content in markdown format is needed, but doesn't explicitly state when to use this tool versus alternatives like getPaper (which might return metadata only). It provides context about using Jina Reader but lacks explicit exclusions or comparisons with sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getPaperA
Get detailed information about a specific arXiv paper.
Args:
id_or_url: arXiv paper ID (e.g., '2301.00001') or full arXiv URL
Returns:
Paper details including title, abstract, authors, categories, and URLs
| Name | Required | Description | Default |
|---|---|---|---|
| id_or_url | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but lacks behavioral details. It doesn't disclose whether this is a read-only operation, potential rate limits, authentication needs, error conditions, or what happens with invalid IDs/URLs. The description only states what it returns, not how it behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently structured with a clear purpose statement followed by Args and Returns sections. Every sentence adds value: the first states the tool's function, the second explains the parameter, and the third outlines the return data. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (single parameter, no output schema, no annotations), the description is partially complete. It covers the parameter semantics well and lists return fields, but lacks behavioral context like error handling or operational constraints, which is important for a tool interacting with an external API.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds significant semantic value beyond the input schema, which has 0% description coverage. It explains that 'id_or_url' accepts either an arXiv paper ID (with an example '2301.00001') or a full arXiv URL, clarifying the parameter's purpose and format that the schema alone doesn't provide.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Get detailed information') and resource ('about a specific arXiv paper'), distinguishing it from sibling tools like getRecent (recent papers), listCategories (categories), and search/searchAdvanced (searching). The verb+resource combination is precise and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by specifying 'a specific arXiv paper,' suggesting this tool is for known papers rather than discovery. However, it doesn't explicitly state when NOT to use it or name alternatives like getContent (which might fetch full text) or search (for unknown papers), leaving some guidance gaps.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getRecentB
Get recent papers from a specific arXiv category.
Args:
category: arXiv category code (default: 'cs.AI')
count: Number of papers to retrieve (max 50, default: 10)
Returns:
Recent papers from the specified category
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | cs.AI | |
| count | No |
TDQS
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. It mentions default values and a maximum count ('max 50'), which adds some context, but it doesn't cover critical aspects like rate limits, authentication needs, error handling, or what 'recent' means (e.g., time frame). For a tool with no annotations, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded: the first sentence states the purpose clearly, followed by structured 'Args' and 'Returns' sections. Every sentence earns its place by providing essential information without redundancy, making it efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (2 parameters, no annotations, no output schema), the description is minimally adequate. It covers purpose and parameters but lacks usage guidelines, detailed behavioral traits, and output specifics. With no output schema, it should ideally explain return values more thoroughly, but the basic structure keeps it from being incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaningful semantics beyond the input schema, which has 0% description coverage. It explains that 'category' is an 'arXiv category code' with a default, and 'count' is the 'Number of papers to retrieve' with a max and default. This compensates well for the schema's lack of descriptions, though it doesn't detail category code formats or retrieval logic fully.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get recent papers from a specific arXiv category.' It specifies the verb ('Get'), resource ('recent papers'), and scope ('from a specific arXiv category'), making it easy to understand. However, it doesn't explicitly differentiate from sibling tools like 'search' or 'searchAdvanced', which might also retrieve papers, so it doesn't reach the highest score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With siblings like 'search', 'searchAdvanced', 'getPaper', and 'getContent', there's no indication of scenarios where 'getRecent' is preferred (e.g., for time-based retrieval vs. keyword-based searches) or any prerequisites. This lack of context leaves the agent to guess based on tool names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listCategoriesA
List all common arXiv categories.
Returns:
List of arXiv categories with code, name, and group
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses the return format ('List of arXiv categories with code, name, and group'), which is valuable behavioral information. However, it lacks details on rate limits, authentication needs, error conditions, or whether the list is static/dynamic. The description adds some context but leaves gaps for a tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and well-structured: one sentence states the purpose, followed by a clear 'Returns:' section detailing the output format. Every sentence earns its place with zero redundant information. It's front-loaded with the core functionality.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 parameters, output schema exists), the description is reasonably complete. The output schema will document return values, so the description needn't explain them in detail. However, for a tool with no annotations, it could benefit from more behavioral context (e.g., caching, freshness). The description covers the essentials but has minor gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters with 100% schema description coverage, so the schema already fully documents the lack of inputs. The description appropriately doesn't waste space on parameters, maintaining focus on the tool's purpose and output. Baseline for 0 parameters is 4, as no parameter explanation is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'List all common arXiv categories' specifies the verb (list) and resource (arXiv categories). It distinguishes from siblings like getPaper or search by focusing on category metadata rather than paper content or search operations. However, it doesn't explicitly differentiate from all siblings (e.g., getContent could potentially overlap).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, appropriate contexts, or contrast with sibling tools like getRecent or searchAdvanced. The agent must infer usage from the purpose alone without explicit when/when-not instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchB
Search arXiv for papers matching the query.
Args:
query: Search query for arXiv papers (e.g., 'LLM', 'transformer architecture')
category: Filter by arXiv category (e.g., 'cs.AI', 'cs.LG', 'stat.ML')
author: Filter by author name
sort_by: Sort order - 'relevance', 'date_desc', 'date_asc'
page: Page number (default: 1)
page_size: Results per page, max 50 (default: 25)
Returns:
Search results with papers containing title, abstract, authors, and URLs
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| category | No | ||
| author | No | ||
| sort_by | No | relevance | |
| page | No | ||
| page_size | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions default values and max page size, which is helpful, but doesn't cover critical aspects like rate limits, authentication needs, error handling, or whether this is a read-only operation. For a search tool with 6 parameters, this leaves significant 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (Args, Returns) and uses bullet-like formatting. Every sentence adds value, though the 'Returns' section could be slightly more detailed given there's no output schema. It's appropriately sized for a 6-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (6 parameters, no annotations, no output schema), the description is adequate but has clear gaps. It covers parameters well but lacks behavioral context (rate limits, auth), usage guidance relative to siblings, and detailed return format. The 'Returns' section is minimal, which is problematic without an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description compensates well by providing clear semantics for all 6 parameters. It explains what each parameter does, provides examples for 'query' and 'category', specifies defaults for 'sort_by', 'page', and 'page_size', and notes the max value for 'page_size'. This adds substantial value beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Search arXiv for papers matching the query.' This specifies the verb ('Search'), resource ('arXiv papers'), and scope. However, it doesn't explicitly differentiate from sibling tools like 'searchAdvanced' or 'getRecent', which would require a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'searchAdvanced' or 'getRecent'. It lists parameters but doesn't explain the tool's role in the broader context of sibling tools. This leaves the agent without explicit usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchAdvancedB
Advanced search with specific field filters.
Args:
title: Search in paper titles
abstract: Search in abstracts
author: Search by author name
category: Filter by arXiv category (e.g., 'cs.AI', 'cs.LG')
id_arxiv: Search by arXiv ID pattern
date_from: Start date filter (YYYY-MM-DD format)
date_to: End date filter (YYYY-MM-DD format)
sort_by: Sort order - 'relevance', 'date_desc', 'date_asc'
page: Page number (default: 1)
page_size: Results per page, max 50 (default: 25)
Returns:
Search results with papers containing title, abstract, authors, and URLs
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | ||
| abstract | No | ||
| author | No | ||
| category | No | ||
| id_arxiv | No | ||
| date_from | No | ||
| date_to | No | ||
| sort_by | No | relevance | |
| page | No | ||
| page_size | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions pagination behavior (page, page_size with max 50) and sort options, which is helpful. However, it doesn't cover important aspects like rate limits, authentication requirements, error conditions, or whether this is a read-only operation (though 'search' implies 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections for Args and Returns. Each parameter explanation is concise yet informative. The opening sentence efficiently states the purpose. Minor improvement could be made by front-loading more context about when to use this versus other search tools.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter search tool with no annotations and no output schema, the description does a good job with parameters but has gaps. It explains what the tool returns at a high level but doesn't detail the response structure or error handling. The lack of usage guidelines relative to siblings is a significant completeness gap given the tool ecosystem.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description provides comprehensive parameter documentation that fully compensates. It explains each of the 10 parameters with clear semantics, including format requirements (YYYY-MM-DD), default values, constraints (max 50 for page_size), and enum values for sort_by. This adds significant value beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs 'Advanced search with specific field filters' which is a specific verb+resource combination. It distinguishes itself from the simpler 'search' sibling tool by emphasizing 'advanced' capabilities. However, it doesn't explicitly contrast with other siblings like 'getRecent' or 'getPaper'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus the simpler 'search' sibling or other alternatives like 'getRecent' or 'getPaper'. It mentions 'advanced search' but doesn't explain what makes it advanced compared to basic search or when field filtering is preferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Most tools have distinct purposes (getContent vs getPaper, search vs searchAdvanced), but there's significant overlap between 'search' and 'searchAdvanced' where both return search results with similar parameters. The descriptions help differentiate them, but an agent might struggle to choose between them for basic searches.
The naming follows a consistent verb_noun pattern throughout (getContent, getPaper, getRecent, listCategories, search, searchAdvanced). All tools use camelCase consistently, with 'searchAdvanced' being the only deviation from pure verb_noun structure, but it's still readable and follows the same casing convention.
With 6 tools, this is well-scoped for an arXiv server. Each tool serves a clear purpose in the paper discovery and retrieval workflow, from browsing categories to getting full content. The count is neither too sparse nor overwhelming for the domain.
The toolset covers core arXiv operations well: discovery (search, getRecent, listCategories), metadata retrieval (getPaper), and content access (getContent). Minor gaps include no paper submission/update tools (though arXiv is primarily read-only) and no citation or related paper features, but these aren't critical for typical agent workflows.
Maintenance
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
Search arXiv, fetch paper metadata, and read full-text content.
Find academic papers across major sources like arXiv, PubMed, bioRxiv, and more. Download PDFs whe…
Extract papers from ArXiv — titles, abstracts, authors, categories & PDF links. Monitor new AI, phys
Search arXiv/Semantic Scholar/OpenAlex + medical evidence (PubMed/Europe PMC) + LaTeX/PDF tools.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables searching, retrieving, and parsing academic papers from arXiv, including keyword search, PDF downloads, content extraction from HTML/PDF formats, and accessing the latest AI research papers.414MIT
- AlicenseBqualityDmaintenanceEnables searching and retrieving academic papers from arXiv by various criteria including title, author, and category, with support for extracting full text content from PDFs.4MIT
- AlicenseBqualityDmaintenanceEnables searching academic papers on arXiv and retrieving detailed information such as title, authors, summary, and PDF link.16MIT
- AlicenseNot gradedqualityCmaintenanceEnables agents to search, analyze, and explore arXiv academic papers with advanced multi-field search, author lookup, category browsing, citation extraction, and bibliography export.62Apache 2.0
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Ray0907/arXiv-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server