Token导航 LogoToken导航TokenDH.com
Bach Paper Search MCP Nodejs logo
搜索检索stdio官方级别未说明来源级核验

Bach Paper Search MCP Nodejs

MCP Server

paper-search-mcp-nodejs

一个基于Node.js的学术论文搜索与下载服务,支持从13个学术平台(包括arXiv、Web of Science、PubMed等)获取论文,并提供统一的数据模型和高效搜索功能。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
搜索TypeScriptClaudeClaude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

BACH-AI-Tools

提供方

BACH-AI-Tools

最后核验

2026/5/17 20:19

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx -y paper-search-mcp-nodejs

详细介绍

论文搜索MCP(Node.js)

英语|中文

一个Node.js模型上下文协议(MCP)服务器,用于搜索和下载来自多个来源的学术论文,包括arXiv、Web of Science、PubMed、Google Scholar、Sci-Hub、ScienceDirect、Springer、Wiley、Scopus和 13个学术平台 总的来说。

基于原项目: 此项目基于 修改而来

TypeScript License Platforms

✨ 主要特点

  • 🌍 13个学术平台:arXiv、Web of Science、PubMed、谷歌学者、bioRxiv、medRxiv、语义学者、IACR ePrint、Sci-Hub、ScienceDirect、施普林格·自然、威利、Scopus
  • 🔗 MCP协议集成:与Claude Desktop和其他人工智能助手无缝集成
  • 📊 统一数据模型:所有平台的标准化纸张格式
  • ⚡ 高性能搜索:具有智能速率限制的并发搜索
  • 🛡️ 类型安全:完全支持TypeScript
  • 🎯 学术论文优先:智能过滤,学术论文优先于书籍
  • 🔄 智能错误处理:平台回退和自动重试机制

📚 支持的平台

平台搜索下载全文引文API密钥特殊功能
arXiv物理/计算机科学预印本
科学引文索引✅ 必填高质量期刊索引
PubMed🟡 可选生物医学文献
谷歌学术全面的学术搜索
生物预印本生物学预印本
medRxiv医学预印本
语义学者🟡 可选AI语义搜索
IACR电子打印密码学论文
科学中心通过DOI实现通用纸张访问
科学指引✅ 必需爱思唯尔全文数据库
施普林格·自然✅\*✅ 必需双重API:Meta v2和OpenAccess
威利✅ 必需文本和数据挖掘API
垃圾✅ 必需最大的引文数据库

✅ 支持|❌ 不支持|🟡 可选|✅\* 仅开放访问

🚀 快速开始

系统要求

  • Node.js>=18.0.0
  • npm或纱线

安装

# Clone repository
git clone https://github.com/your-username/paper-search-mcp-nodejs.git
cd paper-search-mcp-nodejs

# Install dependencies
npm install

# Copy environment template
cp .env.example .env

配置

  1. 获取Web of Science API密钥

- 访问 Clarivate开发者门户 - 注册并申请Web of Science API访问 - 将API密钥添加到 .env 文件

  1. 获取PubMed API密钥(可选)

- 没有API密钥:免费使用,每秒限制3个请求 - 使用API密钥:每秒10次请求,服务更稳定 - 获取密钥:请参阅 NCBI API密钥

  1. 配置环境变量
   # Edit .env file
   WOS_API_KEY=your_actual_api_key_here
   WOS_API_VERSION=v1

   # PubMed API key (optional, recommended for better performance)
   PUBMED_API_KEY=your_ncbi_api_key_here

   # Semantic Scholar API key (optional, increases rate limits)
   SEMANTIC_SCHOLAR_API_KEY=your_semantic_scholar_api_key

   # Elsevier API key (required for ScienceDirect and Scopus)
   ELSEVIER_API_KEY=your_elsevier_api_key

   # Springer Nature API keys (required for Springer)
   SPRINGER_API_KEY=your_springer_api_key  # For Metadata API v2
   # Optional: Separate key for OpenAccess API (if different from main key)
   SPRINGER_OPENACCESS_API_KEY=your_openaccess_api_key

   # Wiley TDM token (required for Wiley)
   WILEY_TDM_TOKEN=your_wiley_tdm_token

构建并运行

方法1:NPX(建议用于MCP)

# Direct run with npx (most common MCP deployment)
npx -y paper-search-mcp-nodejs

# Or install globally
npm install -g paper-search-mcp-nodejs
paper-search-mcp

方法二:地方发展

# Build TypeScript code
npm run build

# Start server
npm start

# Or run in development mode
npm run dev

MCP服务器配置

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

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

NPX配置(推荐)

{
  "mcpServers": {
    "paper-search-nodejs": {
      "command": "npx",
      "args": ["-y", "bach-paper-search-mcp-nodejs"],
      "env": {
        "WOS_API_KEY": "your_web_of_science_api_key"
      }
    }
  }
}

本地安装配置

{
  "mcpServers": {
    "paper_search_nodejs": {
      "command": "node",
      "args": ["/path/to/paper-search-mcp-nodejs/dist/server.js"],
      "env": {
        "WOS_API_KEY": "your_web_of_science_api_key"
      }
    }
  }
}

🛠️ MCP工具

search_papers

跨多个平台搜索学术论文

// Random platform selection (default behavior)
search_papers({
  query: "machine learning",
  platform: "all",      // Randomly selects one platform for efficiency
  maxResults: 10,
  year: "2023",
  sortBy: "date"
})

// Search specific platform
search_papers({
  query: "quantum computing",
  platform: "webofscience",  // Target specific platform
  maxResults: 5
})

平台选择行为:

  • platform: "all" -随机选择一个平台以获得高效、专注的结果
  • 特定平台-仅搜索该平台
  • 可用平台: arxiv, webofscience/wos, pubmed, biorxiv, medrxiv, semantic, iacr, googlescholar/scholar, scihub, sciencedirect, springer, wiley, scopus

search_arxiv

专门搜索arXiv预印本

search_arxiv({
  query: "transformer neural networks",
  maxResults: 10,
  category: "cs.AI",
  author: "Attention"
})

search_webofscience

专门搜索Web of Science数据库

search_webofscience({
  query: "CRISPR gene editing",
  maxResults: 15,
  year: "2022",
  journal: "Nature"
})

search_pubmed

检索PubMed/MEDLINE生物医学文献数据库

search_pubmed({
  query: "COVID-19 vaccine efficacy",
  maxResults: 20,
  year: "2023",
  author: "Smith",
  journal: "New England Journal of Medicine",
  publicationType: ["Journal Article", "Clinical Trial"]
})

search_google_scholar

搜索谷歌学术数据库

search_google_scholar({
  query: "machine learning",
  maxResults: 10,
  yearLow: 2020,
  yearHigh: 2023,
  author: "Bengio"
})

search_biorxiv / search_medrxiv

搜索生物学和医学预印本

search_biorxiv({
  query: "CRISPR",
  maxResults: 15,
  days: 30
})

search_semantic_scholar

搜索语义学者AI语义数据库

search_semantic_scholar({
  query: "deep learning",
  maxResults: 10,
  fieldsOfStudy: ["Computer Science"],
  year: "2023"
})

search_iacr

搜索IACR ePrint加密存档

search_iacr({
  query: "zero knowledge proof",
  maxResults: 5,
  fetchDetails: true
})

search_scihub

使用DOI或论文URL从Sci-Hub搜索和下载论文

search_scihub({
  doiOrUrl: "10.1038/nature12373",
  downloadPdf: true,
  savePath: "./downloads"
})

check_scihub_mirrors

检查Sci-Hub镜像站点的运行状况

check_scihub_mirrors({
  forceCheck: true  // Force fresh health check
})

download_paper

下载纸质PDF文件

download_paper({
  paperId: "2106.12345",  // or DOI for Sci-Hub
  platform: "arxiv",      // or "scihub" for Sci-Hub downloads
  savePath: "./downloads"
})

get_paper_by_doi

通过DOI获取纸质信息

get_paper_by_doi({
  doi: "10.1038/s41586-023-12345-6",
  platform: "all"
})

get_platform_status

检查平台状态和API密钥

get_platform_status({})

📊 数据模型

所有平台纸质数据转换为统一格式:

interface Paper {
  paperId: string;           // Unique identifier
  title: string;            // Paper title
  authors: string[];        // Author list
  abstract: string;         // Abstract
  doi: string;             // DOI
  publishedDate: Date;     // Publication date
  pdfUrl: string;          // PDF link
  url: string;             // Paper page URL
  source: string;          // Source platform
  citationCount?: number;   // Citation count
  journal?: string;         // Journal name
  year?: number;           // Publication year
  categories?: string[];    // Subject categories
  keywords?: string[];      // Keywords
  // ... more fields
}

🔧 发展

项目结构

src/
├── models/
│   └── Paper.ts              # Paper data model
├── platforms/
│   ├── PaperSource.ts        # Abstract base class
│   ├── ArxivSearcher.ts      # arXiv searcher
│   ├── WebOfScienceSearcher.ts # Web of Science searcher
│   ├── PubMedSearcher.ts     # PubMed searcher
│   ├── GoogleScholarSearcher.ts # Google Scholar searcher
│   ├── BioRxivSearcher.ts    # bioRxiv/medRxiv searcher
|   ├── SemanticScholarSearcher.ts # Semantic Scholar searcher
|   ├── IACRSearcher.ts       # IACR ePrint searcher
|   ├── SciHubSearcher.ts     # Sci-Hub searcher with mirror management
|   ├── ScienceDirectSearcher.ts # ScienceDirect (Elsevier) searcher
│   ├── SpringerSearcher.ts   # Springer Nature searcher (Meta v2 & OpenAccess APIs)
|   ├── WileySearcher.ts      # Wiley TDM API searcher
|   └── ScopusSearcher.ts     # Scopus citation database searcher
├── utils/
│   └── RateLimiter.ts        # Token bucket rate limiter
└── server.ts                 # MCP server main file

添加新平台

  1. 创建新的搜索者类扩展 PaperSource
  2. 实现所需的抽象方法
  3. 在中注册新搜索者 server.ts
  4. 添加相应的MCP工具

测试

# Run tests
npm test

# Run linting
npm run lint

# Code formatting
npm run format

🌟 平台特定功能

施普林格自然双API系统

施普林格·自然提供了两个API:

  1. 元数据API v2 (主要API)

- 端点: https://api.springernature.com/meta/v2/json - 搜索所有Springer内容(订阅+开放获取) - 需要来自的API密钥https://dev.springernature.com/

  1. OpenAccess API (可选)

- 端点: https://api.springernature.com/openaccess/json - 仅搜索开放访问内容 - 可能需要单独的API密钥或特殊权限 - 更适合查找可下载的PDF

// Search all Springer content
search_springer({
  query: "machine learning",
  maxResults: 10
})

// Search only open access papers
search_springer({
  query: "COVID-19",
  openAccess: true,  // Uses OpenAccess API if available
  maxResults: 5
})

Web of Science高级搜索

// Use Web of Science query syntax
search_webofscience({
  query: 'TS="machine learning" AND PY=2023',
  maxResults: 20
})

// Author search
search_webofscience({
  query: 'AU="Smith, J*"',
  maxResults: 10
})

// Journal search
search_webofscience({
  query: 'SO="Nature" AND PY=2022-2023',
  maxResults: 15
})

支持的字段:

  • TS:主题搜索
  • AU作者
  • SO:源日志
  • PY:出版年份
  • DO:DOI
  • TI:标题

谷歌学术功能

  • 学术论文优先级:自动筛选书籍,优先考虑同行评审的论文
  • 引文数据:提供引文计数和学术指标
  • 反检测:智能请求模式,避免阻塞
  • 全面覆盖:搜索所有学术出版商

语义学者特征

  • 人工智能驱动的搜索:查询的语义理解
  • 引用网络:论文关系和影响力指标
  • 开放获取PDF:免费论文的直接链接
  • 研究领域:按特定学科筛选

Sci-Hub功能

  • 通用访问:使用DOI或直接URL访问论文
  • 镜像网络:自动检测和使用最快的可用镜子(11+个镜子)
  • 健康监测:持续监控镜像站点可用性
  • 自动故障切换:当一个镜像发生故障时,可以在镜像之间无缝切换
  • 智能重试:失败时使用不同镜像自动重试
  • 响应时间优化:镜像按响应时间排序,以获得最佳性能

📝 许可证

MIT许可证-请参阅 许可证 文件以获取详细信息。

🤝 贡献

欢迎投稿!看 贡献.md 作为指导方针。

  1. 分叉项目
  2. 创建特征分支(git checkout -b feature/amazing-feature)
  3. 提交更改(git commit -m 'Add amazing feature')
  4. 推送到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

🐛 问题报告

如果您遇到问题,请通过以下方式报告 .

🙏 致谢

______________________________________________________________________

⭐ 如果这个项目对你有帮助,请给它一颗星!

目录标签

目录标签

搜索TypeScriptClaude学术搜索本地部署论文下载多平台集成MCP协议文献管理

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

api-key

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

paper-search-mcp-nodejs

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdioapi-key部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP