home / mcp / semantic scholar mcp server

Semantic Scholar MCP Server

Provides access to Semantic Scholar data via FastMCP endpoints for papers, authors, and citations.

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.