Skip to content
appsgit

Paper Search MCP

Paper Search MCP is an MCP server that adds tools to AI assistants such as Claude Desktop, Claude Code and Cursor. MCP, CLI, Skills for searching and downloading academic papers from multiple sources like arXiv, PubMed, bioRxiv, etc. It has 2,753 GitHub stars, is released under the MIT license and runs locally with uvx paper-search-mcp.

github.com/openags/paper-search-mcp (opens in a new tab)

  • Needs API key
  • Other
  • MIT
  • Actively maintained

Install Paper Search MCP

Generated from the server's published package. Replace your-value with your own values.

Claude Desktop

claude_desktop_config.json
{
  "mcpServers": {
    "paper-search-mcp": {
      "command": "uvx",
      "args": [
        "paper-search-mcp"
      ],
      "env": {
        "PAPER_SEARCH_MCP_CORE_API_KEY": "your-value",
        "PAPER_SEARCH_MCP_SEMANTIC_SCHOLAR_API_KEY": "your-value",
        "PAPER_SEARCH_MCP_ZENODO_ACCESS_TOKEN": "your-value",
        "PAPER_SEARCH_MCP_IEEE_API_KEY": "your-value"
      }
    }
  }
}

Settings > Developer > Edit Config. macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\. Restart Claude Desktop afterwards.

Claude Code

claude mcp add --env PAPER_SEARCH_MCP_CORE_API_KEY=your-value --env PAPER_SEARCH_MCP_SEMANTIC_SCHOLAR_API_KEY=your-value --env PAPER_SEARCH_MCP_ZENODO_ACCESS_TOKEN=your-value --env PAPER_SEARCH_MCP_IEEE_API_KEY=your-value --transport stdio paper-search-mcp -- uvx paper-search-mcp

Cursor

.cursor/mcp.json
{
  "mcpServers": {
    "paper-search-mcp": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "paper-search-mcp"
      ],
      "env": {
        "PAPER_SEARCH_MCP_CORE_API_KEY": "your-value",
        "PAPER_SEARCH_MCP_SEMANTIC_SCHOLAR_API_KEY": "your-value",
        "PAPER_SEARCH_MCP_ZENODO_ACCESS_TOKEN": "your-value",
        "PAPER_SEARCH_MCP_IEEE_API_KEY": "your-value"
      }
    }
  }
}

Project file; use ~/.cursor/mcp.json to enable it in every project.

VS Code

.vscode/mcp.json
{
  "inputs": [
    {
      "type": "promptString",
      "id": "paper_search_mcp_core_api_key",
      "description": "PAPER_SEARCH_MCP_CORE_API_KEY",
      "password": true
    },
    {
      "type": "promptString",
      "id": "paper_search_mcp_semantic_scholar_api_key",
      "description": "PAPER_SEARCH_MCP_SEMANTIC_SCHOLAR_API_KEY",
      "password": true
    },
    {
      "type": "promptString",
      "id": "paper_search_mcp_zenodo_access_token",
      "description": "PAPER_SEARCH_MCP_ZENODO_ACCESS_TOKEN",
      "password": true
    },
    {
      "type": "promptString",
      "id": "paper_search_mcp_ieee_api_key",
      "description": "PAPER_SEARCH_MCP_IEEE_API_KEY",
      "password": true
    }
  ],
  "servers": {
    "paper-search-mcp": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "paper-search-mcp"
      ],
      "env": {
        "PAPER_SEARCH_MCP_CORE_API_KEY": "${input:paper_search_mcp_core_api_key}",
        "PAPER_SEARCH_MCP_SEMANTIC_SCHOLAR_API_KEY": "${input:paper_search_mcp_semantic_scholar_api_key}",
        "PAPER_SEARCH_MCP_ZENODO_ACCESS_TOKEN": "${input:paper_search_mcp_zenodo_access_token}",
        "PAPER_SEARCH_MCP_IEEE_API_KEY": "${input:paper_search_mcp_ieee_api_key}"
      }
    }
  }
}

Config formats checked against the official docs on Oct 7, 2026: modelcontextprotocol.io (opens in a new tab), code.claude.com (opens in a new tab), cursor.com (opens in a new tab), code.visualstudio.com (opens in a new tab).

Environment variables

Variables the server reads at startup.

NameRequiredDescription
PAPER_SEARCH_MCP_UNPAYWALL_EMAILNoShown in the README's example configuration.
PAPER_SEARCH_MCP_CORE_API_KEYsecretNoShown in the README's example configuration.
PAPER_SEARCH_MCP_SEMANTIC_SCHOLAR_API_KEYsecretNoShown in the README's example configuration.
PAPER_SEARCH_MCP_ZENODO_ACCESS_TOKENsecretNoShown in the README's example configuration.
PAPER_SEARCH_MCP_GOOGLE_SCHOLAR_PROXY_URLNoShown in the README's example configuration.
PAPER_SEARCH_MCP_IEEE_API_KEYsecretNoShown in the README's example configuration.

About Paper Search MCP

A Model Context Protocol (MCP) server for searching and downloading academic papers from multiple sources. The project follows a free-first strategy: prioritize open and public data sources, support optional API keys when they improve stability or coverage, and keep source-specific connectors extensible for advanced users.

  • ai-scientist
  • arxiv-papers
  • mcp-server
  • paper-search

FAQ

Paper Search MCP FAQ

Still curious? Email info@appsgit.com.

What is Paper Search MCP?

Paper Search MCP is an MCP server that adds tools to AI assistants such as Claude Desktop, Claude Code and Cursor. MCP, CLI, Skills for searching and downloading academic papers from multiple sources like arXiv, PubMed, bioRxiv, etc. It has 2,753 GitHub stars, is released under the MIT license and runs locally with uvx paper-search-mcp. The source code is at github.com/openags/paper-search-mcp.

How do I install the Paper Search MCP MCP server?

Add the command uvx paper-search-mcp to your MCP client: put it in claude_desktop_config.json for Claude Desktop, run claude mcp add for Claude Code, or add it to .cursor/mcp.json (Cursor) or .vscode/mcp.json (VS Code). The snippets on this page are ready to paste.

Is Paper Search MCP free?

The server is open source under the MIT license, so running it is free. It needs credentials (PAPER_SEARCH_MCP_CORE_API_KEY, PAPER_SEARCH_MCP_SEMANTIC_SCHOLAR_API_KEY, PAPER_SEARCH_MCP_ZENODO_ACCESS_TOKEN and PAPER_SEARCH_MCP_IEEE_API_KEY) for the service it connects to, which may require a paid account.

Is Paper Search MCP actively maintained?

The most recent commit was on Oct 2, 2026. appsgit only lists MCP servers with a commit in the last six months and re-checks every server daily.