Paper Search
Paper Search MCP is an open-source MCP server and Claude Code skill for finding academic papers, retrieving lawful open-access PDFs, and extracting paper text within an AI-assisted research workflow.
It searches across arXiv, PubMed, bioRxiv, Semantic Scholar, Crossref, OpenAlex, Europe PMC, and many other research sources through one local server.
Research tasks often move across several databases. You may find a preprint on arXiv, recover a DOI through Crossref, confirm metadata in OpenAlex, and look for an open repository copy before asking an AI assistant to summarize the paper.
Paper Search MCP combines those steps through multi-source search, deduplication, DOI recovery, and open-access fallback retrieval.
Key Features
- Searches multiple academic sources through the unified
search_papersworkflow. - Deduplicates overlapping records from different providers.
- Retrieves available open-access PDFs through source-native and repository fallback paths.
- Extracts paper text for AI-assisted reading and synthesis.
- Returns normalized metadata through a shared paper format.
- Runs as a Claude Code skill, MCP server, or local CLI.
- Uses targeted source filters for faster research queries.
- Stores optional provider credentials in environment variables or a
.envfile. - Keeps public and open-access sources ahead of restricted services.
- Includes modular connectors for future academic platforms.
Paper Search MCP vs. a Single-Source Search Tool
| Research task | Paper Search MCP | Single-source search |
|---|---|---|
| Search several databases | Queries multiple providers in one workflow. | Requires separate searches and manual comparison. |
| Remove duplicate records | Uses unified results and deduplication. | Requires manual filtering. |
| Recover DOI information | Pulls metadata from sources such as Crossref and OpenAlex. | Depends on the selected platform. |
| Find open-access copies | Uses repository and publisher fallback paths. | Often stops at the first source result. |
| Read paper text in an AI client | Supports text extraction through MCP tools and CLI commands. | Requires manual copy-paste or another parser. |
| Run literature research in Claude Code | Installs as a skill or MCP server. | Needs separate browser and document workflows. |
When a Browser Is Enough
Skip the local setup when your work only needs occasional title lookups, one DOI, or a single arXiv PDF. A browser and the original repository page require less configuration for that job.
Install Paper Search MCP when your research process repeats across several providers and your AI assistant needs structured paper metadata or extracted text. The project has more moving parts than a browser search, and provider reliability still changes by source.
Open-Access Rules and Privacy
Paper Search MCP can locate metadata across many services, but a search result does not guarantee a downloadable PDF. Full-text retrieval depends on publisher-permitted links, public repositories, and source-specific access rules.
Keep routine research on open-access repositories and publisher-approved copies. The project documents an optional restricted-source fallback separately, but it should not form part of a normal academic workflow.
The MCP server runs locally, yet each search query reaches the provider you select. Keep unpublished study titles, participant details, internal research plans, and sensitive project terms out of external provider queries.
How to Install Paper Search MCP
Table Of Contents
Install uv
Install uv before using the source-clone or uvx paths.
curl -LsSf https://astral.sh/uv/install.sh | shClone and Run the Current Repository
The PyPI package page lists version 0.1.3 from April 29, 2025. The repository documents the broader connector set and current skill workflow, so the clone path gives you the clearest route when a specific connector matters.
git clone https://github.com/openags/paper-search-mcp.git
cd paper-search-mcp
uv run -m paper_search_mcp.serverInstall the Claude Code Skill
Create the local Claude Code skill directory.
mkdir -p ~/.claude/skills/paper-searchCopy the skill file from your cloned repository.
cp ~/paper-search-mcp/claude-code/SKILL.md ~/.claude/skills/paper-search/SKILL.mdReplace every <REPO_PATH> entry in ~/.claude/skills/paper-search/SKILL.md with the absolute path to your local clone.
The skill activates when your Claude Code task asks for academic papers, research literature, paper PDFs, or extracted paper text.
Add It to Claude Desktop
Add this block to your Claude Desktop MCP configuration file. Replace /absolute/path/to/paper-search-mcp with your cloned project directory.
{
"mcpServers": {
"paper-search-mcp": {
"command": "uv",
"args": [
"run",
"--directory",
"/absolute/path/to/paper-search-mcp",
"-m",
"paper_search_mcp.server"
],
"env": {
"PAPER_SEARCH_MCP_UNPAYWALL_EMAIL": "[email protected]",
"PAPER_SEARCH_MCP_CORE_API_KEY": "",
"PAPER_SEARCH_MCP_SEMANTIC_SCHOLAR_API_KEY": "",
"PAPER_SEARCH_MCP_ZENODO_ACCESS_TOKEN": "",
"PAPER_SEARCH_MCP_GOOGLE_SCHOLAR_PROXY_URL": "",
"PAPER_SEARCH_MCP_IEEE_API_KEY": "",
"PAPER_SEARCH_MCP_ACM_API_KEY": ""
}
}
}
}Claude Desktop stores its MCP configuration in these locations:
| Platform | Configuration path |
|---|---|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
| Linux | ~/.config/Claude/claude_desktop_config.json |
Start With Targeted Searches
List available sources before running your first paper search.
uv run --directory ~/paper-search-mcp paper-search sourcesSearch selected sources first. Targeted searches reduce irrelevant results and avoid unnecessary calls to unstable providers.
uv run --directory ~/paper-search-mcp paper-search search "transformer attention mechanisms" -n 5 -s arxiv,semantic,crossref -y 2020-2026Read extracted text after you identify a relevant record.
uv run --directory ~/paper-search-mcp paper-search read arxiv 2106.12345Download a PDF only when the selected source exposes a permitted file.
uv run --directory ~/paper-search-mcp paper-search download arxiv 2106.12345 -o ./downloadsOther Installation Routes
Smithery can add the server to Claude Desktop through one command.
npx -y @smithery/cli install @openags/paper-search-mcp --client claudeuvx runs the package without a permanent installation.
uvx paper-search-mcpuv tool installs the package as a persistent local tool.
uv tool install paper-search-mcppip installs the Python package.
pip install paper-search-mcpSmithery can also run the project through npx.
npx -y @smithery/cli run @openags/paper-search-mcpDocker provides an isolated server process.
docker build -t paper-search-mcp .docker run --rm -i \
-e [email protected] \
-e PAPER_SEARCH_MCP_CORE_API_KEY=your_core_key \
paper-search-mcpmacOS users can avoid uvx wrapper issues by using the clone-and-run path. The repository notes that some uvx setups depend on realpath, which macOS does not include by default.
CLI Commands
uv run --directory <REPO_PATH> paper-search <command> [args]| Command | Purpose | Output |
|---|---|---|
paper-search search "<query>" | Searches academic sources for matching papers. | JSON |
-n <max_per_source> | Sets results returned from each source. The default is 5. | Search option |
-s <sources> | Selects comma-separated sources or all. | Search option |
-y <year> | Filters Semantic Scholar results by year or year range. | Search option |
paper-search download <source> <paper_id> | Downloads an available PDF. | JSON |
-o ./downloads | Sets the output directory for downloads. | Download option |
paper-search read <source> <paper_id> | Extracts available paper text. | Plain text |
paper-search sources | Lists configured and available sources. | Terminal output |
MCP Workflows
| MCP workflow | Purpose |
|---|---|
search_papers | Runs concurrent multi-source search and deduplicates results. |
download_with_fallback | Attempts source-native retrieval, repository discovery, DOI resolution, and open-access fallbacks. |
| Platform connectors | Run source-specific search, download, and reading actions. |
| DOI extraction | Pulls DOI values from metadata fields and text patterns. |
Source Capability Reference
| Source | Search | PDF or text retrieval | Practical role |
|---|---|---|---|
| arXiv | Yes | Yes | Preprints and open research papers. |
| PubMed | Yes | Metadata only | Biomedical records and abstracts. |
| bioRxiv | Yes | Yes | Life-science preprints. |
| medRxiv | Yes | Yes | Health and clinical preprints. |
| Google Scholar | Unstable | No | Discovery and DOI clues only. |
| IACR ePrint | Yes | Yes | Cryptography research. |
| Semantic Scholar | Yes | Open-access only | Metadata and available open copies. |
| Crossref | Yes | Metadata only | DOI recovery and citation metadata. |
| OpenAlex | Yes | Metadata only | Broad academic metadata coverage. |
| PubMed Central | Yes | Open-access only | Biomedical full text. |
| CORE | Yes | Record-dependent | Repository-based access. |
| Europe PMC | Yes | Open-access only | Biomedical open-access papers. |
| dblp | Yes | Metadata only | Computer-science bibliography. |
| OpenAIRE | Yes | No | Repository discovery. |
| CiteSeerX | Unstable | Record-dependent | Older computer-science records. |
| DOAJ | Yes | URL-dependent | Open-access journal discovery. |
| BASE | Unstable | Record-dependent | Repository search. |
| Zenodo | Yes | Record-dependent | Research deposits and datasets. |
| HAL | Yes | Record-dependent | Open scholarly archive records. |
| SSRN | Unstable | Public PDF only | Social-science discovery. |
| Unpaywall | DOI lookup | No | Open-access URL resolution. |
| IEEE Xplore | Skeleton only | Skeleton only | Not ready for normal use. |
| ACM Digital Library | Skeleton only | Skeleton only | Not ready for normal use. |
Google Scholar, CiteSeerX, BASE, and SSRN can fail because of provider restrictions, unstable endpoints, or bot detection. IEEE Xplore and ACM Digital Library connectors require keys but still expose skeleton implementations rather than complete search and retrieval support.
Environment Variables
| Variable | Required? | Purpose |
|---|---|---|
PAPER_SEARCH_MCP_UNPAYWALL_EMAIL | Yes for Unpaywall | Enables DOI-based open-access URL lookup. |
PAPER_SEARCH_MCP_CORE_API_KEY | Recommended | Improves CORE reliability and rate limits. |
PAPER_SEARCH_MCP_SEMANTIC_SCHOLAR_API_KEY | Optional | Improves Semantic Scholar rate limits. |
PAPER_SEARCH_MCP_GOOGLE_SCHOLAR_PROXY_URL | Optional | Configures a proxy URL for the Google Scholar connector. |
PAPER_SEARCH_MCP_DOAJ_API_KEY | Optional | Raises DOAJ rate limits. |
PAPER_SEARCH_MCP_ZENODO_ACCESS_TOKEN | Optional | Accesses private Zenodo records. |
PAPER_SEARCH_MCP_IEEE_API_KEY | Required for activation | Activates the incomplete IEEE connector. |
PAPER_SEARCH_MCP_ACM_API_KEY | Required for activation | Activates the incomplete ACM connector. |
PAPER_SEARCH_MCP_ENV_FILE | Optional | Points to a custom environment file. |
Create a local .env file in the project root when you need provider credentials.
[email protected]
PAPER_SEARCH_MCP_CORE_API_KEY=
PAPER_SEARCH_MCP_SEMANTIC_SCHOLAR_API_KEY=
PAPER_SEARCH_MCP_ZENODO_ACCESS_TOKEN=
PAPER_SEARCH_MCP_GOOGLE_SCHOLAR_PROXY_URL=
PAPER_SEARCH_MCP_IEEE_API_KEY=
PAPER_SEARCH_MCP_ACM_API_KEY=Set a custom environment-file path when your credentials live outside the repository.
export PAPER_SEARCH_MCP_ENV_FILE=/absolute/path/to/.envAlternatives and Related Tools
- MCP Servers: Browse MCP servers for research, coding, productivity, and automation workflows.
- Claude Context Local: Add local semantic code search to Claude Code.
- The Ultimate Claude Code Resource List: Find Claude Code skills, MCP servers, plugins, agents, and workflow tools.
- Claude Code Resources: Browse guides, utilities, skills, and companion tools for Claude Code.
Pros
- Free-first source strategy.
- MIT-licensed project.
- Claude Code skill included.
- Broad academic source coverage.
- Open-access fallback retrieval.
- Local CLI access.
Cons
- Local setup takes time.
- Download coverage varies by source.
- Upstream limits remain.
- Google Scholar remains unreliable.
- Some connectors stay incomplete.
- PyPI package may lag.
FAQs
Q: Is Paper Search MCP free?
A: Paper Search MCP uses an MIT license and prioritizes public and open-access sources. Several optional API keys are available at no cost, though some providers apply rate limits or require registration.
Q: Does Paper Search MCP require an API key?
A: Most core searches can run without an API key. Unpaywall requires an email address, while CORE, Semantic Scholar, DOAJ, Zenodo, IEEE, and ACM use optional or source-specific credentials.
Q: Can Paper Search MCP download every academic paper?
A: No. The server can only retrieve PDFs that a selected provider, repository, or publisher link makes available. Metadata-only sources can identify a paper or DOI but cannot guarantee a full-text file.
Q: Is Google Scholar reliable in Paper Search MCP?
A: Google Scholar can return empty results because automated requests often trigger bot detection. Keep it as a secondary discovery path and use public metadata sources such as Crossref, OpenAlex, or Semantic Scholar for routine research.
Q: Does Paper Search MCP keep research queries private?
A: The server process runs locally, but each selected connector sends your query to an external academic provider. Avoid sending confidential research topics or unpublished project details through provider requests.
Latest MCP Servers
Paper Search
Codebase Memory
CVE
Featured MCP Servers
Codebase Memory
Notion
Claude Peers
FAQs
Q: What exactly is the Model Context Protocol (MCP)?
A: MCP is an open standard, like a common language, that lets AI applications (clients) and external data sources or tools (servers) talk to each other. It helps AI models get the context (data, instructions, tools) they need from outside systems to give more accurate and relevant responses. Think of it as a universal adapter for AI connections.
Q: How is MCP different from OpenAI's function calling or plugins?
A: While OpenAI's tools allow models to use specific external functions, MCP is a broader, open standard. It covers not just tool use, but also providing structured data (Resources) and instruction templates (Prompts) as context. Being an open standard means it's not tied to one company's models or platform. OpenAI has even started adopting MCP in its Agents SDK.
Q: Can I use MCP with frameworks like LangChain?
A: Yes, MCP is designed to complement frameworks like LangChain or LlamaIndex. Instead of relying solely on custom connectors within these frameworks, you can use MCP as a standardized bridge to connect to various tools and data sources. There's potential for interoperability, like converting MCP tools into LangChain tools.
Q: Why was MCP created? What problem does it solve?
A: It was created because large language models often lack real-time information and connecting them to external data/tools required custom, complex integrations for each pair. MCP solves this by providing a standard way to connect, reducing development time, complexity, and cost, and enabling better interoperability between different AI models and tools.
Q: Is MCP secure? What are the main risks?
A: Security is a major consideration. While MCP includes principles like user consent and control, risks exist. These include potential server compromises leading to token theft, indirect prompt injection attacks, excessive permissions, context data leakage, session hijacking, and vulnerabilities in server implementations. Implementing robust security measures like OAuth 2.1, TLS, strict permissions, and monitoring is crucial.
Q: Who is behind MCP?
A: MCP was initially developed and open-sourced by Anthropic. However, it's an open standard with active contributions from the community, including companies like Microsoft and VMware Tanzu who maintain official SDKs.



