语义学者 MCP 服务器
针对 Semantic Scholar API 的 FastMCP 服务器实现,提供对学术论文数据、作者信息和引用网络的全面访问。
项目结构
该项目已重构为模块化结构,以提高可维护性:
此结构:
将关注点划分为逻辑模块
使代码库更易于理解和维护
允许更好的测试和未来的扩展
将相关功能分组在一起
集中 FastMCP 实例以避免循环导入
Related MCP server: Semantic Scholar MCP Server
特征
论文检索与发现
具有高级过滤功能的全文搜索
基于标题的论文匹配
论文推荐(单篇和多篇论文)
批量检索论文详情
具有排名策略的高级搜索
引文分析
引文网络探索
参考追踪
引用上下文和影响分析
作者信息
作者搜索和个人资料详情
出版历史
批量检索作者详细信息
高级功能
具有多种排名策略的复杂搜索
可自定义的字段选择
高效的批量操作
速率限制合规性
支持经过身份验证和未经身份验证的访问
优雅关机和错误处理
连接池和资源管理
系统要求
Python 3.8+
FastMCP 框架
API 密钥的环境变量(可选)
安装
通过 Smithery 安装
要通过Smithery自动为 Claude Desktop 安装 Semantic Scholar MCP Server:
手动安装
克隆存储库:
安装 FastMCP 和其他依赖项: https://github.com/jlowin/fastmcp
配置 FastMCP:
对于 Claude Desktop 用户,您需要在 FastMCP 配置文件中配置服务器。将以下内容添加到您的配置中(通常在~/.config/claude-desktop/config.json中):
请确保:
将
/path/to/your/venv/bin/fastmcp替换为 FastMCP 安装的实际路径将
/path/to/your/semantic-scholar-server/run.py替换为机器上 run.py 的实际路径如果您有 Semantic Scholar API 密钥,请将其添加到
env部分。如果没有,您可以完全删除env部分。
开始使用服务器:
现在,您的 Claude Desktop 实例即可使用该服务器。无需手动运行任何命令 - Claude 会在需要时自动启动并管理服务器进程。
API 密钥(可选)
为了获得更高的速率限制和更好的性能:
从Semantic Scholar API获取 API 密钥
将其添加到 FastMCP 配置中,如上图所示,在
env部分
如果未提供 API 密钥,服务器将使用速率限制较低的未经身份验证的访问。
配置
环境变量
SEMANTIC_SCHOLAR_API_KEY:您的 Semantic Scholar API 密钥(可选)从Semantic Scholar API获取密钥
如果未提供,服务器将使用未经身份验证的访问
速率限制
服务器自动调整适当的速率限制:
使用 API 密钥:
搜索、批处理和推荐端点:每秒 1 个请求
其他端点:每秒 10 个请求
没有 API 密钥:
所有端点:每 5 分钟 100 个请求
请求超时时间更长
可用的 MCP 工具
注意:所有工具均与Semantic Scholar API 官方文档保持一致。请参阅官方文档,了解详细的字段规范和最新更新。
论文搜索工具
paper_relevance_search:使用相关性排名搜索论文支持全面的查询参数,包括年份范围和引用计数过滤器
返回具有可自定义字段的分页结果
paper_bulk_search:批量论文搜索,带有排序选项与相关性搜索类似,但针对更大的结果集进行了优化
支持按引用次数、出版日期等排序。
paper_title_search:按精确标题匹配查找论文当你知道标题时,有助于查找特定论文
返回具有可自定义字段的详细论文信息
paper_details:获取有关特定论文的全面详细信息接受各种论文 ID 格式(S2 ID、DOI、ArXiv 等)
返回带有嵌套字段支持的详细论文元数据
paper_batch_details:高效检索多篇论文的详细信息每个请求最多接受 1000 个论文 ID
支持与单张纸质明细相同的ID格式和字段
引用工具
paper_citations:获取引用特定论文的论文返回引用论文的分页列表
包含可用的引用上下文
支持字段自定义和排序
paper_references:获取特定论文引用的论文返回参考论文的分页列表
包含参考上下文(如有)
支持字段自定义和排序
作者工具
author_search:按姓名搜索作者返回具有可自定义字段的分页结果
包括附属机构和出版物数量
author_details:获取作者的详细信息返回全面的作者元数据
包括 H 指数和引用计数等指标
author_papers:获取作者撰写的论文返回作者出版物的分页列表
支持字段自定义和排序
author_batch_details:获取多个作者的详细信息高效检索多达 1000 位作者的信息
返回与单个作者详细信息相同的字段
推荐工具
paper_recommendations_single:根据一篇论文获取建议根据内容和引用模式返回类似的论文
支持推荐论文字段自定义
paper_recommendations_multi:根据多篇论文获取推荐接受正反例论文
返回与正面例子相似、与负面例子不相似的论文
使用示例
基本论文搜索
论文推荐
批量操作
错误处理
服务器提供标准化的错误响应: