返回市场
学术界_mcp

学术界_mcp

作者:IlyaGusev27 星标更新:2025-11-18

项目介绍

Academia MCP

PyPI CI License smithery badge Verified on MseeP

用于搜索、获取、分析和报告科学论文和数据集的MCP服务器。

功能

  • 搜索和下载ArXiv
  • 搜索ACL Anthology
  • 搜索Hugging Face数据集
  • Semantic Scholar引用和参考文献
  • 通过Exa、Brave或Tavily进行网络搜索
  • 网页爬虫、LaTeX编译、PDF阅读
  • 可选的LLM驱动工具,用于文档QA和研究提案工作流程

要求

  • Python 3.12+

安装

  • 使用pip(最终用户):
pip3 install academia-mcp
  • 开发环境(uv + Makefile):
uv venv .venv
make install

快速开始

  • 通过HTTP运行(默认传输方式):
python -m academia_mcp --transport streamable-http
# 或者
uv run -m academia_mcp --transport streamable-http
  • 通过标准输入输出运行(适用于本地MCP客户端如Claude Desktop):
python -m academia_mcp --transport stdio
# 或者
uv run -m academia_mcp --transport stdio

注意事项:

  • 传输方式:stdiossestreamable-http
  • host/port用于HTTP传输;对于stdio则忽略。默认端口是5056(或PORT)。

Claude Desktop配置

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

可用工具(一行命令)

  • arxiv_search:使用特定领域的查询和过滤器查询arXiv。
  • arxiv_download:通过ID获取论文并转换为结构化文本(HTML/PDF模式)。
  • anthology_search:使用字段查询搜索ACL Anthology,并可选日期过滤。
  • hf_datasets_search:使用过滤器和排序查找Hugging Face数据集。
  • s2_get_citations:列出引用给定arXiv论文的论文(Semantic Scholar图谱)。
  • s2_get_references:列出被给定arXiv论文引用的论文。
  • visit_webpage:获取并规范化网页。
  • web_search:统一搜索包装器;当至少有一个Exa/Brave/Tavily密钥设置时可用。
  • exa_web_searchbrave_web_searchtavily_web_search:特定提供商的搜索。
  • get_latex_templates_listget_latex_template:枚举和获取内置LaTeX模板。
  • compile_latex:在WORKSPACE_DIR中编译LaTeX到PDF。
  • read_pdf:从PDF中提取每页的文本。
  • download_pdf_paperreview_pdf_paper:下载并可选地审查PDF(需要LLM + 工作区)。
  • document_qa:回答提供的文档片段的问题(需要LLM)。
  • extract_bitflip_infogenerate_research_proposalsscore_research_proposals:研究提案助手(需要LLM)。

可用性说明:

  • 设置WORKSPACE_DIR以启用compile_latexread_pdfdownload_pdf_paperreview_pdf_paper
  • 设置OPENROUTER_API_KEY以启用LLM工具(document_qareview_pdf_paper和bitflip工具)。
  • 设置一个或多个EXA_API_KEYBRAVE_API_KEYTAVILY_API_KEY以启用web_search和提供商工具。

环境变量

根据使用的工具设置:

  • OPENROUTER_API_KEY:LLM相关工具所需。
  • BASE_URL:覆盖OpenRouter基础URL。
  • DOCUMENT_QA_MODEL_NAME:覆盖document_qa的默认模型。
  • BITFLIP_MODEL_NAME:覆盖bitflip工具的默认模型。
  • TAVILY_API_KEY:启用Tavily的web_search
  • EXA_API_KEY:启用Exa的web_searchvisit_webpage
  • BRAVE_API_KEY:启用Brave的web_search
  • WORKSPACE_DIR:生成文件的目录(PDFs,临时工件)。
  • PORT:HTTP端口(默认5056)。

可以在项目根目录下的.env文件中设置这些变量。

Docker

构建镜像:

docker build -t academia_mcp .

运行服务器(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

或者使用现有镜像:phoenix120/academia_mcp

示例

Makefile目标

  • make install:使用uv安装可编辑模式的包
  • make validate:运行black,flake8和mypy(严格模式)
  • make test:使用pytest运行测试套件
  • make publish:使用uv构建和发布

LaTeX/PDF需求

仅需用于LaTeX/PDF工具。确保已安装LaTeX发行版且pdflatex在PATH上,以及latexmk。在Debian/Ubuntu上:

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