学术论文搜索与分析服务器

一个用于从多个来源搜索、下载和分析学术论文的模型上下文协议(MCP)服务器,为大型语言模型提供统一的研究接口。

  • by xingyulu23
  • Python
  • 本地部署
  • 9 星标
  • 更新于
在 GitHub 查看 xingyulu23/Academix

使用说明

学术MCP服务器

用于搜索、下载和分析来自多个来源的学术论文的模型上下文协议(MCP)服务器。

从以下位置聚合数据 OpenAlex, DBLP, 语义学者, arXiv,以及 交叉引用 为法学硕士提供统一的学术研究接口。

专为与大型语言模型无缝集成而设计,如 克劳德桌面 和 开源代码.

特性

  • 🔍 多源搜索:跨OpenAlex(100K+免费电话/天)、DBLP(CS论文)、Semantic Scholar(人工智能推荐)、arXiv(预印本)和CrossRef(DOI解析)的统一搜索。
  • 🧠 智能ID解析:自动检测和处理DOI、arXiv ID、OpenAlex ID、语义学者ID和DBLP密钥。
  • 📚 BibTeX导出:DBLP的原生BibTeX支持(高质量),可自动生成其他来源的回退。支持批量导出。
  • 📊 引文分析:检索引用计数、引用论文,并生成用于可视化的引用网络数据。
  • 🤖 AI建议:利用Semantic Scholar的AI引擎根据内容和引用查找相关论文。
  • ⚡ 异步:内置 httpx 和 asyncio 用于高性能并发API请求。

安装

快速入门(面向用户)

如果您正在使用 uv (推荐):

uv tool install academix

或与 pip:

pip install academix

开发设置(供贡献者使用)

  1. 克隆存储库:

    git clone https://github.com/your-org/academix.git
    cd academix
    
  2. 安装依赖项:

    uv sync
    
  3. 运行服务器:

    uv run academix
    

配置

1.克劳德桌面集成

要将此服务器与Claude Desktop一起使用,请将以下内容添加到配置文件中:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "academix": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "/absolute/path/to/academix", 
        "academix"
      ],
      "env": {
        "ACADEMIX_EMAIL": "your.email@example.com",
        "SEMANTIC_SCHOLAR_API_KEY": "optional_api_key"
      }
    }
  }
}

备注:替换 /absolute/path/to/academix 使用克隆存储库的实际路径。设置 ACADEMIX_EMAIL 强烈建议访问OpenAlex和CrossRef的“礼貌池”(更高的速率限制)。

2.OpenCode集成

对于OpenCode,修改您的配置文件(通常在 ~/.config/opencode/opencode.json):

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "academix": {
      "type": "local",
      "command": [
        "uv",
        "run",
        "--directory",
        "/absolute/path/to/academix",
        "academix"
      ],
      "environment": {
        "ACADEMIX_EMAIL": "your.email@example.com",
        "SEMANTIC_SCHOLAR_API_KEY": "optional_api_key"
      },
      "enabled": true,
      "timeout": 10000
    }
  }
}

配置详细信息:

  • 类型:必须是 "local".
  • 命令:运行服务器的完整命令数组。使用 uv run 指向目录。
  • 目录:替换 /absolute/path/to/academix 你的实际路径。
  • 环境:在此处添加API密钥或电子邮件。 ACADEMIX_EMAIL 是推荐的。
  • 超时:可选。增加到 10000 (10秒)来处理网络延迟。

数据源覆盖率

功能支持矩阵

特性 OpenAlex DBLP CrossRef 语义学者 arXiv
论文搜索 ✅ ✅ ✅ ✅ ✅
获取纸张详细信息 ✅ ✅ ✅ ✅ ✅
BibTeX导出 ✅ ✅ 本地 ✅ ✅ ✅
引文检索 ✅ ❌ ❌ ✅ ❌
作者搜索 ✅ ✅ ✅ ✅ ✅
相关论文(AI)❌ ❌ ❌ ✅ ❌

BibTeX质量(按来源)

来源 质量 备注
DBLP ⭐⭐⭐ 优秀 原生BibTeX导出。最适合CS论文。包括完整的场地信息。
交叉引用 ⭐⭐ 好 来自出版商的准确元数据。需要有效的DOI。
arXiv ⭐⭐ 好 正确的预印本信息。条目类型为 @misc 随着 eprint 现场。
语义学者 ⭐⭐ 好 由元数据生成。可能缺少场地细节。
OpenAlex ⭐ 变量 由元数据生成。某些字段可能不完整。

推荐:对于CS论文,优先考虑BibTeX的DBLP。对于有DOI的论文,CrossRef提供了可靠的元数据。

MCP工具

工具 说明
academic_search_papers 按关键字、标题、作者、DOI、日期、地点搜索论文。支持按相关性、日期或引用进行排序。
academic_get_paper_details 使用任何支持的ID格式获取论文的完整元数据。
academic_get_bibtex 导出BibTeX引用(单个或批量)。优先考虑DBLP以获得高质量的元数据。
academic_get_citations 获取引用给定论文的论文(通过OpenAlex)。
academic_search_author 按作者姓名查找所有论文。
academic_get_related_papers 人工智能支持的相关论文推荐(通过语义学者)。
academic_get_citation_network 获取引文网络数据(节点/边)以进行可视化。
academic_cache_stats 查看缓存命中率和统计数据。

使用示例

搜索论文

查找按引用次数排序的关于“LLM代理人”的论文:

use academic_search_papers with:
{
  "query": "LLM agents",
  "limit": 5,
  "sort": "citation_count"
}

获取BibTeX以获取论文列表

为多篇论文生成BibTeX(支持混合ID格式):

use academic_get_bibtex with:
{
  "paper_ids": "10.1038/nature12345, 10.48550/arXiv.2310.08560"
}

分析引文

查找引用特定论文的人:

use academic_get_citations with:
{
  "paper_id": "W2741809807" // OpenAlex ID or DOI
}

API来源和价格限制

源 速率限制 身份验证 最适合
OpenAlex 100K/天(带电子邮件) 电子邮件(可选) 一般搜索、引用、作者数据
DBLP 合理使用 无 CS纸张,高品质BibTeX
语义学者 100/5min(带键的更高) API键(可选) AI建议
arXiv 无限制(礼貌) 无 预印本(计算机科学、数学、物理)
交叉引用 动态 电子邮件(可选) DOI分辨率

发展

运行测试

# Run all tests
uv run pytest

# Run with coverage report
uv run pytest --cov=academix

项目结构

academix/
├── src/academix/
│   ├── server.py          # MCP server entry point
│   ├── aggregator.py      # Orchestrator for multiple API clients
│   ├── clients/           # Individual API client implementations
│   │   ├── openalex.py
│   │   ├── dblp.py
│   │   ├── semantic.py
│   │   ├── arxiv_client.py
│   │   └── crossref.py
│   └── models.py          # Pydantic data models
├── tests/                 # Unit and integration tests
├── pyproject.toml         # Dependencies and config
└── README.md

许可证

MIT许可证