GnistAI GnistAI
Log in

Semantic Scholar

Search 200M+ academic papers, explore citation graphs, find author profiles, and get AI-powered paper recommendations across all scientific disciplines.

Overview   |   MCP   |   REST API   |   OpenAPI   |   CLI   |   Tutorial   |   Toolkits   |   Home
status: healthy status status healthy healthy tools: 8 tools tools 8 8 type: api wrapper type type api wrapper api wrapper lifecycle: maintained lifecycle lifecycle maintained maintained Science

Data source: Semantic Scholar API

MCP Endpoint (Streamable HTTP) https://context.gnist.ai/mcp/semantic-scholar/
Authentication

All requests require a Gnist-API-Key header (or api_key query parameter).

Free tier: 100 calls/day. Get your API key.

Tools (8)

search_papers

Search 200M+ academic papers in Semantic Scholar.

Find papers across all scientific disciplines. Returns titles, authors,
citation counts, venues, and links to open-access PDFs when available.
Use paper IDs from results with get_paper, get_citations, get_references,
and recommend_papers.

Args:
query: Search keywords or phrase.
limit: Number of results (1-100, default 10).
offset: Pagination offset for paging through results.
year: Year or year range filter.
fields_of_study: Filter by academic field(s).

Returns:
Papers with paperId, title, year, venue, authors, citationCount, doi.

ParameterTypeRequiredDescription
querystringrequiredSearch query for academic papers (e.g. "transformer attention mechanism", "CRISPR gene editing", "climate change mitigation").
limitintegeroptionalNumber of results to return (1-100, default 10). (default: 10)
offsetintegeroptionalPagination offset for additional results (default 0). (default: 0)
yearanyoptionalYear filter — single year ("2023"), range ("2020-2023"), or open range ("2020-").
fields_of_studyanyoptionalFilter by academic field (e.g. ["Computer Science"], ["Medicine", "Biology"]).
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "search_papers",
    "arguments": {
      "query": "example"
    }
  }
}
get_paper

Get detailed information about a specific academic paper.

Retrieve full paper details including abstract, citation/reference counts,
authors, fields of study, and AI-generated TLDR summary. Accepts multiple
ID formats: Semantic Scholar paper ID, DOI, ArXiv ID, PMID, or CorpusId.

Args:
paper_id: Paper identifier in any supported format.

Returns:
Full paper details with abstract, authors, citations, TLDR, and links.

ParameterTypeRequiredDescription
paper_idstringrequiredPaper identifier — S2 ID (40-char hex), DOI (e.g. "10.1038/s41586-021-03819-2"), ArXiv ID (e.g. "2301.12345"), or prefixed ID (e.g. "PMID:12345", "CorpusId:12345").
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "get_paper",
    "arguments": {
      "paper_id": "example"
    }
  }
}
get_citations

Get papers that cite a given paper.

Explore a paper's citation graph by finding all papers that reference it.
Useful for tracking research impact, finding follow-up work, and
discovering how a paper has influenced subsequent research.

Args:
paper_id: Paper identifier in any supported format.
limit: Number of citing papers to return (1-100, default 20).
offset: Pagination offset.

Returns:
List of citing papers with title, year, venue, authors, citationCount.

ParameterTypeRequiredDescription
paper_idstringrequiredPaper identifier (S2 ID, DOI, ArXiv ID, or prefixed ID).
limitintegeroptionalNumber of citing papers to return (1-100, default 20). (default: 20)
offsetintegeroptionalPagination offset (default 0). (default: 0)
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "get_citations",
    "arguments": {
      "paper_id": "example"
    }
  }
}
get_references

Get papers referenced by a given paper.

Explore a paper's bibliography — the works it cites. Useful for
understanding a paper's foundations, finding seminal works in a field,
and building reading lists from authoritative sources.

Args:
paper_id: Paper identifier in any supported format.
limit: Number of referenced papers to return (1-100, default 20).
offset: Pagination offset.

Returns:
List of referenced papers with title, year, venue, authors, citationCount.

ParameterTypeRequiredDescription
paper_idstringrequiredPaper identifier (S2 ID, DOI, ArXiv ID, or prefixed ID).
limitintegeroptionalNumber of referenced papers to return (1-100, default 20). (default: 20)
offsetintegeroptionalPagination offset (default 0). (default: 0)
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "get_references",
    "arguments": {
      "paper_id": "example"
    }
  }
}
search_authors

Search for academic authors by name.

Find researchers by name and see their publication counts, citation counts,
h-index, and institutional affiliations. Use authorId from results with
get_author for detailed profiles.

Args:
query: Author name to search for.
limit: Number of results (1-100, default 10).

Returns:
Authors with authorId, name, paperCount, citationCount, hIndex, affiliations.

ParameterTypeRequiredDescription
querystringrequiredAuthor name to search for (e.g. "Yann LeCun", "Geoffrey Hinton").
limitintegeroptionalNumber of results to return (1-100, default 10). (default: 10)
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "search_authors",
    "arguments": {
      "query": "example"
    }
  }
}
get_author

Get an author's profile by Semantic Scholar author ID.

Retrieve detailed author information including paper count, citation count,
h-index, and affiliations.

Args:
author_id: Numeric S2 author ID from search_authors results.

Returns:
Author profile with name, paperCount, citationCount, hIndex, affiliations.

ParameterTypeRequiredDescription
author_idstringrequiredSemantic Scholar author ID (numeric, e.g. "1688882").
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "get_author",
    "arguments": {
      "author_id": "example"
    }
  }
}
recommend_papers

Get paper recommendations based on a seed paper.

Uses Semantic Scholar's recommendation engine to find related papers
you might want to read next. Useful for literature review, discovering
adjacent research, and expanding knowledge in a topic area.

Args:
paper_id: Paper to get recommendations for.
limit: Number of recommendations (1-100, default 10).

Returns:
Recommended papers similar to the seed paper.

ParameterTypeRequiredDescription
paper_idstringrequiredPaper identifier (S2 ID, DOI, ArXiv ID, or prefixed ID) to get recommendations for.
limitintegeroptionalNumber of recommendations (1-100, default 10). (default: 10)
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "recommend_papers",
    "arguments": {
      "paper_id": "example"
    }
  }
}
report_feedback

Report a bug, feature request, or general feedback for this data source.

Use this when something doesn't work as expected, when you'd like
a new feature, or when you have suggestions for improvement.

Args:
feedback: Describe the issue or suggestion.
feedback_type: One of 'bug', 'feature_request', or 'general'.

ParameterTypeRequiredDescription
feedbackstringrequired
feedback_typestringoptional (default: "general")
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "report_feedback",
    "arguments": {
      "feedback": "example"
    }
  }
}

Quick Start

Shell
curl -X POST "https://context.gnist.ai/mcp/semantic-scholar/" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "Gnist-API-Key: YOUR_API_KEY" \
  -d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "search_papers", "arguments": {"query": "example"}}}'
Python
import httpx

resp = httpx.post(
    "https://context.gnist.ai/mcp/semantic-scholar/",
    headers={"Gnist-API-Key": "YOUR_API_KEY", "Content-Type": "application/json"},
    json={
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "search_papers",
    "arguments": {
      "query": "example"
    }
  }
},
)
print(resp.json())

Related Toolkits (Science)

Resources