文献检索MCP
基于 FastMCP 框架开发的专业文献搜索工具,可与 Claude Desktop、Cherry Studio 等 AI 助手无缝集成。提供高性能并行处理、智能缓存和批量处理优化。
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"article-mcp": {
"args": [
"article-mcp==0.2.2"
],
"command": "uvx"
}
}
}
该服务需要配置环境变量:EASYSCHOLAR_SECRET_KEY
可用工具 (5 个)
该服务在 MCP 协议中暴露的工具,AI 可按需调用
search_literature 5 个参数 需填 1 项
多源文献搜索工具。用于查找文献并获取 PMCID。 ⚠️ 此工具只返回元数据(标题、作者、摘要、PMCID等),不包含全文内容。 如需获取全文,请使用返回结果中的 pmcid 调用"文献全文"工具。 搜索策略: - comprehensive: 全面搜索,使用所有可用数据源(并集) - fast: 快速搜索,只使用主要数据源(Europe PMC、PubMed) - precise: 精确搜索,只使用权威数据源(PubMed、Europe PMC,交集) - preprint: 预印本搜索(arXiv) 主要参数: - keyword: 搜索关键词(必填) - sources: 数据源列表(可选,默认根据搜索策略自动选择) - max_results: 每个源的最大结果数(默认10) - search_type: 搜索策略(默认comprehensive) - use_cache: 是否使用24小时缓存(默认true) 返回数据包含:标题、作者、期刊、摘要、PMCID、DOI等元数据(不含全文)
必填参数:keyword
get_article_details 3 个参数 需填 1 项
获取文献全文工具。 前置条件:需要 PMCID 标识符 - 如果您有 PMCID(如 PMC1234567),直接使用此工具 - 如果您只有关键词或标题,请先使用"文献搜索"工具查找并获取 PMCID 主要参数: - pmcid: PMCID 标识符(必填):单个或列表[PMC1234567, PMC2345678, ...] 批量模式最多支持20个 PMCID - sections: 全文章节控制(可选,默认None获取全部章节) None → 获取全部章节(全文) ["conclusion", "discussion"] → 只获取指定章节 - format: 全文格式(可选,默认"markdown") "markdown" → Markdown格式(推荐,适合AI处理) "xml" → 原始XML格式 "text" → 纯文本格式 数据源:Europe PMC + PMC 全文数据库 返回数据包含标题、作者、摘要、期刊、发表日期和全文内容 全文功能: - 按需获取指定格式(默认Markdown) - 支持按章节提取(如方法、讨论、结论等) - 优化性能,只转换请求的格式 批量返回结构: { "total": 10, # 总请求数 "successful": 8, # 成功获取数 "failed": 2, # 失败数 "articles": [...], # 成功的文章列表(含全文) "fulltext_stats": { # 全文统计 "has_pmcid": 8, # 有 PMCID 数量 "fulltext_fetched": 8 # 成功获取全文数量 } } 支持的章节名称: - methods(方法): methods, methodology, materials and methods - introduction(引言): introduction, intro, background - results(结果): results, findings - discussion(讨论): discussion - conclusion(结论): conclusion, conclusions - abstract(摘要): abstract, summary - references(参考文献): references, bibliography
必填参数:pmcid
get_references 5 个参数 需填 1 项
获取参考文献工具。通过文献标识符获取其引用的参考文献列表,支持智能去重。 主要参数: - identifier: 文献标识符(必填):DOI、PMID、PMCID - id_type: 标识符类型(默认doi):auto/doi/pmid/pmcid - sources: 数据源列表(默认["europe_pmc", "crossref"]) - max_results: 最大参考文献数量(默认20,建议20-100) - include_metadata: 是否包含详细元数据(默认true) 支持的数据源:Europe PMC、CrossRef、PubMed 去重规则:优先按DOI去重,其次按标题去重;按数据源优先级排序
必填参数:identifier
get_literature_relations 8 个参数
文献关系分析工具。分析文献间的引用关系、相似文献和引用网络。 关系类型: - references: 该文献引用的参考文献 - similar: 相似文献 - citing: 引用该文献的文献 主要参数: - identifiers: 文献标识符(单个或列表):DOI、PMID、PMCID - id_type: 标识符类型(默认auto):auto/doi/pmid/pmcid - relation_types: 关系类型列表(默认全部):["references", "similar", "citing"] - max_results: 每种关系类型最大结果数(默认20) - analysis_type: 分析类型(默认basic):basic/comprehensive/network - max_depth: 分析深度(默认1) 分析模式: - 单个文献:传入单个标识符 - 批量分析:传入标识符列表 + analysis_type="basic" - 网络分析:传入标识符列表 + analysis_type="network"
该工具无需必填参数,直接调用即可
get_journal_quality 5 个参数 需填 1 项
期刊质量评估工具。评估期刊的学术质量和影响力指标,集成 EasyScholar + OpenAlex 双数据源。 支持的指标: EasyScholar 提供:impact_factor(影响因子)、quartile(SCI分区 Q1-Q4)、jci(JCI指数)、cas_zone(中科院分区)、cas_zone_top(TOP期刊标识) OpenAlex 提供:h_index(h指数)、citation_rate(2年引用率)、cited_by_count(总引用数)、works_count(总文章数)、i10_index(i10指数) 主要参数: - journal_name: 期刊名称(单个或列表) - include_metrics: 返回的指标列表(默认["impact_factor", "quartile", "jci"]) - use_cache: 是否使用24小时缓存(默认true) - sort_by: 排序字段,仅批量查询有效(默认null):impact_factor/quartile/jci - sort_order: 排序顺序,仅批量查询有效(默认desc):desc降序/asc升序 使用示例:单个期刊查询、批量期刊查询、批量查询并排序、指定返回指标
必填参数:journal_name
服务介绍
Article MCP 文献搜索服务器
基于 FastMCP v2.13+ 的异步文献搜索工具,集成 Europe PMC、PubMed、arXiv、CrossRef、OpenAlex 等数据源。
快速开始
# 安装
uvx article-mcp
# 或本地开发
git clone https://github.com/gqy20/article-mcp.git && cd article-mcp
uv sync
uv run python -m article_mcp
配置
Claude Desktop
{
"mcpServers": {
"article-mcp": {
"command": "uvx",
"args": ["article-mcp"],
"env": {
"EASYSCHOLAR_SECRET_KEY": "your_key_here"
}
}
}
}
EASYSCHOLAR_SECRET_KEY 为可选项,访问 EasyScholar 注册获取。
Cherry Studio
同上,如遇 Unicode 问题添加 env: {"PYTHONIOENCODING": "utf-8"}
5 个核心工具
| 工具 | 功能 | 数据源 | 主要参数 |
|---|---|---|---|
search_literature |
多源文献搜索 | Europe PMC, PubMed, arXiv, CrossRef, OpenAlex | keyword, max_results |
get_article_details |
获取文献详情(支持参数容错) | Europe PMC, CrossRef, OpenAlex, arXiv, PubMed | identifier, id_type, sources |
get_references |
获取参考文献 | Europe PMC, CrossRef, PubMed | identifier, max_results |
get_literature_relations |
文献关系分析 | Europe PMC, PubMed, CrossRef, OpenAlex | identifiers, relation_types |
get_journal_quality |
期刊质量评估 | EasyScholar, OpenAlex | journal_name, include_metrics |
数据源说明
Europe PMC
- 内容:生物医学文献全文、摘要
- 限制:1 req/s
- 用途:搜索、全文获取、参考文献
PubMed
- 内容:生物医学文献摘要
- 限制:无严格限制
- 用途:搜索补充
arXiv
- 内容:预印本论文
- 限制:3 req/request
- 用途:预印本搜索
CrossRef
- 内容:跨出版社元数据
- 限制:50 req/s
- 用途:参考文献查询
OpenAlex
- 内容:开放学术图谱
- 限制:无限制
- 用途:引用关系、h 指标
EasyScholar
- 内容:期刊质量指标
- 限制:建议配置密钥
- 用途:影响因子、分区
使用示例
// 搜索(默认使用 Europe PMC + PubMed)
{"keyword": "machine learning", "max_results": 10}
// 指定数据源搜索
{"keyword": "cancer", "sources": ["europe_pmc", "arxiv"]}
// 获取全文
{"pmcid": "PMC1234567"}
// 获取指定章节
{"pmcid": "PMC1234567", "sections": ["methods", "results"]}
// 批量获取
{"pmcid": ["PMC123", "PMC456"]}
// 获取参考文献(默认 Europe PMC + CrossRef)
{"identifier": "10.1038/nature12373", "max_results": 20}
// 文献关系分析
{"identifiers": "10.1038/nature12373", "relation_types": ["references", "similar"]}
// 期刊质量(EasyScholar + OpenAlex 双源)
{"journal_name": "Nature", "include_metrics": ["impact_factor", "h_index"]}
参数容错特性
get_article_details 工具会自动修正以下格式错误:
| 输入 | 自动修正为 |
|---|---|
"pmcid": "[\"a\", \"b\"]" |
["a", "b"] |
"sections": "methods" |
["methods"] |
API 限制汇总
| API | 限制 | 用途 |
|---|---|---|
| Europe PMC | 1 req/s | 全文、参考文献 |
| Crossref | 50 req/s | 参考文献 |
| arXiv | 3 req/request | 预印本 |
| OpenAlex | 无限制 | 引用关系、指标 |
| EasyScholar | 建议配置密钥 | 期刊质量 |
故障排除
| 问题 | 解决方案 |
|---|---|
cannot import 'hdrs' from 'aiohttp' |
uv sync --upgrade |
| MCP 服务器启动失败 | 检查配置中的路径是否使用绝对路径 |
| API 请求失败 | 检查网络连接 |
| 期刊质量数据缺失 | 配置 EASYSCHOLAR_SECRET_KEY |
许可证
MIT License