学术
STDIO学术研究论文搜索与分析MCP服务器
学术研究论文搜索与分析MCP服务器
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