Skip to main content
Glama
semanticscholar-mcp

semanticscholar-mcp

by xbghc

Semantic Scholar MCP Server

npm version

一个 MCP (Model Context Protocol) 服务器,提供 Semantic Scholar 学术搜索功能。

功能特性

  • 论文搜索、详情查询、引用分析

  • 作者搜索和学术档案查询

  • 基于论文的智能推荐

  • 支持多种论文 ID 格式 (DOI, ArXiv, PMID 等)

  • 内置速率限制和自动重试机制

Related MCP server: litra-paper-search-mcp

快速开始

在 Claude Desktop 中使用

编辑配置文件:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "semanticscholar": {
      "command": "npx",
      "args": ["-y", "@xbghc/semanticscholar-mcp"],
      "env": {
        "SEMANTIC_SCHOLAR_API_KEY": "your-api-key"
      }
    }
  }
}

配置 API Key (可选)

Semantic Scholar API 可以无需认证使用,但有速率限制。申请 API Key 可获得更高的请求配额。

  1. 访问 Semantic Scholar API 申请 API Key

  2. 在配置中设置 SEMANTIC_SCHOLAR_API_KEY 环境变量

可用工具

论文相关

工具

描述

search_papers

搜索学术论文,支持年份、学科、引用数等过滤条件

get_paper

获取论文详情,支持多种 ID 格式

get_paper_citations

获取引用该论文的文献列表

get_paper_references

获取论文的参考文献列表

batch_get_papers

批量获取多篇论文详情 (最多 500 篇)

作者相关

工具

描述

search_authors

搜索学术作者

get_author

获取作者详情 (h-index, 论文数等)

get_author_papers

获取指定作者的论文列表

推荐

工具

描述

get_recommendations

基于指定论文获取推荐的相关论文

使用示例

在支持 MCP 的客户端中直接对话即可使用:

搜索关于 transformer attention 的论文

查看论文 ARXIV:1706.03762 的详细信息

找出引用了 "Attention Is All You Need" 的论文

推荐与这篇论文相似的研究

支持的论文 ID 格式

  • Semantic Scholar ID: 204e3073870fae3d05bcbc2f6a8e263d9b72e776

  • DOI: DOI:10.1038/nature12373

  • ArXiv: ARXIV:1706.03762

  • PubMed: PMID:19872477

  • Corpus ID: CorpusId:123456

其他安装方式

从源码安装

git clone https://github.com/xbghc/semanticscholar-mcp.git
cd semanticscholar-mcp
npm install
npm run build

配置文件使用本地路径:

{
  "mcpServers": {
    "semanticscholar": {
      "command": "node",
      "args": ["/path/to/semanticscholar-mcp/dist/index.js"],
      "env": {
        "SEMANTIC_SCHOLAR_API_KEY": "your-api-key"
      }
    }
  }
}

全局安装

npm install -g @xbghc/semanticscholar-mcp

开发

项目结构

semanticscholar-mcp/
├── src/
│   ├── index.ts              # 入口文件
│   ├── server.ts             # MCP 服务器
│   ├── api/
│   │   ├── client.ts         # API 客户端
│   │   ├── rate-limiter.ts   # 速率限制 (p-queue)
│   │   ├── backoff.ts        # 指数退避重试
│   │   └── types.ts          # 类型定义
│   ├── tools/
│   │   ├── papers.ts         # 论文工具
│   │   ├── authors.ts        # 作者工具
│   │   └── recommendations.ts # 推荐工具
│   └── utils/
│       ├── errors.ts         # 错误处理
│       └── fields.ts         # 字段常量
├── tests/                    # 测试文件
├── package.json
└── tsconfig.json

常用命令

# 开发模式
npm run dev

# 构建
npm run build

# 运行测试
npm test

速率限制

模式

请求间隔

有 API Key

2 秒

无 API Key

5 秒

遇到 429 错误时会自动指数退避重试 (1s → 2s → 4s → 8s → 16s)。

API 参考

本服务器基于 Semantic Scholar Academic Graph API。

主要端点:

  • /graph/v1/paper/search - 论文搜索

  • /graph/v1/paper/{paper_id} - 论文详情

  • /graph/v1/author/search - 作者搜索

  • /recommendations/v1/papers - 论文推荐

许可证

MIT

Available Tools

9 tools
batch_get_papersBatch Get PapersB

批量获取多篇论文的详细信息(最多 500 篇)

Inputs: paperIds (required), fields.

get_authorGet Author DetailsD

获取作者详细信息

Inputs: authorId (required), fields.

get_author_papersGet Author PapersB

获取指定作者的论文列表

Inputs: authorId (required), limit, offset.

get_paperGet Paper DetailsA

获取论文详细信息,支持多种 ID 格式(Semantic Scholar ID、DOI、ArXiv ID、PMID 等)

Inputs: paperId (required), fields.

get_paper_citationsGet Paper CitationsA

获取引用指定论文的文献列表(谁引用了这篇论文)

Inputs: paperId (required), limit, offset.

get_paper_referencesGet Paper ReferencesB

获取论文的参考文献列表(这篇论文引用了什么)

Inputs: paperId (required), limit, offset.

get_recommendationsGet Paper RecommendationsA

基于指定论文获取推荐的相关论文

Inputs: positivePaperIds (required), limit, negativePaperIds.

search_authorsSearch AuthorsC

搜索学术作者

Inputs: query (required), limit, offset.

search_papersSearch PapersB

搜索学术论文,支持关键词搜索和过滤条件

Inputs: query (required), year, limit, offset, +3 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.3/5.0

    Scored across 9 tools

    Disambiguation5/5

    Each tool targets a distinct resource or operation: authors vs. papers, search vs. retrieval, citations vs. references. The only bulk operation (batch_get_papers) is clearly a convenience variant of get_paper, not an ambiguous alternative.

    Naming Consistency5/5

    All tools follow the verb_noun pattern with snake_case (get_, search_, batch_get_). The naming is consistent and predictable, with entity types and actions clearly reflected in the command.

    Tool Count5/5

    Nine tools is appropriately scoped for a scholarly search and retrieval server. Each tool addresses a distinct need without redundancy or bloat.

    Completeness5/5

    The tool surface covers the core read-only academic workflows: searching authors and papers, retrieving details, listing an author's papers, finding citations and references, getting recommendations, and batch retrieval. There are no obvious missing operations for this domain.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      A
      quality
      D
      maintenance
      An MCP server that provides access to Semantic Scholar's academic paper database, enabling paper search, detailed retrieval, author info, and citation export.
      4
      10
      -
    • A
      license
      B
      quality
      C
      maintenance
      An MCP server that provides access to Semantic Scholar's academic graph, recommendations, and datasets APIs, enabling paper search, citation analysis, author lookups, and dataset discovery through 20+ tools.
      22
      3
      MIT