学术论文搜索工具

PaperMCP是一个通过模型上下文协议(MCP)从23+学术源搜索和访问学术论文的工具,提供统一接口、自动PDF下载和文本提取功能。

  • by telagod
  • TypeScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 telagod/papermcp

使用说明

PaperMCP

通过模型上下文协议搜索和访问23个以上来源的学术论文

英语 | 简体中文


❌ 无纸MCP

  • 手动访问多个学术数据库
  • 在工具之间复制粘贴DOI和纸张ID
  • 切换上下文以下载PDF
  • 没有统一的纸张搜索界面

✅ 使用PaperMCP

  • 接口 23+学术资源
  • 直接访问 来自Claude和其他人工智能助手
  • 自动PDF下载 以及文本提取
  • 插件系统 对于敏感来源

🛠️ 安装

Install in Claude Desktop

添加到您的Claude Desktop配置文件中:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%\Claude\claude_desktop_config.json

使用npx(推荐)

{
  "mcpServers": {
    "papermcp": {
      "command": "npx",
      "args": ["-y", "@telagod/papermcp"]
    }
  }
}

使用npm全局安装

npm install -g @telagod/papermcp
{
  "mcpServers": {
    "papermcp": {
      "command": "papermcp"
    }
  }
}

使用API密钥

{
  "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"
      }
    }
  }
}
Install in Cline

添加到临床MCP设置:

{
  "mcpServers": {
    "papermcp": {
      "command": "npx",
      "args": ["-y", "@telagod/papermcp"]
    }
  }
}
Install in Zed

增添 ~/.config/zed/settings.json:

{
  "context_servers": {
    "papermcp": {
      "command": "npx",
      "args": ["-y", "@telagod/papermcp"]
    }
  }
}
Install in Continue

添加到继续配置:

{
  "mcpServers": {
    "papermcp": {
      "command": "npx",
      "args": ["-y", "@telagod/papermcp"]
    }
  }
}
Install in Sourcegraph Cody

添加到Cody设置:

{
  "cody.experimental.mcp": {
    "servers": {
      "papermcp": {
        "command": "npx",
        "args": ["-y", "@telagod/papermcp"]
      }
    }
  }
}
Install in Cursor

添加到光标MCP设置:

{
  "mcpServers": {
    "papermcp": {
      "command": "npx",
      "args": ["-y", "@telagod/papermcp"]
    }
  }
}
Install in Windsurf

添加到Windsurf配置:

{
  "mcpServers": {
    "papermcp": {
      "command": "npx",
      "args": ["-y", "@telagod/papermcp"]
    }
  }
}
Install in Roo Cline

添加到Roo-Cline设置:

{
  "mcpServers": {
    "papermcp": {
      "command": "npx",
      "args": ["-y", "@telagod/papermcp"]
    }
  }
}
Install in OpenHands

添加到OpenHands配置:

{
  "mcpServers": {
    "papermcp": {
      "command": "npx",
      "args": ["-y", "@telagod/papermcp"]
    }
  }
}
Install in Void

添加到无效设置:

{
  "mcpServers": {
    "papermcp": {
      "command": "npx",
      "args": ["-y", "@telagod/papermcp"]
    }
  }
}
Install in Claude Code

使用 claude mcp add 命令:

claude mcp add papermcp -- npx -y @telagod/papermcp

或手动添加到 ~/.claude.json:

{
  "projects": {
    "/your/project/path": {
      "mcpServers": {
        "papermcp": {
          "command": "npx",
          "args": ["-y", "@telagod/papermcp"]
        }
      }
    }
  }
}
Install in Gemini CLI

增添 ~/.config/gemini-cli/settings.json:

{
  "mcpServers": {
    "papermcp": {
      "command": "npx",
      "args": ["-y", "@telagod/papermcp"]
    }
  }
}
Install in Codex CLI

增添 ~/.codex/config.toml:

[mcp_servers.papermcp]
command = "npx"
args = ["-y", "@telagod/papermcp"]
Install in OpenCode

增添 .opencode.json:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "papermcp": {
      "type": "local",
      "command": ["npx", "-y", "@telagod/papermcp"],
      "enabled": true
    }
  }
}
Install in Crush CLI

添加到Crush配置:

{
  "mcpServers": {
    "papermcp": {
      "command": "npx",
      "args": ["-y", "@telagod/papermcp"]
    }
  }
}

📚 支持的平台

核心平台(16)

平台 ID API关键 功能
arXiv arxiv ❌ 搜索、下载、阅读
PubMed pubmed ❌ 搜索、查找
PubMed中心 pmc ❌ 搜索、下载、阅读
bioRxiv biorxiv ❌ 搜索
medRxiv medrxiv ❌ 搜索
谷歌学者 google-scholar ❌ 搜索
IACR电子打印 iacr ❌ 搜索、下载
语义学者 semantic ⚠️ 搜索、查找
交叉引用 crossref ❌ 搜索、查找
ACM数字图书馆 acm ❌ 搜索
科学网 wos ✅ 搜索
Scopus。 scopus ✅ 搜索
JSTOR jstor ❌ 搜索
ResearchGate researchgate ❌ 搜索
核心 core ✅ 搜索
微软学术 microsoft-academic ✅ 搜索

可选插件(7)

通过环境变量启用:

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=true

[!警告] Sci-Hub和LibGen插件默认禁用。负责任地使用并遵守当地法规。


🚀 用法

可用工具(4个统一工具)

recommend_platforms

根据现场情况获取平台建议

{
  "query": "transformer neural network",
  "field": "computer-science"  // biomedical, physics, mathematics, cryptography, open-access, general
}

search_papers

在指定平台上搜索论文

{
  "platform": "arxiv",  // Use recommend_platforms to get suggestions
  "query": "machine learning",
  "limit": 10
}

download_paper

从平台下载纸质PDF

{
  "platform": "arxiv",
  "id": "2301.00001",
  "dir": "/path/to/save"
}

read_paper

从纸质PDF中提取文本

{
  "platform": "pmc",
  "id": "PMC8123456",
  "dir": "/path/to/pdfs"
}

⚙️ 配置

环境变量

# 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 Button

获取API密钥

平台 链接 备注
语义学者 应用 免费,增加费率限制
科学引文索引 应用 需要机构订阅
垃圾 应用 需要机构订阅
核心 应用 免费
未付费墙 任何电子邮件 无需注册
科学指引 应用 需要机构订阅
打开访问按钮 应用 可选,免费

🔧 发展

从源代码安装

git clone https://github.com/telagod/papermcp.git
cd papermcp/ts
npm install
npm run build
npm run dev

项目结构

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 output

添加平台

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());

📄 许可证

MIT许可证-请参阅 许可证 了解详情。


🙏 致谢

内置于 模型上下文协议 和 MCP TypeScript SDK


⬆ 返回页首

由...制作❤️ 对于研究人员