semanticscholar-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| S2_API_KEY | Yes | Semantic Scholar API key, sent as the x-api-key header |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_papersB | Relevance-ranked search for papers matching a text query, with optional filters on year, venue, field of study, publication type, citation count, and open access availability. |
| search_papers_bulkA | Bulk paper search returning up to 1000 papers per call without relevance ranking, with a continuation token for paging through larger result sets. |
| match_paper_titleB | Find the single paper whose title best matches the given query string. |
| autocomplete_paperA | Suggest paper title completions for a partial query string. |
| get_paperA | Get details about a single paper identified by its Semantic Scholar ID, DOI, arXiv ID, or other supported external ID. |
| get_papers_batchA | Get details for up to 500 papers at once, given a list of paper IDs. |
| get_paper_authorsB | List the authors of a given paper. |
| get_paper_citationsB | List the papers that cite a given paper. |
| get_paper_referencesB | List the papers referenced by a given paper. |
| search_authorsC | Search for authors by name. |
| get_authorA | Get details about a single author identified by their Semantic Scholar author ID. |
| get_author_papersB | List the papers written by a given author. |
| get_authors_batchB | Get details for up to 1000 authors at once, given a list of author IDs. |
| search_snippetsB | Search for text snippets from paper full texts, abstracts, and titles matching a query, with optional filters. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 14 tools
Each tool targets a distinct operation: search vs. retrieval vs. authors vs. references/citations. Even the search variants (search_papers, search_papers_bulk, match_paper_title, autocomplete_paper) are clearly differentiated by their descriptions—relevance ranking, bulk output, exact title match, and title completion.
All tools follow a consistent verb_noun pattern in snake_case (get_, search_, match_, autocomplete_). Plural/singular usage is logical (get_paper vs get_papers_batch) and the bulk suffix is uniformly applied.
14 tools is well within the ideal range for a scholarly data API. Each tool covers a meaningful aspect of paper and author retrieval, with bulk and single-item variants earning their place.
The tool surface covers the full read-only lifecycle: paper search, paper details, references, citations, author search, author details, author papers, and bulk operations. No obvious dead ends or missing operations for the stated domain.