Skip to main content
Glama
arXiv MCP Server

arXiv MCP Server

by lingqukan

arXiv MCP Server

An MCP (Model Context Protocol) server that lets LLMs like Claude search and fetch arXiv papers directly.

中文文档

Features

  • Fetch recent papers from any arXiv category and store them locally

  • Query papers with flexible filtering by date, category, title, and entry ID

  • Retrieve full abstracts on demand for papers of interest

  • Clean up old papers from the local database

  • Database statistics by publication date and category

Tools

Tool

Parameters

Description

fetch_papers

category, date=None, num_days=3, max_results=100

Fetch recent papers from arXiv API and store in local database

count_papers_on_date

category, date

Count how many papers were published in a category on a specific date

query_papers

date=None, categories=None, title=None, entry_ids=None, fields=None, max_results=500

Query local database with flexible filtering and field selection

cleanup_papers

before_date=None, date=None, categories=None

Delete papers by date and/or category

get_stats

—

Paper counts by publication date and top categories

Design principle: fetch_papers and query_papers return only titles and metadata by default to save context. Use query_papers(fields=["abstract"]) when you need abstracts for specific papers.

Installation

Add to your ~/.claude.json under mcpServers:

{
  "mcpServers": {
    "arxiv": {
      "command": "uvx",
      "args": ["arxiv-today-mcp"],
      "type": "stdio"
    }
  }
}

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "arxiv": {
      "command": "uvx",
      "args": ["arxiv-today-mcp"]
    }
  }
}

Usage Example

  1. Browse today's papers: Ask Claude "What's new in cs.AI today?" — Claude will call fetch_papers then query_papers, returning titles grouped by topic.

  2. Get details: "Tell me more about papers 2 and 5" — Claude will call query_papers with those entry IDs and fields=["abstract"] to summarize the abstracts.

Configuration

The database path can be overridden with an environment variable:

{
  "mcpServers": {
    "arxiv": {
      "command": "uvx",
      "args": ["arxiv-today-mcp"],
      "env": {
        "ARXIV_MCP_DB_PATH": "/your/custom/path/papers.db"
      }
    }
  }
}

Requirements

Available Tools

5 tools
cleanup_papersA

Delete papers from the local database by date and/or category.

At least one filter must be provided to prevent accidental full deletion.
Filters are combined with AND logic.

Args:
    before_date: Delete papers published before this date (exclusive), e.g. "2026-03-01"
    date: Delete papers published on this specific date, e.g. "2026-03-18"
    categories: Delete only papers in these categories (OR logic), e.g. ["cs.AI", "cs.LG"]

Inputs: before_date, date, categories. Returns: result

count_papers_on_dateA

Count how many papers were published in an arXiv category on a specific date.

Use this before fetch_papers to check the volume of papers for a given day,
so you can decide how many to fetch with fetch_papers(max_results=N).

Args:
    category: arXiv category (e.g. "cs.AI", "cs.CL", "stat.ML")
    date: Date in YYYY-MM-DD format (e.g. "2026-03-18")

Inputs: category (required), date (required). Returns: result

fetch_papersA

Fetch recent papers from arXiv API and store them in the local database.

Returns only fetched paper titles (not abstracts) to save context.
Use query_papers(entry_ids=[...], fields=["abstract"]) to retrieve abstracts for specific papers.

Args:
    category: arXiv category (e.g. "cs.AI", "cs.CL", "stat.ML")
    date: Fetch papers published on a specific date in YYYY-MM-DD format.
          When provided, takes priority over num_days.
    num_days: Number of days to look back (default: 3). Ignored when date is set.
    max_results: Maximum number of papers to fetch (default: 100)

Inputs: category (required), date, num_days, max_results. Returns: result

get_statsA

Get statistics about papers stored in the local database.

Returns total count, date range, per-date breakdown, and top categories.

Inputs: no named parameters. Returns: result

query_papersA

Query papers from the local database with flexible filtering and field selection.

All filter parameters are combined with AND logic. Within categories, OR logic is used.
If no filter parameters are provided, returns the most recent papers up to max_results.

Args:
    date: Filter by publication date in YYYY-MM-DD format (e.g. "2026-03-18")
    categories: Filter by one or more arXiv categories (OR logic), e.g. ["cs.AI", "cs.LG"]
    title: Filter by title keyword (title field only, not abstract; case-insensitive for ASCII)
    entry_ids: Fetch specific papers by their arXiv entry IDs. Typically used alone;
               combining with other filters applies AND logic and may return fewer results
               than expected if the other conditions do not match.
    fields: Fields to return. Valid: entry_id, title, authors, abstract, url, published, updated, categories.
            Defaults to: entry_id, title, authors, published, url
    max_results: Maximum number of results to return (default: 500)

Inputs: date, categories, title, entry_ids, +2 more. Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.4/5.0

    Scored across 5 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose with no overlap: cleanup_papers deletes papers, count_papers_on_date counts papers for a specific date/category, fetch_papers retrieves papers from arXiv API, get_stats provides database statistics, and query_papers queries the local database with flexible filtering. The descriptions clearly differentiate their functions and intended use cases.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern with snake_case: cleanup_papers, count_papers_on_date, fetch_papers, get_stats, query_papers. The naming is predictable and readable throughout the set, with clear action-object relationships.

    Tool Count5/5

    Five tools is well-scoped for an arXiv server focused on fetching, querying, and managing papers in a local database. Each tool earns its place by covering distinct aspects of the workflow: data acquisition (fetch_papers), querying (query_papers), counting (count_papers_on_date), cleanup (cleanup_papers), and monitoring (get_stats).

    Completeness5/5

    The tool set provides complete coverage for the arXiv paper management domain: fetch_papers acquires data, query_papers allows flexible retrieval, count_papers_on_date supports planning, cleanup_papers handles deletion, and get_stats offers monitoring. There are no obvious gaps—agents can perform the full lifecycle from fetching to querying to cleanup with appropriate statistics.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers