PaperMCP
Enables searching for papers in the ACM Digital Library.
Enables searching, downloading, and reading papers from arXiv.
Enables searching for papers on Google Scholar.
Enables searching and accessing papers from IEEE Xplore.
Enables searching and looking up papers on PubMed.
Enables searching for papers on ResearchGate.
Enables searching for papers on Scopus.
Enables searching and looking up papers on Semantic Scholar.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@PaperMCPsearch for papers about few-shot learning on arXiv"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
PaperMCP
Search and access academic papers from 23+ sources through Model Context Protocol
❌ Without PaperMCP
Manually visiting multiple academic databases
Copy-pasting DOIs and paper IDs between tools
Switching contexts to download PDFs
No unified interface for paper search
Related MCP server: Paper Search MCP
✅ With PaperMCP
Single interface for 23+ academic sources
Direct access from Claude and other AI assistants
Automatic PDF download and text extraction
Plugin system for sensitive sources
🛠️ Installation
Add to your Claude Desktop config file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Using npx (Recommended)
{
"mcpServers": {
"papermcp": {
"command": "npx",
"args": ["-y", "@telagod/papermcp"]
}
}
}Using npm global install
npm install -g @telagod/papermcp{
"mcpServers": {
"papermcp": {
"command": "papermcp"
}
}
}With API keys
{
"mcpServers": {
"papermcp": {
"command": "npx",
"args": ["-y", "@telagod/papermcp"],
"env": {
"SEMANTIC_SCHOLAR_API_KEY": "YOUR_KEY",
"WOS_API_KEY": "YOUR_KEY",
"SCOPUS_API_KEY": "YOUR_KEY"
}
}
}
}Add to Cline MCP settings:
{
"mcpServers": {
"papermcp": {
"command": "npx",
"args": ["-y", "@telagod/papermcp"]
}
}
}Add to ~/.config/zed/settings.json:
{
"context_servers": {
"papermcp": {
"command": "npx",
"args": ["-y", "@telagod/papermcp"]
}
}
}Add to Continue config:
{
"mcpServers": {
"papermcp": {
"command": "npx",
"args": ["-y", "@telagod/papermcp"]
}
}
}Add to Cody settings:
{
"cody.experimental.mcp": {
"servers": {
"papermcp": {
"command": "npx",
"args": ["-y", "@telagod/papermcp"]
}
}
}
}Add to Cursor MCP settings:
{
"mcpServers": {
"papermcp": {
"command": "npx",
"args": ["-y", "@telagod/papermcp"]
}
}
}Add to Windsurf config:
{
"mcpServers": {
"papermcp": {
"command": "npx",
"args": ["-y", "@telagod/papermcp"]
}
}
}Add to Roo Cline settings:
{
"mcpServers": {
"papermcp": {
"command": "npx",
"args": ["-y", "@telagod/papermcp"]
}
}
}Add to OpenHands config:
{
"mcpServers": {
"papermcp": {
"command": "npx",
"args": ["-y", "@telagod/papermcp"]
}
}
}Add to Void settings:
{
"mcpServers": {
"papermcp": {
"command": "npx",
"args": ["-y", "@telagod/papermcp"]
}
}
}Use the claude mcp add command:
claude mcp add papermcp -- npx -y @telagod/papermcpOr manually add to ~/.claude.json:
{
"projects": {
"/your/project/path": {
"mcpServers": {
"papermcp": {
"command": "npx",
"args": ["-y", "@telagod/papermcp"]
}
}
}
}
}Add to ~/.config/gemini-cli/settings.json:
{
"mcpServers": {
"papermcp": {
"command": "npx",
"args": ["-y", "@telagod/papermcp"]
}
}
}Add to ~/.codex/config.toml:
[mcp_servers.papermcp]
command = "npx"
args = ["-y", "@telagod/papermcp"]Add to .opencode.json:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"papermcp": {
"type": "local",
"command": ["npx", "-y", "@telagod/papermcp"],
"enabled": true
}
}
}Add to Crush config:
{
"mcpServers": {
"papermcp": {
"command": "npx",
"args": ["-y", "@telagod/papermcp"]
}
}
}📚 Supported Platforms
Core Platforms (16)
Platform | ID | API Key | Features |
arXiv |
| ❌ | Search, Download, Read |
PubMed |
| ❌ | Search, Lookup |
PubMed Central |
| ❌ | Search, Download, Read |
bioRxiv |
| ❌ | Search |
medRxiv |
| ❌ | Search |
Google Scholar |
| ❌ | Search |
IACR ePrint |
| ❌ | Search, Download |
Semantic Scholar |
| ⚠️ | Search, Lookup |
CrossRef |
| ❌ | Search, Lookup |
ACM Digital Library |
| ❌ | Search |
Web of Science |
| ✅ | Search |
Scopus |
| ✅ | Search |
JSTOR |
| ❌ | Search |
ResearchGate |
| ❌ | Search |
CORE |
| ✅ | Search |
Microsoft Academic |
| ✅ | Search |
Optional Plugins (7)
Enable via environment variables:
PLUGIN_SCI_HUB=true
PLUGIN_LIBGEN=true
PLUGIN_UNPAYWALL=true
PLUGIN_OA_BUTTON=true
PLUGIN_SCIENCE_DIRECT=true
PLUGIN_SPRINGER_LINK=true
PLUGIN_IEEE_XPLORE=trueSci-Hub and LibGen plugins are disabled by default. Use responsibly and comply with local regulations.
🚀 Usage
Available Tools (4 Unified Tools)
recommend_platforms
Get platform recommendations based on field
{
"query": "transformer neural network",
"field": "computer-science" // biomedical, physics, mathematics, cryptography, open-access, general
}search_papers
Search for papers on specified platform
{
"platform": "arxiv", // Use recommend_platforms to get suggestions
"query": "machine learning",
"limit": 10
}download_paper
Download paper PDF from platform
{
"platform": "arxiv",
"id": "2301.00001",
"dir": "/path/to/save"
}read_paper
Extract text from paper PDF
{
"platform": "pmc",
"id": "PMC8123456",
"dir": "/path/to/pdfs"
}⚙️ Configuration
Environment Variables
# Optional API keys for enhanced features
SEMANTIC_SCHOLAR_API_KEY=your-key
WOS_API_KEY=your-key
SCOPUS_API_KEY=your-key
CORE_API_KEY=your-key
# Plugin toggles (default: false)
PLUGIN_SCI_HUB=true # No config needed
PLUGIN_LIBGEN=true # No config needed
PLUGIN_UNPAYWALL=true # Requires UNPAYWALL_EMAIL
PLUGIN_OA_BUTTON=true # Optional OA_BUTTON_API_KEY
PLUGIN_SCIENCE_DIRECT=true # Requires ELSEVIER_API_KEY
PLUGIN_SPRINGER_LINK=true # No config needed
PLUGIN_IEEE_XPLORE=true # No config needed
# Plugin API keys
UNPAYWALL_EMAIL=your@email.com # Required for Unpaywall
ELSEVIER_API_KEY=your-key # Required for ScienceDirect
OA_BUTTON_API_KEY=your-key # Optional for Open Access ButtonGetting API Keys
Platform | Link | Notes |
Semantic Scholar | Free, increases rate limit | |
Web of Science | Requires institutional subscription | |
Scopus | Requires institutional subscription | |
CORE | Free | |
Unpaywall | Any email | No registration needed |
ScienceDirect | Requires institutional subscription | |
Open Access Button | Optional, free |
🔧 Development
Install from source
git clone https://github.com/telagod/papermcp.git
cd papermcp/ts
npm install
npm run build
npm run devProject Structure
ts/
├── src/
│ ├── core/ # Core types and config
│ ├── platforms/ # Platform adapters
│ ├── plugins/ # Optional plugins
│ ├── services/ # Registry and tools
│ ├── server/ # MCP server
│ └── utils/ # HTTP, logging
└── dist/ # Compiled outputAdding a Platform
import { BasePlatformAdapter } from './baseAdapter.js';
import { addAdapterFactory } from './index.js';
class MyAdapter extends BasePlatformAdapter {
constructor() {
super('my-platform');
}
async search(query: SearchQuery): Promise<SearchResult> {
// Implementation
}
}
addAdapterFactory(() => new MyAdapter());📄 License
MIT License - see LICENSE for details.
🙏 Acknowledgments
Built with Model Context Protocol and MCP TypeScript SDK
Made with ❤️ for researchers
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/telagod/papermcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server