Academia
STDIOMCP server for comprehensive academic research with paper search, citation analysis, and web tools
MCP server for comprehensive academic research with paper search, citation analysis, and web tools
MCP server with tools to search, fetch, analyze, and report on scientific papers and datasets.
pip3 install academia-mcp
uv venv .venv make install
python -m academia_mcp --transport streamable-http # OR uv run -m academia_mcp --transport streamable-http
python -m academia_mcp --transport stdio # OR uv run -m academia_mcp --transport stdio
Notes:
stdio, sse, streamable-http.host/port are used for HTTP transports; ignored for stdio. Default port is 5056 (or PORT).{ "mcpServers": { "academia": { "command": "python3", "args": [ "-m", "academia_mcp", "--transport", "stdio" ] } } }
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:
WORKSPACE_DIR to enable compile_latex, read_pdf, download_pdf_paper, and review_pdf_paper.OPENROUTER_API_KEY to enable LLM tools (document_qa, review_pdf_paper, and bitflip tools).EXA_API_KEY, BRAVE_API_KEY, TAVILY_API_KEY to enable web_search and provider tools.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.
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
make install: install the package in editable mode with uvmake validate: run black, flake8, and mypy (strict)make test: run the test suite with pytestmake publish: build and publish using uvOnly 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