学术论文检索服务

一个MCP服务器,提供对Semantic Scholar数据库中200M+学术论文的访问,支持搜索论文、探索引用图表和查找作者信息。

  • by xiuyechen
  • Python
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 xiuyechen/semantic-scholar-mcp

使用说明

语义学者MCP服务器

一 主控程序 允许Claude访问的服务器 语义学者的2亿多篇学术论文数据库。直接从克劳德那里搜索论文、探索引文图和查找作者。包裹官方 semanticscholar 带有进程范围速率限制器的SDK,可防止并发调度下的429秒。

工具

工具 说明
search_papers 关键字搜索,包括年份范围、研究领域和开放获取可用性的过滤器
get_paper 通过语义学者ID、DOI、ArXiv ID或PubMed ID获取论文的完整详细信息
get_citations 浏览引文图——查找引用给定论文的论文或其引用的论文
get_author 查找作者的个人资料、h指数和出版指标
search_by_author 按姓名查找作者并列出他们的热门论文

设置

先决条件

  • Python 3.11+
  • 紫外线 (推荐)或pip
  • 语义学者API密钥(见下文-强烈推荐)

获取API密钥

如果没有密钥,请求共享一个全局匿名速率限制桶,您将经常看到 429 Too Many Requests 正常使用过程中的错误。索取免费钥匙 语义学院.org/product/api --周转期通常为几天。

一旦你有了一个键,就把它设置为环境变量:

export S2_API_KEY=your_key_here

为了实现跨shell的持久性,请添加以下行 ~/.zshenv (或你的shell等效物)。

安装

git clone https://github.com/xiuyechen/semantic-scholar-mcp.git
cd semantic-scholar-mcp
uv pip install -e .

或者使用pip:

pip install -e .

速率限制和重试

客户将官员包裹起来 semanticscholar Python SDK,并在上面添加了一个进程范围的异步令牌桶。来自同一进程的并发调用通过1.05s层进行串行化,因此即使LLM并行调度多个工具,客户端也无法突破API的1 req/sec限制。使用以下命令重试瞬态429秒 Retry-After-感知指数回退(最多5次尝试)。无需调整。

与Claude一起配置

克劳德代码

claude mcp add semantic-scholar -- semantic-scholar-mcp

或者使用API密钥:

claude mcp add semantic-scholar -e S2_API_KEY=your_key -- semantic-scholar-mcp

克劳德桌面版

添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "semantic-scholar": {
      "command": "semantic-scholar-mcp",
      "env": {
        "S2_API_KEY": "your_key_here"
      }
    }
  }
}

示例用法

配置后,您可以向Claude询问以下问题:

  • “搜索最近关于蛋白质结构预测的论文”
  • “找到DOI为10.1038/s41586-021-03819-2的论文并对其进行总结”
  • “哪些论文引用了AlphaFold2?给我看看最有影响力的论文”
  • “查阅大卫·贝克的出版记录”
  • “查找2024年以来关于CRISPR基因编辑的开放获取论文”

API 参考

此服务器包装 语义学者学术图谱APIAPI是免费使用的,包括:

  • 来自所有主要出版商的2亿多篇论文
  • 2.4B+引用边
  • 包含h指数和隶属关系数据的作者简介
  • 打开可用的PDF链接
  • AI为许多论文生成了TLDR摘要

许可证

麻省理工学院