Advanced Literature Management MCP Server with AI-powered analysis
Project description
🚀 Literature MCP Pro
✨ 核心特性
📚 多数据源集成
- PubMed - 生物医学文献
- ArXiv - 预印本论文
- Europe PMC - 欧洲生命科学文献
- CrossRef - 跨学科文献元数据
- Google Scholar (可选) - 广泛的学术搜索
🤖 AI 驱动的智能分析
- 📝 智能摘要 - 自动生成文献摘要
- 🎯 研究趋势分析 - 识别研究热点和趋势
- ⭐ 论文质量评估 - 多维度质量打分
- 💡 相关文献推荐 - 基于内容和引用的智能推荐
- 🔍 语义搜索 - 基于内容理解的深度搜索
📊 可视化与分析
- 🕸️ 引用网络图 - 可视化文献引用关系
- 📈 趋势时间线 - 研究领域发展趋势
- 🗺️ 主题地图 - 主题分布和关联
- 📉 统计分析 - 发表量、引用量等统计
🗄️ 文献库管理
- 📁 本地文献库 - SQLite 数据库存储
- 🏷️ 标签系统 - 自定义标签分类
- 📝 笔记功能 - 为文献添加笔记
- 🔄 同步管理 - 文献状态跟踪
📤 多格式导出
- BibTeX
- EndNote (XML)
- RIS
- CSV
- JSON
- Markdown
🔔 实时监控
- 📬 关键词监控 - 跟踪特定主题
- 🆕 新文献推送 - 自动发现新发表文献
- 📊 自定义提醒 - 基于条件的提醒
🏗️ 项目架构(现状)
literature_mcp_pro/
├─ main.py # MCP STDIO 入口(优先尝试 FastMCP)
├─ requirements.txt
├─ pyproject.toml
├─ .cloudmcp.yml
├─ tests/
│ ├─ run_unit_tests.py # 轻量测试运行器
│ ├─ test_ai.py
│ ├─ test_services.py
│ └─ test_tools.py
└─ literature_mcp_pro/
├─ __init__.py
├─ config.py
├─ models/__init__.py
├─ ai/
│ ├─ summarizer.py
│ ├─ analyzer.py
│ ├─ recommender.py
│ └─ semantic_search.py
├─ tools/
│ ├─ __init__.py # 从 ai 暴露 Summarizer/TrendAnalyzer/Recommender
│ ├─ analysis.py # 包装 summarize/analyze_trends/recommend
│ └─ search.py # 聚合 pubmed/arxiv/crossref + 语义
└─ connectors/
├─ pubmed.py
├─ arxiv.py
├─ crossref.py
├─ europepmc.py # 禁用(占位类)
└─ scholar.py # 禁用(占位类)
🚀 快速开始
1. 安装依赖
# 使用 uv (推荐)
curl -LsSf https://astral.sh/uv/install.sh | sh
uv sync
# 或使用 pip
pip install -e .
2. 配置环境变量
cp .env.example .env
# 编辑 .env 文件,添加必要的 API 密钥
3. 初始化数据库
uv run python scripts/setup_db.py
4. 启动服务器(本地)
# Windows(PowerShell)
python main.py
5. 在 VS Code Copilot Chat 中注册为 MCP 工具(实验特性)
有两种常见方式将本项目注册为 MCP 服务器(STDIO):
方式 A:通过命令面板
- 打开 VS Code,按 Ctrl+Shift+P,输入并执行:Copilot: Add MCP Server(或类似“添加 MCP 服务器”的命令)。
- 按提示填写:
- Label(名称):Literature MCP Pro
- Type(类型):stdio
- Command(命令):你的 Python 可执行文件路径(例如:D:/GJ/python-3.13/python.exe)
- Args(参数):["${workspaceFolder}/main.py"]
- Env(环境变量,建议):{"PYTHONUNBUFFERED":"1"}
- Auto Start:启用
方式 B:在 Settings(JSON) 手动添加(不同版本的 VS Code/Copilot 可能存在键名差异,请以实际为准)
// settings.json 片段(示例)
{
"github.copilot.chat.modelContextProtocol.servers": [
{
"id": "literature-mcp-pro",
"label": "Literature MCP Pro",
"type": "stdio",
"command": "D:/GJ/python-3.13/python.exe",
"args": ["${workspaceFolder}/main.py"],
"env": { "PYTHONUNBUFFERED": "1" },
"autoStart": true
}
]
}
提示:
- 需先安装依赖:
pip install -r requirements.txt(已包含 fastmcp/httpx/pydantic 等)。 - 本项目在运行时会优先使用 FastMCP 提供标准 MCP 协议;若失败,会回退到最简 STDIO 循环(仅用于本地自测,不保证兼容所有 MCP 客户端)。
- 首次连接时,Copilot 可能会提示你授权该 MCP 服务器。
🛠️ 可用工具(当前实现)
以下工具在 MCP 中可调用(由 main.py 注册):
search_literature:多源文献搜索(pubmed / arxiv / crossref / semantic)summarize_article:对单篇文章进行简要摘要analyze_trends:基于多篇文章的趋势关键词统计recommend_articles:按引用量(简单规则)推荐文章
📖 使用示例
搜索文献
# 在 Claude 中使用
"搜索关于机器学习在医学影像中应用的最新文献"
// 工具调用: search_literature(在 Copilot Chat 中由模型触发,或你可显式说明参数)
{
"query": "machine learning medical imaging",
"sources": ["pubmed", "arxiv", "semantic"],
"max_results": 10
}
AI 分析
"分析这篇论文的质量和影响力"
// 工具调用: summarize_article
{
"id": "id-1",
"title": "Advances in ML for Medical Imaging",
"abstract": "...",
"source": "pubmed"
}
趋势与推荐
"生成这个主题的引用网络图"
// 工具调用: analyze_trends
{
"articles": [
{"id": "1", "title": "Deep Learning in Medicine", "abstract": "deep learning applications", "source": "pubmed"},
{"id": "2", "title": "Deep Learning for Images", "abstract": "deep image deep", "source": "arxiv"}
]
}
// 工具调用: recommend_articles
{
"articles": [
{"id": "1", "title": "A", "citation_count": 5, "source": "pubmed"},
{"id": "2", "title": "B", "citation_count": 20, "source": "pubmed"}
],
"top_k": 2
}
🔧 配置选项(节选)
更多详见 literature_mcp_pro/config.py:
| 配置项 | 说明 | 示例/默认 |
|---|---|---|
PUBMED_BASE_URL |
NCBI eutils 基础地址 | https://eutils.ncbi.nlm.nih.gov/entrez/eutils |
ARXIV_BASE_URL |
arXiv API 基础地址 | https://export.arxiv.org/api |
CROSSREF_BASE_URL |
CrossRef API 基础地址 | https://api.crossref.org |
REQUEST_TIMEOUT |
请求超时(秒) | 15 |
USER_AGENT |
HTTP UA | Literature-MCP-Pro/1.0 |
🤝 贡献
欢迎贡献代码、报告问题或提出建议!
📄 许可证
MIT License
🙏 致谢
注意:README 中未勾选的扩展特性(如可视化/数据库/导出/监控等)目前为规划项,或以占位实现存在,后续版本逐步补全。
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file literature_mcp_pro-0.1.1.tar.gz.
File metadata
- Download URL: literature_mcp_pro-0.1.1.tar.gz
- Upload date:
- Size: 17.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
283f6ebfbc4aee05ef5753b83b47fc19faaccdc960e65798bbdba484f8890472
|
|
| MD5 |
9150a69759e52181b72dd47f90b1bb58
|
|
| BLAKE2b-256 |
1a106f6461e806eea3bd92b8a67b653dcb67ee966f257d0b9dece9cafc7277ec
|
File details
Details for the file literature_mcp_pro-0.1.1-py3-none-any.whl.
File metadata
- Download URL: literature_mcp_pro-0.1.1-py3-none-any.whl
- Upload date:
- Size: 21.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b5751e7f4c4cfe8ea0e3d17494de143b2b012cc57c40370d4ef996812e592ba9
|
|
| MD5 |
c313cecb94cac3d250e2f26d8cb9662a
|
|
| BLAKE2b-256 |
2dca75064e97a52a946d5ed4b7f2c04b8f77941de721811df141daffbe130a1a
|