mcpField
A
Arxiv Mcp Server

Arxiv Mcp Server

Local
arxiv.orgData & Analytics19Updated 64w ago

About Arxiv Mcp Server

arXiv MCP Server is an MCP server that lets AI assistants search, analyze and export arXiv.org papers. It targets researchers and literature reviewers, with citation analysis, trend statistics and multi-format export.

Key features

  1. 01Search by keyword, author and category
  2. 02Paper details and formatted summaries
  3. 03Estimated citation metrics and impact analysis
  4. 04Trend statistics for publications, authors and keywords
  5. 05Export to BibTeX, JSON, CSV and Markdown

Use cases

  1. 01Letting an AI assistant find recent papers by topic or author
  2. 02Exporting reference lists as BibTeX for writing
  3. 03Tracking research topics within an arXiv category over time

MCP support

This project is an MCP server that exposes tools such as search_arxiv, get_paper, analyze_trends and export_papers to MCP clients for accessing arXiv paper data.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

arXiv MCP Server Client

A comprehensive Model Context Protocol (MCP) implementation for interacting with arXiv.org, enabling AI assistants to search, retrieve, analyze, and export academic papers seamlessly.

🚀 Features

Core Functionality
  • Paper Search: Advanced search with keywords, authors, titles, and categories
  • Paper Retrieval: Get detailed metadata for specific arXiv papers
  • Smart Summaries: Generate formatted paper summaries with key information
Advanced Tools
  • Author Search: Find all papers by specific researchers
  • Category Browsing: Explore papers in specific arXiv categories (cs.AI, cs.LG, etc.)
  • Recent Papers: Get latest publications with customizable time ranges
  • Paper Comparison: Side-by-side analysis of multiple papers
  • Related Papers: Discover papers related to a given work using intelligent matching
  • Citation Analysis: Estimated citation metrics and impact analysis
  • Trend Analysis: Research trend analysis with publication counts, top authors, and keyword frequency
  • Multi-format Export: Export papers in BibTeX, JSON, CSV, and Markdown formats

📦 Installation

Using Poetry (Recommended)
# Clone the repository
git clone https://github.com/yourusername/arxiv-mcp-client.git
cd arxiv-mcp-client

# Install dependencies
poetry install

# Activate virtual environment
poetry shell
Using pip
# Install dependencies
pip install mcp httpx

# Run the client
python arxiv_mcp_client.py

🛠️ Usage

Basic Setup
import asyncio
from arxiv_mcp_client import ArxivMCPClient

async def main():
    # Initialize client
    client = ArxivMCPClient()
    
    # Connect to MCP server
    await client.connect("arxiv_mcp_server.py")
    
    # Your code here...
    
    # Close connection
    await client.close()

asyncio.run(main())
Search Examples
# General search
results = await client.search_papers("transformer neural networks", max_results=10)

# Search by author
papers = await client.search_by_author("Geoffrey Hinton", max_results=20)

# Search by category
ai_papers = await client.search_by_category("cs.AI", max_results=15)

# Get recent papers
recent = await client.get_recent_papers("cs.LG", days_back=7, max_results=10)
Paper Analysis
# Get paper details
paper = await client.get_paper_details("2301.07041")

# Get formatted summary
summary = await client.get_paper_summary("2301.07041")

# Compare papers
comparison = await client.compare_papers(
    ["2301.07041", "2302.13971"], 
    comparison_fields=["authors", "abstract", "categories"]
)

# Find related papers
related = await client.find_related_papers("2301.07041", max_results=10)
Export and Analysis
# Export to BibTeX
bibtex = await client.export_papers(
    ["2301.07041", "2302.13971"], 
    format="bibtex", 
    include_abstract=True
)

# Analyze research trends
trends = await client.analyze_trends(
    category="cs.AI", 
    time_period="3_months", 
    analysis_type="top_authors"
)

🔧 Available Tools

ToolDescriptionKey Parameters
search_arxivGeneral paper searchquery, max_results, sort_by
get_paperGet specific paper detailsarxiv_id
summarize_paperGenerate formatted summaryarxiv_id
search_by_authorFind papers by authorauthor_name, max_results
search_by_categoryBrowse category paperscategory, max_results, sort_by
get_recent_papersGet latest publicationscategory, days_back, max_results
compare_papersCompare multiple papersarxiv_ids, comparison_fields
find_related_papersDiscover related workarxiv_id, max_results
get_paper_citationsCitation analysisarxiv_id
analyze_trendsResearch trend analysiscategory, time_period, analysis_type
export_papersMulti-format exportarxiv_ids, format, include_abstract

📊 Supported Categories

Computer Science
  • cs.AI - Artificial Intelligence
  • cs.LG - Machine Learning
  • cs.CV - Computer Vision
  • cs.CL - Computation and Language
  • cs.CR - Cryptography and Security
  • cs.DB - Databases
  • cs.DS - Data Structures and Algorithms
Mathematics
  • math.CO - Combinatorics
  • math.ST - Statistics Theory
  • math.PR - Probability
  • math.OC - Optimization and Control
Physics
  • physics.comp-ph - Computational Physics
  • physics.data-an - Data Analysis
  • quant-ph - Quantum Physics

See full category list

📄 Export Formats

BibTeX
@article{2301_07041,
  title={Title of the Paper},
  author={Author One and Author Two},
  journal={arXiv preprint arXiv:2301.07041},
  year={2023},
  url={https://arxiv.org/abs/2301.07041}
}
JSON
{
  "id": "2301.07041",
  "title": "Title of the Paper",
  "authors": ["Author One", "Author Two"],
  "abstract": "Paper abstract...",
  "published": "2023-01-17",
  "categories": ["cs.AI", "cs.LG"]
}
CSV
id,title,authors,published,categories,url
2301.07041,Title of the Paper,"Author One; Author Two",2023-01-17,"cs.AI; cs.LG",https://arxiv.org/abs/2301.07041

🔍 Search Query Examples

Basic Searches
# Keyword search
await client.search_papers("neural networks")

# Multiple keywords
await client.search_papers("transformer attention mechanism")

# Exact phrase
await client.search_papers('"large language models"')
Advanced Searches
# Author search
await client.search_by_author("Yoshua Bengio")

# Category search  
await client.search_by_category("cs.AI")

# Recent papers in category
await client.get_recent_papers("cs.LG", days_back=14)

📈 Trend Analysis Types

Publication Count Analysis

Tracks the number of papers published over time in a specific category.

trends = await client.analyze_trends("cs.AI", "6_months", "publication_count")
# Returns: monthly publication counts
Top Authors Analysis

Identifies the most prolific authors in a field over a given period.

trends = await client.analyze_trends("cs.LG", "1_year", "top_authors")
# Returns: authors ranked by paper count
Keyword Frequency Analysis

Analyzes the most common keywords in paper titles within a category.

trends = await client.analyze_trends("cs.CV", "3_months", "keyword_frequency")
# Returns: keywords ranked by frequency

🚨 Error Handling

The client includes comprehensive error handling:

try:
    results = await client.search_papers("machine learning")
    if "error" in results:
        print(f"Search failed: {results['error']}")
    else:
        print(f"Found {len(results['papers'])} papers")
except Exception as e:
    print(f"Connection error: {e}")

🔧 Configuration

Rate Limiting

The client respects arXiv's API guidelines with built-in rate limiting and timeout handling.

Customization
# Custom timeout
client = ArxivMCPClient()
client.http_client = httpx.AsyncClient(timeout=60.0)

# Custom result limits
results = await client.search_papers("AI", max_results=50)  # Max: 100

🤝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

  • arXiv.org for providing free access to academic papers
  • Anthropic for the Model Context Protocol
  • The open-source community for the underlying libraries

📞 Support


Made with ❤️ for the research community

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.