Semantic Scholar MCP Server

Semantic Scholar MCP Server

镜子 (jìng zi)

MCP-Mirror

研究与数据
访问服务器

README

Semantic Scholar MCP 服务器

一个用于 Semantic Scholar API 的 FastMCP 服务器实现,提供对学术论文数据、作者信息和引文网络的全面访问。

功能特性

  • 论文搜索与发现

    • 具有高级过滤功能的全文本搜索
    • 基于标题的论文匹配
    • 论文推荐(单篇和多篇)
    • 批量论文详情检索
    • 具有排序策略的高级搜索
  • 引文分析

    • 引文网络探索
    • 参考文献追踪
    • 引文上下文和影响分析
  • 作者信息

    • 作者搜索和个人资料详情
    • 发表历史
    • 批量作者详情检索
  • 高级功能

    • 具有多种排序策略的复杂搜索
    • 可定制的字段选择
    • 高效的批量操作
    • 符合速率限制
    • 支持已认证和未认证的访问
    • 优雅的关闭和错误处理
    • 连接池和资源管理

系统要求

  • Python 3.8+
  • FastMCP 框架
  • API 密钥的环境变量(可选)

安装

使用 FastMCP 安装:

fastmcp install semantic-scholar-server.py --name "Semantic Scholar" -e SEMANTIC_SCHOLAR_API_KEY=your-api-key

-e SEMANTIC_SCHOLAR_API_KEY 参数是可选的。 如果未提供,服务器将使用未认证的访问,速率限制较低。

配置

环境变量

  • 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: 根据多篇论文获取推荐

    • 接受正面和负面示例论文
    • 返回与正面示例相似且与负面示例不同的论文

使用示例

基本论文搜索

results = await paper_relevance_search(
    context,
    query="machine learning",
    year="2020-2024",
    min_citation_count=50,
    fields=["title", "abstract", "authors"]
)

论文推荐

# 单篇论文推荐
recommendations = await paper_recommendations_single(
    context,
    paper_id="649def34f8be52c8b66281af98ae884c09aef38b",
    fields="title,authors,year"
)

# 多篇论文推荐
recommendations = await paper_recommendations_multi(
    context,
    positive_paper_ids=["649def34f8be52c8b66281af98ae884c09aef38b", "ARXIV:2106.15928"],
    negative_paper_ids=["ArXiv:1805.02262"],
    fields="title,abstract,authors"
)

批量操作

# 获取多个论文的详细信息
papers = await paper_batch_details(
    context,
    paper_ids=["649def34f8be52c8b66281af98ae884c09aef38b", "ARXIV:2106.15928"],
    fields="title,authors,year,citations"
)

# 获取多个作者的详细信息
authors = await author_batch_details(
    context,
    author_ids=["1741101", "1780531"],
    fields="name,hIndex,citationCount,paperCount"
)

错误处理

服务器提供标准化的错误响应:

{
    "error": {
        "type": "error_type",  # rate_limit, api_error, validation, timeout
        "message": "Error description",
        "details": {
            # Additional context
            "authenticated": true/false  # 指示请求是否已认证
        }
    }
}

推荐服务器

Crypto Price & Market Analysis MCP Server

Crypto Price & Market Analysis MCP Server

一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。

精选
TypeScript
MCP PubMed Search

MCP PubMed Search

用于搜索 PubMed 的服务器(PubMed 是一个免费的在线数据库,用户可以在其中搜索生物医学和生命科学文献)。 我是在 MCP 发布当天创建的,但当时正在度假。 我看到有人在您的数据库中发布了类似的服务器,但还是决定发布我的服务器。

精选
Python
mixpanel

mixpanel

连接到您的 Mixpanel 数据。 从 Mixpanel 分析查询事件、留存和漏斗数据。

精选
TypeScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Nefino MCP Server

Nefino MCP Server

为大型语言模型提供访问德国可再生能源项目新闻和信息的能力,允许按地点、主题(太阳能、风能、氢能)和日期范围进行筛选。

官方
Python
Vectorize

Vectorize

将 MCP 服务器向量化以实现高级检索、私有深度研究、Anything-to-Markdown 文件提取和文本分块。

官方
JavaScript
Mathematica Documentation MCP server

Mathematica Documentation MCP server

一个服务器,通过 FastMCP 提供对 Mathematica 文档的访问,使用户能够从 Wolfram Mathematica 检索函数文档和列出软件包符号。

本地
Python
kb-mcp-server

kb-mcp-server

一个 MCP 服务器,旨在实现便携性、本地化、简易性和便利性,以支持对 txtai “all in one” 嵌入数据库进行基于语义/图的检索。任何 tar.gz 格式的 txtai 嵌入数据库都可以被加载。

本地
Python
Research MCP Server

Research MCP Server

这个服务器用作 MCP 服务器,与 Notion 交互以检索和创建调查数据,并与 Claude Desktop Client 集成以进行和审查调查。

本地
Python
Cryo MCP Server

Cryo MCP Server

一个API服务器,实现了模型补全协议(MCP),用于Cryo区块链数据提取,允许用户通过任何兼容MCP的客户端查询以太坊区块链数据。

本地
Python