loading…
Search for a command to run...
loading…
Enables multi-source literature search, full-text retrieval, reference analysis, and journal quality assessment across Europe PMC, PubMed, arXiv, CrossRef, Open
Enables multi-source literature search, full-text retrieval, reference analysis, and journal quality assessment across Europe PMC, PubMed, arXiv, CrossRef, OpenAlex, and EasyScholar via the MCP protocol.
基于 Model Context Protocol (MCP) 的学术文献检索服务器。帮助 LLM 搜索、获取和分析多数据源学术文献。
主要用途:面向学术文献与科研论文检索分析,尤其适合医学、生命科学和跨学科科研场景;同时支持 arXiv 等通用科研预印本来源。
适用于需要 LLM 进行以下操作的场景:
支持 6 个学术数据源:Europe PMC、PubMed、arXiv、CrossRef、OpenAlex、Semantic Scholar。
注意: 本工具返回文献元数据(标题、作者、摘要、PMCID、DOI 等)。全文获取需通过
get_article_details工具,且仅限 PMC 开放获取文章。
系统要求: Node.js 18+
# 直接运行(推荐,自动获取最新版本)
npx article-mcp@latest
# 或全局安装
npm install -g article-mcp
article-mcp
{
"mcpServers": {
"article-mcp": {
"command": "npx",
"args": ["article-mcp@latest"],
"env": {
"OPENALEX_API_KEY": "your_openalex_key_here",
"EASYSCHOLAR_SECRET_KEY": "your_easyscholar_key_here"
}
}
}
}
在 .vscode/mcp.json 中添加:
{
"servers": {
"article-mcp": {
"type": "stdio",
"command": "npx",
"args": ["article-mcp@latest"],
"env": {
"OPENALEX_API_KEY": "your_openalex_key_here",
"EASYSCHOLAR_SECRET_KEY": "your_easyscholar_key_here"
}
}
}
}
Windows 用户: 如果遇到
npx无法识别的问题,将"command"改为"cmd","args"改为["/c", "npx", "article-mcp@latest"]。
| 功能 | 工具 | 说明 |
|---|---|---|
| 🔍 多源文献搜索 | search_literature |
跨 5 个数据源并行搜索,支持 4 种搜索策略,自动去重排序 |
| 📄 文献全文获取 | get_article_details |
通过 PMCID 获取 PMC 全文(Markdown/XML/Text),支持批量 20 篇 |
| 📚 参考文献获取 | get_references |
多源获取参考文献列表,智能 DOI/标题去重,源优先级排序 |
| 🔗 文献关系分析 | get_literature_relations |
引用网络、施引文献、相似文献,支持多深度网络分析 |
| 📊 期刊质量评估 | get_journal_quality |
影响因子、JCR 分区、JCI、中科院分区、h 指数等,双数据源互补 |
search_literature — 文献搜索查找文献并获取 PMCID(不含全文)。如需全文,用返回的 PMCID 调用 get_article_details。
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
keyword |
string | 必填 | 搜索关键词 |
search_type |
enum | comprehensive |
搜索策略:comprehensive(全面)、fast(快速)、precise(精确交集)、preprint(预印本) |
sources |
string[] | 按策略选择 | 数据源:europe_pmc、pubmed、arxiv、crossref、openalex |
max_results |
integer | 10 |
每个源的最大结果数,范围 1-100 |
use_cache |
boolean | true |
是否使用 24 小时文件缓存 |
get_article_details — 文献全文通过 PMCID 获取全文内容。仅支持 PMC 开放获取文章。
返回说明:fulltext.content 返回所选格式的完整正文;fulltext.preview 是用于快速浏览的 1200 字符预览;fulltext.content_length 标识完整正文长度。
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
pmcid |
string | string[] | 必填 | PMCID 标识符,批量最多 20 个 |
format |
enum | markdown |
全文格式:markdown、xml、text |
sections |
string | string[] | null | null |
null 获取全部章节;传入章节名列表获取指定部分 |
get_references — 参考文献获取某文献引用的参考文献列表。
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
identifier |
string | 必填 | DOI、PMID 或 PMCID |
id_type |
enum | doi |
标识符类型:auto、doi、pmid、pmcid |
max_results |
integer | 20 |
最大参考文献数量,范围 1-100 |
sources |
string[] | ["europe_pmc","crossref","pubmed"] |
数据源 |
include_metadata |
boolean | true |
是否包含详细元数据 |
get_literature_relations — 文献关系分析分析文献间的引用关系、施引文献和相似文献。
施引说明:citing 默认同时尝试 OpenAlex 与 Europe PMC;如果显式传入 sources,则只使用其中支持施引的 openalex/europe_pmc。OpenAlex 路径需要 OPENALEX_API_KEY,Europe PMC 可作为备选来源。
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
identifiers |
string | string[] | null |
DOI、PMID 或 PMCID |
id_type |
enum | auto |
标识符类型 |
relation_types |
enum[] | ["references","similar","citing"] |
关系类型 |
max_results |
integer | 20 |
每种关系最大结果数,范围 1-100 |
analysis_type |
enum | basic |
basic(基本)、comprehensive(综合)、network(网络分析) |
max_depth |
integer | 1 |
网络分析展开深度 |
get_journal_quality — 期刊质量评估集成 EasyScholar + OpenAlex 双数据源。
失败说明:当 EasyScholar 与 OpenAlex 都无法返回任何可用指标时,工具会返回 isError: true 和明确错误信息,而不是成功返回空指标。
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
journal_name |
string | string[] | 必填 | 期刊名称 |
include_metrics |
string | string[] | null | null |
返回指标:impact_factor、quartile、jci、h_index 等 |
sort_by |
enum | null | null |
排序字段(批量查询):impact_factor、quartile、jci |
sort_order |
enum | desc |
desc(降序)或 asc(升序) |
use_cache |
boolean | true |
是否使用 24 小时文件缓存 |
| 变量 | 必需 | 获取地址/配置作用 | 缺失后果 |
|---|---|---|---|
OPENALEX_API_KEY |
OpenAlex 相关能力需要 | OpenAlex account,用于 OpenAlex 搜索、施引和期刊指标 | OpenAlex 源失败;citing 和 OpenAlex 期刊指标不可用 |
EASYSCHOLAR_SECRET_KEY |
期刊影响因子/分区需要 | EasyScholar 开放平台 | 期刊质量只尝试 OpenAlex 指标,影响因子/分区可能为空 |
NCBI_EMAIL |
推荐 | NCBI E-utilities 联系邮箱 | 仍可请求,但不利于 NCBI 联系和合规使用 |
NCBI_API_KEY |
可选 | NCBI API key | PubMed/PMC 速率按 3 req/s 保守限制 |
CROSSREF_MAILTO |
推荐 | Crossref Polite Pool 联系邮箱 | 仍可请求,但不会进入 Polite Pool |
SEMANTIC_SCHOLAR_API_KEY |
推荐 | Semantic Scholar API key | 施引上下文请求更容易受限 |
OPENALEX_RATE_LIMIT_MS |
可选 | OpenAlex 请求间隔覆盖值,默认 100ms | 使用默认限流 |
ARXIV_RATE_LIMIT_MS |
可选 | arXiv 请求间隔覆盖值,默认 3000ms | 使用默认限流 |
EUROPE_PMC_RATE_LIMIT_MS |
可选 | Europe PMC 请求间隔覆盖值,默认 1000ms | 使用默认限流 |
NCBI_RATE_LIMIT_MS |
可选 | NCBI 请求间隔覆盖值;未设置时有 key 默认 100ms,无 key 默认 333ms | 使用自动限流 |
ARTICLE_MCP_LANG |
可选 | 工具说明语言:zh-CN(默认)或 en |
使用中文工具说明 |
用户: 搜索 CRISPR 基因编辑的最新文献
LLM: 调用 search_literature(keyword="CRISPR gene editing", search_type="fast")
→ 返回 10 条结果的元数据(标题、作者、PMCID、摘要等)
用户: 获取第一篇文献的全文
LLM: 调用 get_article_details(pmcid="PMC1234567")
→ 返回全文内容(Markdown 格式)
用户: 查看 Nature 的影响因子
LLM: 调用 get_journal_quality(journal_name="Nature")
→ 返回 impact_factor、quartile、jci 等指标
用户: 比较 Nature、Science、Cell 的质量指标
LLM: 调用 get_journal_quality(
journal_name=["Nature", "Science", "Cell"],
sort_by="impact_factor"
)
→ 按影响因子降序返回三本期刊的指标
| 数据源 | 搜索 | 详情 | 全文 | 参考文献 | 施引文献 | 相似文献 |
|---|---|---|---|---|---|---|
| Europe PMC | ✅ | ✅ | — | ✅ | ✅ | — |
| PubMed | ✅ | ✅ | ✅ | ✅ | — | ✅ |
| arXiv | ✅ | — | — | — | — | — |
| Crossref | ✅ | ✅ | — | ✅ | — | — |
| OpenAlex | ✅ | ✅ | — | — | ✅ | — |
| Semantic Scholar | — | — | — | — | ✅ | — |
structuredContent 使用统一的 { success, data, meta, warnings, error } 结构content 首段为可读摘要和关键摘录,次段为同一结构化结果的 JSON 备份 以兼容旧 MCP 客户端使用 MCP Inspector 检查和调试工具调用:
# 启动 Inspector
npx @modelcontextprotocol/inspector node dist/index.js
日志输出到 stderr(不污染 stdout 协议通道)。在客户端日志中查看请求耗时和状态。
npm install # 安装依赖
npm run dev # 开发模式(tsx 热重载)
npm run build # 生产构建
npm test # 运行 91 个 Vitest 测试
npm run test:mcp # MCP 合规检查(目标: 100/100)
npm run test:all # 完整门禁:version-check → typecheck → lint → build → test → test:mcp
MIT © fangfuzha
Выполни в терминале:
claude mcp add article-mcp -- npx Да, Article MCP бесплатный — установка в один клик через Unyly без оплаты.
Нет, Article работает без API-ключей и переменных окружения.
Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.
Открой Article на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
CSA PROJECT - FZCO © 2026 IFZA Business Park, DDP, Premises Number 31174 - 001
Безопасность
Низкий рискАвтоматическая эвристика по публичным данным — не гарантия безопасности.