Semantic Scholar MCP Server logo

Semantic Scholar MCP Server

HenryKautz/semantic_scholar_ngrok_mcp_server
0 starsUpdated 2026-02-15Community

Is this your server?

Add your score badge to your README and get your server in front of 45k+ builders a month.

Works with

Claude CodeClaude DesktopCursorVS CodeClineCodex CLIOpenClaw+ any MCP client

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

Enables searching and retrieving academic papers, authors, citations, and recommendations from Semantic Scholar via MCP.

README.md

Semantic Scholar MCP Server

An MCP server that provides access to the Semantic Scholar academic paper API, with optional ngrok tunnel for remote access.

Features

  • search_papers — Search for papers by keyword, year, field of study, and citation count
  • get_paper — Get full details for a paper by S2 ID, DOI, ArXiv ID, etc.
  • get_citations — List papers that cite a given paper
  • get_references — List papers referenced by a given paper
  • search_authors — Search for authors by name
  • get_author — Get author profile (h-index, paper count, affiliations)
  • get_author_papers — List papers by a specific author
  • recommend_papers — Get paper recommendations based on a seed paper
  • batch_get_papers — Look up multiple papers in a single request

Setup

Requires Python 3.10+ and uv.

# Install dependencies
uv sync

Optionally set an API key for higher rate limits:

export S2_API_KEY="your-key-here"

Usage

HTTP transport (default) — for remote clients

uv run python server.py

The server listens on http://localhost:8000. The MCP endpoint is at /mcp.

With ngrok tunnel

uv run python server.py --ngrok

This opens a public ngrok tunnel and prints the URL to stderr.

stdio transport — for Claude Desktop

uv run python server.py --transport stdio

Claude Desktop config (claude_desktop_config.json):

{
  "mcpServers": {
    "semantic-scholar": {
      "command": "uv",
      "args": ["--directory", "/path/to/this/project", "run", "python", "server.py", "--transport", "stdio"]
    }
  }
}

Options

| Flag | Default | Description | |------|---------|-------------| | --transport | streamable-http | streamable-http or stdio | | --port | 8000 | Port for HTTP transport | | --ngrok | off | Open an ngrok tunnel |

See related servers & alternatives →

Related MCP servers

Browse all →

Related guides

Hand-picked reading to help you choose and use Search servers.