Skip to main content
Glama
semantic-scholar-mcp

semantic-scholar-mcp

by ckgerteis

s2_search_papers

Read-onlyIdempotent

Search Semantic Scholar papers by keyword and filter results by publication year, field of study, citation count, and open-access status to find relevant academic literature.

Instructions

Search Semantic Scholar for papers by keyword, with year, field-of-study, citation-count and open-access filters. Returns the unified envelope.

Matching is relevance-ranked over title, abstract and venue (matching_mode relevance_ranked); result.total is the API's estimate. Titles are typed by script: kana or Hangul decide ja or ko, Latin goes to en, and a han-only title stays untyped in extra.title. Coverage of non-English humanities work is thin — a ZERO_RESULTS here is weak evidence; consult the CiNii, J-STAGE, NDL and KCI servers.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "params": "<params>"
    },
    "name": "s2_search_papers"
  }
}

Input Schema

NameRequiredDescriptionDefault
paramsYes

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv2.2.0
    • addedInput schema / $defs / PaperSearchInput / properties / query / maxLength
      Added value: +2000
  2. First observedv1.1.0

TDQS

A4.1/5.0
Behavior5/5

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

Beyond the annotations (readOnly, idempotent, openWorld, non-destructive), the description discloses that matching is relevance-ranked over title/abstract/venue, that result.total is only the API's estimate, and how titles are script-typed into ja/ko/en/untyped. The coverage caveat about thin non-English humanities indexing is exactly the kind of behavioral trait annotations cannot convey.

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?

Purpose and filter set are front-loaded in the first sentence, with behavioral caveats following. The title-script paragraph is dense and somewhat esoteric, but it earns its place for Japanese/Korean searching. Minor slack, no filler.

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

Completeness5/5

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

With annotations covering the safety profile and an output schema present (so return shape needn't be explained here), the description supplies the remaining decision-critical context: ranking mode, estimate-vs-exact totals, script typing of titles, and known coverage gaps. Nothing an agent needs to interpret a zero-result response is missing.

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 description names the filter dimensions (year, field-of-study, citation-count, open-access), which maps onto year_start/year_end, fields_of_study, min_citations and open_access_only, but it adds no semantics beyond what the schema already states (e.g., the comma-separated format is already in the schema). It says nothing about query formulation, limit, or offset behavior.

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 first sentence names a specific verb and resource ('Search Semantic Scholar for papers by keyword') and enumerates the filter dimensions, which cleanly separates it from s2_get_paper and the recommendation tools. It never explicitly contrasts itself with a named sibling such as s2_search_authors, so the differentiation is implied by the noun rather than stated.

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

Usage Guidelines4/5

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

The closing sentence gives real routing guidance: a ZERO_RESULTS outcome here is weak evidence, and the agent should fall back to CiNii, J-STAGE, NDL and KCI. That is an explicit when-not condition. It stops short of a full within-family routing rule (e.g., keyword search vs s2_recommend_multi/s2_recommend_single).

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