学术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开发设置(供贡献者使用)
- 克隆存储库:
git clone https://github.com/your-org/academix.git
cd academix- 安装依赖项:
uv sync- 运行服务器:
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许可证
