ociupitu

Academic Search MCP Server

Community ociupitu
Updated

Academic Search MCP Server

A Model Context Protocol (MCP) server that lets Claude Code(or any MCP client) search academic literature through the Semantic ScholarAPI. It is built for research workflows: relevance search with filters, batch metadata retrieval,and citation-graph recommendations.

This is a modified fork of afrise/academic-search-mcp-server.The server was rewritten on top of the official semanticscholarPython library and extended with batch and recommendation tools, bounded retry on rate limits, andclearer error handling. See Changes from upstream below.

Tools

Tool What it does
search_papers Relevance search with optional filters: year, fields_of_study, min_citation_count, venue, open_access_pdf.
search_by_topic Same as search_papers, with a year_start/year_end range (kept for backward compatibility).
fetch_paper_details Full metadata for a single paper by Semantic Scholar ID, DOI, or arXiv ID.
get_papers_batch Details for up to 500 papers in one request — far cheaper than looping fetch_paper_details under the 1 req/sec limit.
recommend_papers Citation-graph recommendations from seed paper IDs (positive_paper_ids, optional negative_paper_ids). Surfaces structurally similar work that keyword search misses.

Each tool returns a formatted text block per paper: ID, title, authors, year, DOI, venue, citationcount, fields of study, open-access status, PDF URL, abstract, and TL;DR when available.

Requirements

  • Python 3.10+
  • uv (recommended) — or plain pip
  • A Semantic Scholar API key is optional (see below)

Install

git clone https://github.com/ociupitu/academic-search-mcp.git
cd academic-search-mcp
uv sync          # creates .venv and installs dependencies from uv.lock

Prefer pip? pip install -e . inside a virtual environment works too.

API key (optional)

The server reads SEMANTIC_SCHOLAR_API_KEY from the environment, but it is optional:

  • Without a key — requests go through Semantic Scholar's shared anonymous pool. It works, butyou are more likely to hit HTTP 429 rate limiting during busy periods.
  • With a free key — you get your own quota. Register athttps://www.semanticscholar.org/product/api and set the variable (the .mcp.json example belowwires it in).

Either way the server keeps requests sequential and does a short bounded retry on a 429, thenreturns a readable Error: string rather than hanging or silently returning "no results".

Use with Claude Code

Add the server to your client's MCP config (for Claude Code, a .mcp.json in your project root).Point --directory at wherever you cloned this repo, and use an absolute path:

{
  "mcpServers": {
    "academic-search": {
      "type": "stdio",
      "command": "uv",
      "args": ["run", "--directory", "/absolute/path/to/academic-search-mcp", "server.py"],
      "env": {
        "SEMANTIC_SCHOLAR_API_KEY": "YOUR_API_KEY_HERE"
      }
    }
  }
}

Leave the env block out entirely to run keyless. Restart your MCP client after editing the config.

Changes from upstream

  • Rewritten on the official semanticscholar library instead of hand-rolled httpx calls.
  • Added get_papers_batch (batch details) and recommend_papers (citation-graph recommendations).
  • Added search filters: fields_of_study, min_citation_count, venue, open_access_pdf, and aflexible year range.
  • Fail-fast client (retry=False) plus a bounded in-server retry on 429, so a throttle recovers inseconds or returns a clean error instead of blocking for minutes.
  • Dropped the Crossref path; Semantic Scholar is the single source.

License

AGPL-3.0, inherited from the upstream project. See LICENSE. If you redistribute orrun a modified version as a network service, the AGPL's source-availability terms apply.

MCP Server · Populars

MCP Server · New

    cauldr0nx

    EspoCRM MCP Server

    Opensource MCP Server for EspoCRM

    Community cauldr0nx
    cisco-open

    Network Sketcher

    Network Sketcher is an AI-ready network design tool with Local MCP, Online, and Offline editions for creating network designs and exporting PowerPoint diagrams and Excel-based configuration data.

    Community cisco-open
    IvanMurzak

    ✨ AI Game Developer — Godot MCP

    Godot-MCP — Model Context Protocol (MCP) integration for the Godot Engine. AI tools for the Godot Editor in C#, with cloud connection to ai-game.dev. Apache-2.0.

    Community IvanMurzak
    cyberlife-coder

    velesdb

    The local-first memory engine for AI agents. One offline Rust binary fuses vector + graph + columnar under SQL — remember / recall / why over the Model Context Protocol. why() reconnects a decision to its context across sessions, where pure vector recall (Mem0/Zep) goes blind. Runs on server, laptop, browser, edge. Zero cloud.

    Community cyberlife-coder
    abskrj

    velane

    Velane is integration infrastructure agents actually control — 800+ OAuth integrations, sandboxed Bun and Python execution, and a full deployment pipeline managed via MCP

    Community abskrj