- Home
- MCP servers
- Semantic Scholar
Semantic Scholar
- python
78
GitHub Stars
python
Language
6 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"yuzongmin-semantic-scholar-fastmcp-mcp-server": {
"command": "/path/to/your/venv/bin/fastmcp",
"args": [
"run",
"/path/to/your/semantic-scholar-server/run.py"
],
"env": {
"SEMANTIC_SCHOLAR_API_KEY": "YOUR_API_KEY"
}
}
}
}You can run Semantic Scholar as a FastMCP server to access papers, authors, and citations through MCP clients. It provides flexible search, batch lookups, and analytics capabilities while handling rate limits and graceful errors.
How to use
Connect your MCP client to the Semantic Scholar MCP Server to perform paper, author, and citation data queries. You can search papers by full text or title, fetch detailed paper or author records, retrieve batch results for multiple IDs, and obtain recommendations based on single or multiple papers. Use the server to build features like literature discovery, citation networks, and author publication histories inside your application or editor environment.
How to install
Prerequisites: ensure you have Python 3.8 or newer and a compatible environment for FastMCP. You will also need a working HTTP client or an MCP client that can communicate with a FastMCP server.
Manual installation steps you can follow locally are shown below.
git clone https://github.com/YUZongmin/semantic-scholar-fastmcp-mcp-server.git
cd semantic-scholar-server
# Install dependencies for FastMCP and the server environment (follow any project-specific instructions to install FastMCP)
# This is a general guideline; adapt to your OS and Python environment
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt # if such a file exists in your project
# Run the server (start script path may vary; ensure run.py is executable and configured)
python run.py
Additional configuration and notes
Environment variable support allows you to provide an API key for higher rate limits. If you have a Semantic Scholar API key, set SEMANTIC_SCHOLAR_API_KEY in your environment before starting the server.
For Claude Desktop users, you can configure your MCP client to run the server via FastMCP by pointing to the local runtime and script, with an optional API key in the environment.
Configuration and usage notes
Rate limiting adapts automatically depending on whether you provide an API key. With an API key you get higher throughput for most endpoints while some endpoints remain rate-limited to ensure fair usage.
The server supports authenticated and unauthenticated access. If you don’t supply an API key, rate limits are lower but you can still access core features.
If you need to stop the server gracefully, trigger a clean shutdown in your MCP client or stop the process to allow ongoing requests to finish.
Troubleshooting tips
Check environment variables when the server fails to start. Ensure SEMANTIC_SCHOLAR_API_KEY is correctly set if you rely on authenticated access.
Verify that the server process has the required Python version and that dependencies are installed. Review any error messages related to rate limiting or API connectivity.
Available tools
paper_relevance_search
Search papers using relevance ranking with comprehensive query parameters, including year range and citation count filters, returning paginated results with customizable fields.
paper_bulk_search
Bulk search for large result sets with sorting options, suitable for processing many papers efficiently.
paper_title_search
Find papers by exact title match, returning detailed information with customizable fields.
paper_details
Get comprehensive details for a single paper across various ID formats (S2 ID, DOI, ArXiv, etc.).
paper_batch_details
Retrieve details for multiple papers in a single request, up to 1000 IDs, with consistent field support.
paper_citations
Fetch papers that cite a given paper, with pagination, optional citation context, and field customization.
paper_references
Fetch papers referenced by a given paper, with pagination and optional context.
author_search
Search authors by name, with paginated results and fields like affiliations and publication counts.
author_details
Get detailed author metadata including publication metrics.
author_papers
Retrieve papers authored by a specific individual with pagination and field options.
author_batch_details
Fetch details for multiple authors in a single request.
paper_recommendations_single
Get recommendations based on a single paper, with field customization for the results.
paper_recommendations_multi
Get recommendations based on multiple papers, supporting positive and negative examples.