Skip to main content
Glama
xbghc

semanticscholar-mcp

by xbghc

Semantic Scholar MCP Server

npm version

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

功能特性

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

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

  • 基于论文的智能推荐

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

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

Related MCP server: Semantic Scholar MCP Server

快速开始

在 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 篇)

ParametersJSON Schema
NameRequiredDescriptionDefault
fieldsNo返回字段
paperIdsYes论文 ID 列表,最多 500 个

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure, but it only states the batch size limit (which is already present in the schema's maxItems). It does not mention return format, what happens when invalid IDs are passed, ordering, pagination, or any error/edge-case behavior. This is a significant gap for a tool with no structured safety hints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence effectively communicates the core purpose. No filler or redundancy. It is appropriately concise, though it lacks any additional structured details that might naturally be included (e.g., noting the optional 'fields' parameter).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has only two parameters but no annotations and no output schema. The description only says 'detailed information', leaving unclear what the response shape is, how the 'fields' parameter affects results, and how failures are handled. This is incomplete for an agent aiming to invoke it correctly without additional context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (both 'paperIds' and 'fields' have descriptions). The description adds no new meaning beyond restating the limit already captured by maxItems. Baseline 3 is appropriate because the schema carries the parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('批量获取' / batch get) plus resource ('论文' / papers) and explicitly scopes it with a maximum of 500. It clearly distinguishes itself from the sibling 'get_paper' (single paper retrieval) and 'search_papers'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The intent is implied: use this when fetching multiple paper details at once. However, there is no explicit statement about when to use it over alternatives, nor any exclusions or prerequisites. It provides clear context but no direct comparison to 'get_paper' or other siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_authorGet Author DetailsD

获取作者详细信息

ParametersJSON Schema
NameRequiredDescriptionDefault
fieldsNo返回字段
authorIdYesSemantic Scholar 作者 ID

TDQS

D1.7/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided and no behavioral detail in the description, the agent cannot learn what side effects, return formats, or limitations exist. The description adds nothing beyond the name.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise (one short phrase), but this brevity is due to under-specification rather than efficient writing. It is not well-structured or front-loaded since it contains no informative content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple get-author tool with sibling tools and no annotations or output schema, the description is deeply inadequate. It fails to explain return fields, differences from search_authors, or any usage context. Completeness is minimal.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides descriptions for both parameters (e.g., 'Semantic Scholar 作者 ID', '返回字段'), giving 100% coverage. The description adds no additional parameter context, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description '获取作者详细信息' is simply a rephrase of the tool name/title 'Get Author Details'. It restates the name without adding any distinguishing information against sibling tools like get_author_papers or search_authors. This is a tautology, not a clear specification of purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description does not mention any context, prerequisites, or exclusions, leaving the agent without any decision support for tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_author_papersGet Author PapersB

获取指定作者的论文列表

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo返回数量,最大 1000
offsetNo分页偏移量
authorIdYes作者 ID

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full responsibility for disclosing behavior. It only mentions fetching a list but does not disclose pagination behavior (limit/offset), ordering, potential rate limits, authentication needs, or return format. This is a significant gap for a tool that may return large lists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no redundancy. It is front-loaded and efficient, though it could be slightly expanded to mention pagination without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no annotations, the description should explain return values and behavioral details. It only states the basic purpose, leaving pagination, result shape, and edge cases undocumented. This is insufficient for an agent to use the tool fully, especially since sibling tools show the system has more complex interactions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so parameters are already documented. The description does not add extra meaning beyond 'specified author', which aligns with authorId. Baseline of 3 is appropriate because the schema carries the weight and the description adds no contradiction or extra nuance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the exact action: '获取指定作者的论文列表' (get the list of papers for a specified author). This clearly distinguishes it from siblings like get_author (author details) and search_papers (general paper search).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The purpose itself implies when to use it: when you need papers by a specific author. However, the description does not explicitly state when not to use it or mention alternatives like search_papers, so usage guidance remains implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_paperGet Paper DetailsA

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

ParametersJSON Schema
NameRequiredDescriptionDefault
fieldsNo返回字段,如 ["title", "abstract", "authors", "year"]
paperIdYes论文 ID,支持格式:Semantic Scholar ID、DOI:xxx、ARXIV:xxx、PMID:xxx、CorpusId:xxx

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full responsibility for behavioral disclosure. While it mentions support for multiple ID formats, this is already documented in the input schema. The description does not disclose important behavioral aspects such as return format, error handling for invalid IDs, whether fields are optional, or any rate limits or authentication requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that immediately states the tool's purpose and key capability (multiple ID formats). It contains no filler or redundancy, making it highly efficient and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low tool complexity, full schema coverage for all parameters, and absence of an output schema, the description is largely sufficient. It clearly identifies the tool's purpose and primary input types. The only missing element is explicit usage guidance, but the description is adequate for a straightforward retrieval tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents both 'paperId' and 'fields'. The description adds minimal value beyond the schema by repeating the ID format support, which is already in the schema's parameter description. It neither clarifies parameter syntax nor provides additional context about how fields affect the response.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb '获取' (get) and the resource '论文详细信息' (detailed paper information), with specific mention of multiple ID formats. This distinguishes it from sibling tools like get_author (which gets author details) and search_papers (which searches rather than retrieves a specific paper).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool should be used when you need detailed information about a paper identified by various ID formats. However, it does not explicitly mention when to use this tool over alternatives such as batch_get_papers or get_paper_citations, nor does it provide any exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_paper_citationsGet Paper CitationsA

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

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo返回数量,最大 1000
offsetNo分页偏移量
paperIdYes论文 ID

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the core function and omits details about pagination, default limits, sorting, return format, or any side effects. With no annotations, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence in Chinese that conveys the essential purpose without extraneous information. It is front-loaded and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with three parameters and no output schema, the description provides adequate purpose but lacks return value details, pagination behavior, and ordering information. It is functional but has clear gaps that could confuse an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already describes all parameters with 100% coverage, so the baseline is 3. The description adds minimal extra meaning by clarifying that paperId refers to the paper being cited, but this is a marginal enhancement over the schema's generic '论文 ID'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool fetches a list of papers that cite a specified paper, using a specific verb and resource. It distinguishes itself from sibling tools like get_paper_references by explicitly noting the direction ('who cited this paper').

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool (when needing citing papers) but does not explicitly name alternatives or exclusions. No contrast with get_paper_references or other siblings is provided, so the usage context is clear but not reinforced.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_paper_referencesGet Paper ReferencesB

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

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo返回数量,最大 1000
offsetNo分页偏移量
paperIdYes论文 ID

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the core action and does not mention pagination behavior, return format, rate limits, or potential errors. As a read operation, side effects are minimal, but the agent has no information about response structure or operational nuances.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler. It efficiently conveys the purpose without unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema and no annotations, yet the description does not explain the return values or pagination details. While the schema documents parameters, the agent has no insight into what the reference list contains (e.g., titles, authors) or how to handle paging. This leaves significant gaps for a tool that could return potentially large lists.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All three parameters (paperId, limit, offset) have exhaustive descriptions in the input schema, providing 100% coverage. The tool description adds no additional parameter semantics beyond what the schema already offers, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb (获取/get) and clearly identifies the resource as the paper's reference list, explicitly clarifying that these are works cited by the paper. This distinguishes it from the sibling tool get_paper_citations, which would retrieve works citing the paper.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance is provided on when to use this tool versus alternatives like get_paper_citations or get_paper. The differentiation is only implicit through the wording of the description, not directly stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_recommendationsGet Paper RecommendationsA

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

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo推荐数量,最大 500
negativePaperIdsNo负向参考论文 ID 列表(想要避免类似的论文)
positivePaperIdsYes正向参考论文 ID 列表(想要找类似的论文)

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It only states the basic function without disclosing how recommendations are generated, whether they are content-based or citation-based, or what limits apply. It does not mention any side effects, permissions, or output characteristics, leaving significant behavioral ambiguity.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that immediately states the core function. It is front-loaded and contains no unnecessary words or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is relatively simple with only three parameters, all well-documented in the schema. However, there is no output schema and no annotations, and the description does not mention return format, default behavior, or any edge cases. It is minimally viable but leaves notable gaps for an agent seeking full context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, as all parameters have descriptive Chinese labels explaining their purpose. The tool description itself adds no additional parameter semantics beyond the schema, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('获取' / 'get') and resource ('推荐的相关论文' / 'recommended related papers') based on specified papers. It clearly distinguishes this from sibling tools like get_paper_citations or get_paper_references, making it the only recommendation-oriented tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage: when you have specific papers and want similar ones, use this tool. However, it provides no explicit guidance on when not to use it or how it differs from alternatives like get_paper_references. The context is clear but not elaborated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_authorsSearch AuthorsC

搜索学术作者

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo返回数量,最大 1000
queryYes作者姓名搜索词
offsetNo分页偏移量

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden but only conveys the tool's purpose. It does not disclose pagination, matching behavior, result format, or any operational side effects, leaving significant behavioral ambiguity.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely short and front-loaded, but it is more under-specified than appropriately concise. It communicates the basic purpose yet lacks the context that would make the brevity effective.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and a need to differentiate from sibling author tools, this one-phrase description is incomplete. It does not explain return values, pagination behavior, or when it should be preferred over related tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for all three parameters (query, limit, offset), so the schema already documents their meaning. The description adds no parameter-level value, meeting the baseline for full coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb+resource ('search academic authors'), which distinguishes it from siblings like search_papers and get_author. However, it lacks explicit scope details such as searching by name or result behavior, so it stops short of the most precise standard.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given for when to use this tool versus alternatives like get_author or get_author_papers. There are no exclusions, prerequisites, or contextual cue to aid selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_papersSearch PapersB

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

ParametersJSON Schema
NameRequiredDescriptionDefault
yearNo年份范围,如 "2020-2024" 或 "2023"
limitNo返回结果数量,最大 100
queryYes搜索关键词
offsetNo分页偏移量
fieldsOfStudyNo学科领域,如 ["Computer Science", "Medicine"]
openAccessPdfNo仅返回有开放获取 PDF 的论文
minCitationCountNo最小引用数

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of disclosing behavioral traits. It only mentions basic search/filter capabilities, omitting important details such as pagination behavior, sorting, rate limits, authentication requirements, or what happens when no results are returned. This is insufficient for a tool with no annotation support.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no redundant wording. It clearly conveys the tool's purpose and general capability, earning its place without unnecessary detail. However, it lacks any extension such as usage context, which would make it more valuable while still being concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having a rich schema with 7 parameters, the description fails to provide contextual information about return values, pagination defaults, result structure, or any practical usage scenarios. Since there is no output schema to clarify return data, the description should compensate but does not, making it inadequate for a tool of this complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema describes all 7 parameters with clear descriptions (100% coverage), so the baseline is 3. The description's phrase 'supports keyword search and filtering conditions' adds only a high-level summary of the parameter set, not enhancing the schema's meaning or providing additional context about parameter usage or relationships.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb+resource: "搜索学术论文" (search academic papers), and distinguishes itself from siblings like search_authors by focusing on papers rather than authors. It also mentions keyword search and filtering, which aligns with the tool's intended function.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to use this tool versus alternatives (e.g., get_paper for retrieving a specific paper by ID). It simply states the basic functionality without exclusions or alternative recommendations, leaving the agent to infer usage context from the sibling names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 9 tool updatesv1.0.1
    • First observedbatch_get_papers
    • First observedget_author
    • First observedget_author_papers
    • First observedget_paper
    • First observedget_paper_citations
    • First observedget_paper_references
    • First observedget_recommendations
    • First observedsearch_authors
    • First observedsearch_papers

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 issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/xbghc/semanticscholar-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server