home / mcp / semantic scholar mcp server
Provides access to Semantic Scholar data via FastMCP endpoints for papers, authors, and citations.
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.
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.
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.pyEnvironment 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.
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.
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.
Search papers using relevance ranking with comprehensive query parameters, including year range and citation count filters, returning paginated results with customizable fields.
Bulk search for large result sets with sorting options, suitable for processing many papers efficiently.
Find papers by exact title match, returning detailed information with customizable fields.
Get comprehensive details for a single paper across various ID formats (S2 ID, DOI, ArXiv, etc.).
Retrieve details for multiple papers in a single request, up to 1000 IDs, with consistent field support.
Fetch papers that cite a given paper, with pagination, optional citation context, and field customization.
Fetch papers referenced by a given paper, with pagination and optional context.
Search authors by name, with paginated results and fields like affiliations and publication counts.
Get detailed author metadata including publication metrics.
Retrieve papers authored by a specific individual with pagination and field options.
Fetch details for multiple authors in a single request.
Get recommendations based on a single paper, with field customization for the results.
Get recommendations based on multiple papers, supporting positive and negative examples.