Skip to main content

MCP server that provides different tools to search for scientific publications

Project description

Academia MCP

PyPI CI License smithery badge Verified on MseeP

MCP server with tools to search, fetch, analyze, and report on scientific papers and datasets.

Features

  • ArXiv search and download
  • ACL Anthology search
  • Hugging Face datasets search
  • Semantic Scholar citations and references
  • Web search via Exa, Brave, or Tavily
  • Web page crawler, LaTeX compilation, PDF reading
  • Optional LLM-powered tools for document QA and research proposal workflows

Requirements

  • Python 3.12+

Install

  • Using pip (end users):
pip3 install academia-mcp
  • For development (uv + Makefile):
uv venv .venv
make install

Quickstart

  • Run over HTTP (default transport):
python -m academia_mcp --transport streamable-http
# OR
uv run -m academia_mcp --transport streamable-http
  • Run over stdio (for local MCP clients like Claude Desktop):
python -m academia_mcp --transport stdio
# OR
uv run -m academia_mcp --transport stdio

Notes:

  • Transports: stdio, sse, streamable-http.
  • host/port are used for HTTP transports; ignored for stdio. Default port is 5056 (or PORT).

Claude Desktop config

{
  "mcpServers": {
    "academia": {
      "command": "python3",
      "args": [
        "-m",
        "academia_mcp",
        "--transport",
        "stdio"
      ]
    }
  }
}

Available tools (one-liners)

  • arxiv_search: Query arXiv with field-specific queries and filters.
  • arxiv_download: Fetch a paper by ID and convert to structured text (HTML/PDF modes).
  • anthology_search: Search ACL Anthology with fielded queries and optional date filtering.
  • hf_datasets_search: Find Hugging Face datasets with filters and sorting.
  • s2_get_citations: List papers citing a given arXiv paper (Semantic Scholar Graph).
  • s2_get_references: List papers referenced by a given arXiv paper.
  • visit_webpage: Fetch and normalize a web page.
  • web_search: Unified search wrapper; available when at least one of Exa/Brave/Tavily keys is set.
  • exa_web_search, brave_web_search, tavily_web_search: Provider-specific search.
  • get_latex_templates_list, get_latex_template: Enumerate and fetch built-in LaTeX templates.
  • compile_latex: Compile LaTeX to PDF in WORKSPACE_DIR.
  • read_pdf: Extract text per page from a PDF.
  • download_pdf_paper, review_pdf_paper: Download and optionally review PDFs (requires LLM + workspace).
  • document_qa: Answer questions over provided document chunks (requires LLM).
  • extract_bitflip_info, generate_research_proposals, score_research_proposals: Research proposal helpers (requires LLM).

Availability notes:

  • Set WORKSPACE_DIR to enable compile_latex, read_pdf, download_pdf_paper, and review_pdf_paper.
  • Set OPENROUTER_API_KEY to enable LLM tools (document_qa, review_pdf_paper, and bitflip tools).
  • Set one or more of EXA_API_KEY, BRAVE_API_KEY, TAVILY_API_KEY to enable web_search and provider tools.

Environment variables

Set as needed, depending on which tools you use:

  • OPENROUTER_API_KEY: required for LLM-related tools.
  • BASE_URL: override OpenRouter base URL.
  • DOCUMENT_QA_MODEL_NAME: override default model for document_qa.
  • BITFLIP_MODEL_NAME: override default model for bitflip tools.
  • TAVILY_API_KEY: enables Tavily in web_search.
  • EXA_API_KEY: enables Exa in web_search and visit_webpage.
  • BRAVE_API_KEY: enables Brave in web_search.
  • WORKSPACE_DIR: directory for generated files (PDFs, temp artifacts).
  • PORT: HTTP port (default 5056).

You can put these in a .env file in the project root.

Docker

Build the image:

docker build -t academia_mcp .

Run the server (HTTP):

docker run --rm -p 5056:5056 \
  -e PORT=5056 \
  -e OPENROUTER_API_KEY=your_key_here \
  -e WORKSPACE_DIR=/workspace \
  -v "$PWD/workdir:/workspace" \
  academia_mcp

Or use existing image: phoenix120/academia_mcp

Examples

Makefile targets

  • make install: install the package in editable mode with uv
  • make validate: run black, flake8, and mypy (strict)
  • make test: run the test suite with pytest
  • make publish: build and publish using uv

LaTeX/PDF requirements

Only needed for LaTeX/PDF tools. Ensure a LaTeX distribution is installed and pdflatex is on PATH, as well as latexmk. On Debian/Ubuntu:

sudo apt install texlive-latex-base texlive-fonts-recommended texlive-latex-extra texlive-science latexmk

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

academia_mcp-1.11.5.tar.gz (57.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

academia_mcp-1.11.5-py3-none-any.whl (58.2 kB view details)

Uploaded Python 3

File details

Details for the file academia_mcp-1.11.5.tar.gz.

File metadata

  • Download URL: academia_mcp-1.11.5.tar.gz
  • Upload date:
  • Size: 57.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.2

File hashes

Hashes for academia_mcp-1.11.5.tar.gz
Algorithm Hash digest
SHA256 da62039402baebe64dee0d06f67b8668f84f17c926b122e3eb6a1c629c067156
MD5 24d8f1d2361da3a921477aa3c2383721
BLAKE2b-256 535adfb88d63db287921e7cd7eef0e00dea09d35aafb0e2b376c1096dd910a06

See more details on using hashes here.

File details

Details for the file academia_mcp-1.11.5-py3-none-any.whl.

File metadata

File hashes

Hashes for academia_mcp-1.11.5-py3-none-any.whl
Algorithm Hash digest
SHA256 308677797759bdb6007550c22281f46978b5ca2b741702600640821cb0e8e592
MD5 fee6f53509e99baf9c9024580bb6b423
BLAKE2b-256 eb36e6877223a4b3053475366c5e837772a3c9b1422b230905f47a07dbbd187b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page