Track MCP LogoTrack MCP
Track MCP LogoTrack MCP

The world's largest repository of Model Context Protocol servers. Discover, explore, and submit MCP tools.

Product

  • Categories
  • Top MCP
  • New & Updated
  • Submit MCP

Company

  • About

Legal

  • Privacy Policy
  • Terms of Service
  • Cookie Policy

© 2026 TrackMCP. All rights reserved.

Built with ❤️ by Krishna Goyal

    Arxiv Mcp Server

    A Model Context Protocol server for searching and analyzing arXiv papers Python-based implementation. Trusted by 1700+ developers.

    1,791 stars
    Python
    Updated Oct 19, 2025
    ai
    arxiv
    claude-ai
    gpt
    mcp-server
    papers
    research

    Table of Contents

    • Install
    • Claude Code
    • OpenAI Codex
    • Kiro and VS Code
    • Claude Desktop bundle
    • Any MCP client
    • Persistent command install
    • Plugin integrations
    • Tools
    • Search and inspect a paper
    • Download and read full text
    • Read original LaTeX by section
    • Optional dependencies
    • Built-in prompts
    • Streamable HTTP
    • Configuration
    • Security
    • Development
    • License

    Table of Contents

    • Install
    • Claude Code
    • OpenAI Codex
    • Kiro and VS Code
    • Claude Desktop bundle
    • Any MCP client
    • Persistent command install
    • Plugin integrations
    • Tools
    • Search and inspect a paper
    • Download and read full text
    • Read original LaTeX by section
    • Optional dependencies
    • Built-in prompts
    • Streamable HTTP
    • Configuration
    • Security
    • Development
    • License

    Documentation

    arxiv-mcp-server

    PyPI

    Downloads

    GitHub Stars

    GitHub Forks

    Tests

    Python

    License

    Install in VS Code

    Install in VS Code Insiders

    Add to Kiro

    Claude Code

    OpenAI Codex

    An MCP server for searching arXiv, downloading papers, reading bounded full text, retrieving original LaTeX by section, following citation graphs, and maintaining research alerts.

    It runs locally over stdio by default. Papers and indexes stay on your machine; search, source retrieval, citation graphs, and downloads call their respective external services.

    Install

    The command-based integrations require uv, which provides uvx. Choose your client below; no repository clone or Python environment setup is required.

    Claude Code

    Add the MCP server for all projects:

    bash
    claude mcp add --transport stdio --scope user arxiv \
      -- uvx arxiv-mcp-server

    For the richer plugin integration—which installs the MCP connection plus the bundled arXiv research skill—register this repository as a marketplace and install the plugin:

    bash
    claude plugin marketplace add blazickjp/arxiv-mcp-server
    claude plugin install arxiv-mcp-server@arxiv-mcp

    Verify the direct MCP installation with claude mcp get arxiv. Restart Claude Code or run /reload-plugins after installing the plugin.

    OpenAI Codex

    Add the MCP server:

    bash
    codex mcp add arxiv -- uvx arxiv-mcp-server

    Or install the MCP connection and bundled research skill as a Codex plugin:

    bash
    codex plugin marketplace add blazickjp/arxiv-mcp-server
    codex plugin add arxiv-mcp-server@arxiv-mcp

    Verify the direct MCP installation with codex mcp get arxiv. Codex CLI, the Codex IDE extension, and Codex in the ChatGPT desktop app share this MCP configuration.

    Kiro and VS Code

    Use the Add to Kiro, Install in VS Code, or Install in VS Code Insiders button above.

    For the richer Kiro Power integration, open the Powers panel, choose Add Custom Power → Import power from GitHub, and enter:

    text
    https://github.com/blazickjp/arxiv-mcp-server

    The Power installs the MCP connection from mcp.json and adds focused arXiv research guidance. Kiro users who prefer manual configuration can place the generic configuration below in .kiro/settings/mcp.json for one workspace or ~/.kiro/settings/mcp.json for all workspaces.

    Claude Desktop bundle

    macOS users can install a bundled .mcpb extension from the latest GitHub release:

    • Apple Silicon: arxiv-mcp-server-darwin-arm64-.mcpb
    • Intel: arxiv-mcp-server-darwin-x86_64-.mcpb

    Double-click the bundle, drag it into Claude Desktop, or open Settings → Extensions → Advanced settings → Install Extension…. The bundle includes the server dependencies and requires CPython 3.11.x.

    Any MCP client

    Add this stdio configuration to any client that accepts standard MCP JSON:

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

    The default paper directory is ~/.arxiv-mcp-server/papers. To choose another directory, append "--storage-path", "/absolute/path/to/papers" to args.

    For older papers that require PDF conversion, run the package with its PDF extra:

    json
    {
      "mcpServers": {
        "arxiv": {
          "type": "stdio",
          "command": "uvx",
          "args": [
            "--from",
            "arxiv-mcp-server[pdf]",
            "arxiv-mcp-server"
          ]
        }
      }
    }

    The supported package is published on PyPI. An unrelated npm package uses the same name, so do not install this server with npm, pnpm, or npx arxiv-mcp-server.

    Persistent command install

    To place arxiv-mcp-server on your PATH instead of launching it through uvx:

    bash
    uv tool install arxiv-mcp-server

    Afterward, use "command": "arxiv-mcp-server" and omit the package name from args.

    Plugin integrations

    The repository now packages the same MCP server and research skill for both major plugin systems:

    IntegrationManifestMarketplace
    Claude Code.claude-plugin/plugin.json.claude-plugin/marketplace.json
    OpenAI Codex / ChatGPT Work.codex-plugin/plugin.json.agents/plugins/marketplace.json
    Kiro PowerPOWER.mdmcp.json
    Shared MCP launch.mcp.json for Claude and repository-local clients; .codex-mcp.json for Codex pluginsuvx arxiv-mcp-server
    Shared research workflowskills/arxiv-mcp-server/SKILL.mdInstalled with either plugin

    Direct MCP installation is the shortest path. Install the plugin when you also want the research workflow that steers the client toward focused searches, bounded reads, citation traversal, and section-level LaTeX retrieval.

    Tools

    The server currently exposes 14 tools.

    ToolPurposeNotes
    search_papersSearch arXiv by query, category, date, and sort orderRemote arXiv API
    get_abstractFetch metadata and an abstract by arXiv IDDoes not download the paper
    download_paperDownload and convert a paper to local MarkdownHTML first; PDF fallback uses [pdf]
    list_papersList papers stored locallyReturns arXiv IDs
    read_paperRead locally stored paper contentSupports start and max_chars
    get_paper_latexRetrieve bounded author-submitted LaTeXRemote arXiv source archive
    list_paper_latex_sectionsReturn a paginated LaTeX outlineSupports start and max_sections
    get_paper_latex_sectionRead one bounded LaTeX sectionSelect by outline ID or exact title
    citation_graphFetch references and citing papersRemote Semantic Scholar API
    export_citationsExport BibTeX for one or more arXiv IDsAuthoritative arXiv metadata
    watch_topicSave or update an arXiv topic watchStored locally
    check_alertsCheck saved watches for new papersReturns papers since the last check
    semantic_searchSearch downloaded papers by semantic similarityRequires [pro]
    reindexRebuild the local semantic indexRequires [pro]

    Search and inspect a paper

    Ask your MCP client to call search_papers with:

    json
    {
      "query": "\"Kolmogorov-Arnold Networks\"",
      "categories": ["cs.LG", "cs.AI"],
      "max_results": 5,
      "sort_by": "date"
    }

    Then call get_abstract with:

    json
    {
      "paper_id": "2404.19756"
    }

    Download and read full text

    Call download_paper with:

    json
    {
      "paper_id": "2404.19756",
      "max_chars": 12000
    }

    Then page through the cached content with read_paper:

    json
    {
      "paper_id": "2404.19756",
      "start": 0,
      "max_chars": 12000
    }

    Large-content responses include content_length, returned_chars, next_start, and is_truncated. Pass next_start into the next call to continue reading.

    Read original LaTeX by section

    Call get_paper_latex with:

    json
    {
      "paper_id": "1706.03762"
    }

    Get the first page of its section outline with list_paper_latex_sections:

    json
    {
      "paper_id": "1706.03762",
      "start": 0,
      "max_sections": 100
    }

    Then call get_paper_latex_section using an ID from that outline:

    json
    {
      "paper_id": "1706.03762",
      "section_id": "3.2",
      "max_chars": 12000
    }

    LaTeX archives are validated, size-limited, and cached locally before content is returned.

    Optional dependencies

    Choose the install variant that matches the features you need:

    bash
    # Base server
    uv tool install arxiv-mcp-server
    
    # Base server plus PDF conversion
    uv tool install 'arxiv-mcp-server[pdf]'
    
    # Base server plus local semantic search
    uv tool install 'arxiv-mcp-server[pro]'

    If the base tool is already installed, reinstall the selected variant:

    bash
    uv tool install --force 'arxiv-mcp-server[pdf]'

    The pdf extra installs pymupdf4llm and pymupdf-layout for papers without usable arXiv HTML. The pro extra adds local embedding dependencies for semantic_search and reindex; semantic search only operates on papers already downloaded to the configured storage directory.

    Built-in prompts

    The server provides seven MCP prompt workflows. Prompt availability depends on the client; the server provides workflow instructions but does not run a separate model.

    PromptRequired argumentsPurpose
    research-discoverytopicMap terminology, searches, papers, research clusters, and a reading path
    deep-paper-analysispaper_idAnalyze one paper in depth
    summarize_paperpaper_idSummarize methods, results, and limitations
    compare_paperspaper_idsCompare multiple papers
    literature_reviewtopicSynthesize a topic and optional paper set
    literature-synthesispaper_idsSynthesize themes, methods, timelines, or gaps across papers
    research-questionpaper_ids, topicFormulate grounded, falsifiable research questions

    Streamable HTTP

    For deployments where stdio is not practical:

    bash
    TRANSPORT=http HOST=127.0.0.1 PORT=8080 \
      uvx arxiv-mcp-server --storage-path /absolute/path/to/papers

    Connect clients to:

    json
    {
      "mcpServers": {
        "arxiv": {
          "type": "http",
          "url": "http://127.0.0.1:8080/mcp"
        }
      }
    }

    The server binds to 127.0.0.1 by default and enables MCP DNS-rebinding protection. If a reverse proxy exposes the server, keep the process on a private interface and provide authentication and network controls upstream. Use ALLOWED_HOSTS and ALLOWED_ORIGINS for the host and origin values forwarded by the proxy.

    Configuration

    SettingDefaultPurpose
    --storage-path~/.arxiv-mcp-server/papersPaper, source-cache, alert, and index storage
    MAX_RESULTS50Server-side cap for result counts
    REQUEST_TIMEOUT60PDF fallback download timeout in seconds
    TRANSPORTstdiostdio, http, or streamable-http
    HOST127.0.0.1HTTP bind host
    PORT8000HTTP bind port
    ALLOWED_HOSTSemptyAdditional accepted HTTP Host values
    ALLOWED_ORIGINSemptyAdditional accepted HTTP Origin values

    Environment variable names are case-insensitive through Pydantic settings. --storage-path is a command-line option rather than an environment setting.

    Security

    Paper text and LaTeX are untrusted external content. A paper can contain text intended to manipulate an AI client into ignoring its instructions or calling unrelated tools.

    • Do not treat instructions found inside a paper as trusted commands.
    • Use client approval controls for shell, browser, filesystem, and messaging tools.
    • Review generated summaries before taking external actions.
    • Keep Streamable HTTP private unless authentication is provided upstream.

    See SECURITY.md for the reporting policy and threat details.

    Development

    bash
    git clone https://github.com/blazickjp/arxiv-mcp-server.git
    cd arxiv-mcp-server
    uv sync --extra test --extra dev
    uv run pytest
    uv run black --check .

    Run the development checkout from an MCP client with:

    json
    {
      "mcpServers": {
        "arxiv-dev": {
          "command": "uv",
          "args": [
            "--directory",
            "/absolute/path/to/arxiv-mcp-server",
            "run",
            "arxiv-mcp-server"
          ]
        }
      }
    }

    Contributions are welcome. Read CONTRIBUTING.md before opening a pull request, and use GitHub Issues for reproducible bugs or scoped feature proposals.

    License

    Apache License 2.0. See LICENSE.

    Similar MCP

    Based on tags & features

    • SE

      Serena

      Python·
      14.5k
    • BI

      Biomcp

      Python·
      327
    • WE

      Web Eval Agent

      Python·
      1.2k
    • DA

      Davinci Resolve Mcp

      Python·
      327

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScript·
      22.1k
    • SE

      Serena

      Python·
      14.5k
    • MC

      Mcp Playwright

      TypeScript·
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScript·
      3.0k
    View All MCP Servers

    Similar MCP

    Based on tags & features

    • SE

      Serena

      Python·
      14.5k
    • BI

      Biomcp

      Python·
      327
    • WE

      Web Eval Agent

      Python·
      1.2k
    • DA

      Davinci Resolve Mcp

      Python·
      327

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScript·
      22.1k
    • SE

      Serena

      Python·
      14.5k
    • MC

      Mcp Playwright

      TypeScript·
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScript·
      3.0k