Europe PMC Literature Search MCP Server
This server provides high-performance academic literature search and analysis capabilities through integration with Europe PMC, arXiv, and other databases.
Search academic literature using keyword filtering, date ranges, and complex query syntax across Europe PMC and arXiv preprints
Retrieve detailed article information using PMID, DOI, or PMCID identifiers with optimized caching
Find and enrich references with bulk processing capabilities for up to 20 DOIs simultaneously
Discover related content through similar articles, citing articles, and literature relations using PubMed's algorithms
Evaluate journal quality with impact factors, SCI quartiles, and other metrics from local cache or EasyScholar API
High-performance features including parallel processing, 24-hour caching, automatic retries, and batch optimization
Multiple integration options with Claude Desktop, Cherry Studio, and other AI assistants via stdio, SSE, or HTTP transport modes
Allows searching arXiv preprints with filtering by keywords, date ranges, and result limits.
Enables retrieving and enriching reference information using DOI identifiers, including batch processing of multiple DOIs.
Supports deployment from GitHub repositories, allowing users to easily install and run the MCP server from source.
Provides PubMed search capabilities and retrieval of article details using PMIDs.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Europe PMC Literature Search MCP Serversearch for recent articles about CRISPR gene editing in cancer"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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_mcpRelated MCP server: pubmed-search-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 个核心工具
工具 | 功能 | 数据源 | 主要参数 |
| 多源文献搜索 | Europe PMC, PubMed, arXiv, CrossRef, OpenAlex |
|
| 获取文献详情(支持参数容错) | Europe PMC, CrossRef, OpenAlex, arXiv, PubMed |
|
| 获取参考文献 | Europe PMC, CrossRef, PubMed |
|
| 文献关系分析 | Europe PMC, PubMed, CrossRef, OpenAlex |
|
| 期刊质量评估 | EasyScholar, OpenAlex |
|
数据源说明
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 工具会自动修正以下格式错误:
输入 | 自动修正为 |
|
|
|
|
API 限制汇总
API | 限制 | 用途 |
Europe PMC | 1 req/s | 全文、参考文献 |
Crossref | 50 req/s | 参考文献 |
arXiv | 3 req/request | 预印本 |
OpenAlex | 无限制 | 引用关系、指标 |
EasyScholar | 建议配置密钥 | 期刊质量 |
故障排除
问题 | 解决方案 |
|
|
MCP 服务器启动失败 | 检查配置中的路径是否使用绝对路径 |
API 请求失败 | 检查网络连接 |
期刊质量数据缺失 | 配置 |
许可证
MIT License
Available Tools
9 toolsbatch_enrich_references_by_doisA
批量补全多个DOI的参考文献信息(超高性能版本)
功能说明:
同时处理多个DOI的参考文献补全
使用Europe PMC的批量查询API一次性获取多个DOI的详细信息
比逐个查询快10-15倍,适合大规模文献数据处理
自动去重和信息完整性检查
支持最多20个DOI的批量处理
参数说明:
dois: 必需,DOI列表,最多支持20个DOI同时处理
示例: ["10.1126/science.adf6218", "10.1038/nature12373"]
email: 可选,联系邮箱,用于获得更高的API访问限制
返回值说明:
enriched_references: 补全信息的参考文献字典,以DOI为键
total_dois_processed: 处理的DOI总数
successful_enrichments: 成功补全的DOI数量
failed_dois: 补全失败的DOI列表
processing_time: 总处理时间(秒)
performance_metrics: 性能指标
使用场景:
大规模文献数据分析
学术数据库构建
批量文献信息补全
高性能文献处理系统
性能特点:
超高性能:10-15倍速度提升
智能批量:自动分批处理大量DOI
并发优化:充分利用API并发能力
数据一致性:自动去重和完整性检查
| Name | Required | Description | Default |
|---|---|---|---|
| dois | Yes | ||
| No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes key behavioral traits: performance characteristics ('超高性能版本', '10-15倍速度提升'), constraints ('最多支持20个DOI同时处理' - supports up to 20 DOIs), data handling ('自动去重和信息完整性检查' - automatic deduplication and integrity checks), and API usage ('使用Europe PMC的批量查询API'). It doesn't mention error handling or rate limits, but covers most essential aspects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (功能说明, 参数说明, 返回值说明, 使用场景, 性能特点), but it's verbose. Some sentences could be more concise (e.g., the performance metrics section is detailed but repetitive). It's front-loaded with the core purpose, but the length slightly reduces efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (batch processing, performance optimization) and the presence of an output schema (which covers return values), the description is highly complete. It explains the tool's purpose, usage guidelines, parameters, behavioral traits, performance advantages, and use cases. With no annotations, it provides all necessary context for effective tool selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must compensate. It provides clear parameter semantics: 'dois: 必需,DOI列表,最多支持20个DOI同时处理' (required, DOI list, supports up to 20 DOIs) with an example, and 'email: 可选,联系邮箱,用于获得更高的API访问限制' (optional, contact email for higher API access limits). This adds substantial meaning beyond the bare schema, though it doesn't detail format constraints beyond the example.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '批量补全多个DOI的参考文献信息' (batch enrich multiple DOI references). It specifies the verb ('补全' - enrich/complement), resource ('参考文献信息' - reference information), and scope ('多个DOI' - multiple DOIs). It distinguishes from siblings like 'get_references_by_doi' by emphasizing batch processing and performance advantages.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use this tool: '适合大规模文献数据处理' (suitable for large-scale literature data processing), '比逐个查询快10-15倍' (10-15 times faster than individual queries), and provides specific use cases like '大规模文献数据分析' (large-scale literature data analysis) and '批量文献信息补全' (batch literature information completion). It implicitly contrasts with sibling tools like 'get_references_by_doi' for individual queries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
evaluate_articles_qualityA
批量评估文献的期刊质量
功能说明:
为文献列表中的每篇文献评估其期刊质量
先从本地缓存查询,没有则调用EasyScholar API
返回包含期刊质量信息的完整文献列表
参数说明:
articles: 必需,文献列表(来自搜索结果)
secret_key: 可选,EasyScholar API密钥(可从环境变量EASYSCHOLAR_SECRET_KEY获取)
返回值说明:
evaluated_articles: 包含期刊质量信息的文献列表
total_count: 评估的文献总数
message: 处理信息
error: 错误信息(如果有)
使用场景:
批量评估搜索结果的期刊质量
文献质量筛选
学术研究质量评估
| Name | Required | Description | Default |
|---|---|---|---|
| articles | Yes | ||
| secret_key | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden and does well by disclosing important behavioral traits: the two-stage lookup process (local cache then API), the optional secret_key parameter with environment variable fallback, and the return structure. It doesn't mention rate limits, authentication requirements beyond the key, or error handling specifics, keeping it from a perfect score.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with clear sections (功能说明, 参数说明, 返回值说明, 使用场景) and front-loaded purpose. Some redundancy exists between the initial summary and functional description, but each sentence adds value. The Chinese formatting is efficient for the content covered.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity, no annotations, 0% schema coverage, but presence of output schema, the description is complete enough. It covers purpose, parameters, return values, usage scenarios, and behavioral workflow. The output schema handles return value details, so the description appropriately focuses on context rather than repeating structured data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description compensates well by explaining both parameters: 'articles' as required literature list from search results, and 'secret_key' as optional API key with environment variable alternative. It doesn't specify the exact structure of article objects or key format details, but provides meaningful context beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('批量评估文献的期刊质量' - batch evaluate journal quality of articles) and resource ('文献列表中的每篇文献' - each article in a list). It distinguishes from siblings like 'get_journal_quality' by emphasizing batch processing and integration with search results.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The '使用场景' section explicitly lists three usage scenarios: batch evaluation of search results, literature quality filtering, and academic research quality assessment. This provides clear context for when to use this tool versus alternatives like 'get_journal_quality' which appears to be a single-article version.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_article_detailsA
获取特定文献的详细信息(高性能优化版本)
功能说明:
使用异步方式根据PMID获取文献的完整详细信息
支持并发处理,性能更优
集成缓存机制,重复查询响应更快
自动重试和错误恢复
参数说明:
pmid: 必需,PubMed ID(如:"37769091")
返回值说明:
包含与同步版本相同的字段
额外提供:
processing_time: 处理耗时(秒)
cache_hit: 是否命中缓存
performance_info: 性能统计信息
retry_count: 重试次数
使用场景:
需要高性能的文献详情获取
批量文献详情查询
大规模数据处理
性能特点:
比同步版本快20-40%
支持智能缓存
自动重试机制
并发控制
| Name | Required | Description | Default |
|---|---|---|---|
| pmid | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes key traits: '异步方式' (asynchronous method), '支持并发处理' (supports concurrent processing), '集成缓存机制' (integrated caching mechanism), '自动重试和错误恢复' (automatic retry and error recovery), and performance metrics ('比同步版本快20-40%' - 20-40% faster than synchronous version). This covers operational behavior well, though it doesn't detail error types or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured with clear sections (功能说明, 参数说明, etc.), but it's verbose with redundant details. For example, '高性能优化版本' (high-performance optimized version) is repeated in performance sections, and some points like '支持并发处理' (supports concurrent processing) and '性能更优' (better performance) overlap. It could be more concise by eliminating repetition while maintaining clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (performance-optimized with caching/retry), no annotations, and an output schema present, the description is highly complete. It explains the tool's purpose, usage, parameters, return values (including extra fields like processing_time), and behavioral traits. The output schema means return values don't need description, and the description covers all other aspects thoroughly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, but the description compensates fully under '参数说明' (parameter explanation). It specifies 'pmid: 必需,PubMed ID(如:"37769091")' (pmid: required, PubMed ID, e.g., "37769091"), adding meaning beyond the schema's basic string type by clarifying it's a PubMed ID with an example. This is excellent coverage for the single parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '获取特定文献的详细信息' (get detailed information for specific literature) with the verb '获取' (get) and resource '文献' (literature). It distinguishes from siblings by specifying it's for '特定文献' (specific literature) using PMID, unlike search or batch tools. However, it doesn't explicitly name sibling alternatives for differentiation, keeping it at 4 instead of 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context under '使用场景' (usage scenarios): '需要高性能的文献详情获取' (when high-performance literature detail retrieval is needed), '批量文献详情查询' (batch literature detail queries), and '大规模数据处理' (large-scale data processing). It implies this tool is for performance-critical cases but doesn't explicitly state when NOT to use it or name specific alternatives, so it scores 4.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_citing_articlesC
获取引用该文献的文献信息
处理流程:
使用 PubMed
elink+efetch获取引用 PMID 列表及详情。如 PubMed 未返回结果,则回退到 Europe PMC
/citations接口。返回统一结构:citing_articles、total_count、message、error。
| Name | Required | Description | Default |
|---|---|---|---|
| No | |||
| max_results | No | ||
| pmid | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the processing flow (PubMed elink+efetch, fallback to Europe PMC) and return structure, which adds behavioral context beyond basic function. However, it lacks details on permissions, rate limits, error handling specifics, or performance characteristics. The description adds some value but is incomplete for a tool with no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is moderately concise with a clear purpose statement and numbered process steps. However, the process details are somewhat technical and could be simplified for an AI agent. It's front-loaded with the purpose, but the structure includes unnecessary implementation details that don't aid tool selection.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, 0% schema coverage, and an output schema present, the description is partially complete. It explains the processing flow and return structure, which helps, but lacks parameter explanations and usage context. The output schema reduces the need to describe return values, but gaps in behavioral and parameter details remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It mentions 'PMID' implicitly in the process but doesn't explain the three parameters (pmid, email, max_results) or their roles. The description adds no meaningful semantics beyond what the schema's property names suggest, failing to address the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '获取引用该文献的文献信息' (Get information about articles citing this literature). It specifies the resource (articles citing a given literature) and the action (get information), though it doesn't explicitly differentiate from siblings like 'get_similar_articles' or 'get_references_by_doi'. The purpose is clear but lacks sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It mentions a fallback mechanism (PubMed to Europe PMC) but doesn't specify use cases, prerequisites, or comparisons with siblings like 'search_europe_pmc' or 'get_similar_articles'. There's no explicit when/when-not or alternative tool recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_journal_qualityA
获取期刊质量评估信息(影响因子、分区等)
功能说明:
先从本地缓存(journal_info.json)查询期刊信息
如果本地没有且提供了API密钥,则调用EasyScholar API获取
返回期刊的影响因子、分区、JCI等质量指标
参数说明:
journal_name: 必需,期刊名称
secret_key: 可选,EasyScholar API密钥(可从环境变量EASYSCHOLAR_SECRET_KEY获取)
返回值说明:
journal_name: 期刊名称
source: 数据来源(local_cache 或 easyscholar_api)
quality_metrics: 质量指标字典
impact_factor: 影响因子
sci_quartile: SCI分区
sci_zone: SCI大区
jci: JCI指数
impact_factor_5year: 5年影响因子
error: 错误信息(如果有)
使用场景:
评估期刊质量
选择投稿期刊
文献质量评估
| Name | Required | Description | Default |
|---|---|---|---|
| journal_name | Yes | ||
| secret_key | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It clearly explains the two-stage behavior: first checking local cache (journal_info.json), then optionally calling the EasyScholar API if a secret key is provided. It also describes the fallback mechanism when data isn't available locally. However, it doesn't mention potential rate limits, error handling beyond the error field, or authentication requirements for the API.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (功能说明, 参数说明, 返回值说明, 使用场景), but contains some redundancy. The initial statement '获取期刊质量评估信息(影响因子、分区等)' is partially repeated in the functional description. The return value section is quite detailed but could be more concise given that an output schema exists.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (2 parameters, caching+API behavior), no annotations, but with an output schema, the description provides good completeness. It explains the dual data source approach, parameter purposes, and usage scenarios. The main gap is lack of information about error conditions beyond the error field, and no mention of what happens when neither local cache nor API provides data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must compensate. It provides excellent parameter semantics: 'journal_name: 必需,期刊名称' (required, journal name) and 'secret_key: 可选,EasyScholar API密钥(可从环境变量EASYSCHOLAR_SECRET_KEY获取)' (optional, EasyScholar API key - can be obtained from environment variable EASYSCHOLAR_SECRET_KEY). This adds crucial meaning beyond the bare schema, explaining purpose, requirements, and even environment variable sourcing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as '获取期刊质量评估信息(影响因子、分区等)' (get journal quality assessment information - impact factor, quartile, etc.), which is a specific verb+resource combination. It distinguishes itself from sibling tools like 'evaluate_articles_quality' (which evaluates articles) and 'get_article_details' (which gets article details) by focusing specifically on journal-level quality metrics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly provides usage scenarios in the '使用场景' section: '评估期刊质量' (evaluate journal quality), '选择投稿期刊' (select journals for submission), and '文献质量评估' (literature quality assessment). These give clear guidance on when to use this tool versus alternatives like article-focused tools or search tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_references_by_doiA
通过DOI获取参考文献列表(批量优化版本 - 基于Europe PMC批量查询能力)
功能说明:
利用Europe PMC的批量查询能力获取参考文献
使用OR操作符将多个DOI合并为单个查询
相比传统方法可实现10倍以上的性能提升
特别适用于大量参考文献的快速获取
集成了发现的Europe PMC批量查询特性
参数说明:
doi: 必需,数字对象标识符(如:"10.1126/science.adf6218")
返回值说明:
包含与其他版本相同的基础字段
额外提供:
optimization: 优化类型标识
batch_info: 批量处理信息
batch_size: 批量大小
batch_time: 批量查询耗时
individual_time: 单个查询预估耗时
performance_improvement: 性能提升倍数
europe_pmc_batch_query: 使用的批量查询语句
使用场景:
大规模参考文献获取
高性能批量数据处理
时间关键的研究任务
文献数据库构建
性能特点:
比传统方法快10-15倍
利用Europe PMC原生批量查询能力
减少API请求次数
降低网络延迟影响
最适合处理大量参考文献的场景
技术原理:
使用DOI:"xxx" OR DOI:"yyy"的批量查询语法
一次请求获取多个DOI的信息
显著减少API调用次数和网络开销
| Name | Required | Description | Default |
|---|---|---|---|
| doi | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden and does an excellent job disclosing behavioral traits. It explains performance characteristics ('比传统方法快10-15倍' - 10-15x faster than traditional methods), technical implementation ('使用OR操作符将多个DOI合并为单个查询' - using OR operator to combine multiple DOIs into a single query), and operational benefits ('减少API请求次数、降低网络延迟影响' - reduces API request count, lowers network latency impact). The only minor gap is it doesn't explicitly mention error handling or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (功能说明, 参数说明, 返回值说明, 使用场景, 性能特点, 技术原理), but it's quite verbose with repetitive information about batch optimization and performance benefits. Sentences like '相比传统方法可实现10倍以上的性能提升' and '比传统方法快10-15倍' convey similar points. While informative, it could be more concise by eliminating redundancy while maintaining clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (batch optimization, performance characteristics), no annotations, 0% schema coverage, but with an output schema present, the description is remarkably complete. It covers purpose, usage guidelines, behavioral transparency, parameter semantics, return value details ('返回值说明' section), performance characteristics, and technical implementation. The presence of an output schema means the description doesn't need to exhaustively explain return values, and it provides comprehensive context beyond what structured fields would offer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0%, but the description provides parameter information: '参数说明:- doi: 必需,数字对象标识符(如:"10.1126/science.adf6218")' (Parameter explanation: - doi: required, digital object identifier). This adds meaning by specifying it's required and providing an example format. However, with only 1 parameter total, the baseline would be 4 if no param info was provided; since it does provide some info but doesn't fully compensate for the 0% schema coverage (e.g., doesn't explain if multiple DOIs can be passed or format constraints), a 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '通过DOI获取参考文献列表(批量优化版本 - 基于Europe PMC批量查询能力)' which translates to 'Get reference list by DOI (batch optimized version - based on Europe PMC batch query capability)'. It specifies the verb ('获取' - get), resource ('参考文献列表' - reference list), and distinguishes from siblings by emphasizing batch optimization and Europe PMC integration, unlike other tools like get_article_details or search_europe_pmc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly provides usage scenarios: '使用场景:大规模参考文献获取、高性能批量数据处理、时间关键的研究任务、文献数据库构建' (Usage scenarios: large-scale reference acquisition, high-performance batch data processing, time-critical research tasks, literature database construction). It also distinguishes when to use this tool by mentioning it's '特别适用于大量参考文献的快速获取' (especially suitable for rapid acquisition of large numbers of references) and '最适合处理大量参考文献的场景' (most suitable for scenarios handling large numbers of references), guiding users away from alternatives for small-scale tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_similar_articlesA
根据DOI获取相似文章(基于PubMed相关文章算法)
功能说明:
基于PubMed的相关文章算法查找与给定DOI相似的文献
使用NCBI eLink服务查找相关文章
自动过滤最近5年内的文献
批量获取相关文章的详细信息
参数说明:
doi: 必需,数字对象标识符(如:"10.1126/science.adf6218")
email: 可选,联系邮箱,用于获得更高的API访问限制
max_results: 可选,返回的最大相似文章数量,默认20篇
返回值说明:
original_article: 原始文章信息
title: 文章标题
authors: 作者列表
journal: 期刊名称
publication_date: 发表日期
pmid: PubMed ID
pmcid: PMC ID(如果有)
abstract: 摘要
similar_articles: 相似文章列表(格式同原始文章)
total_similar_count: 总相似文章数量
retrieved_count: 实际获取的文章数量
message: 处理信息
error: 错误信息(如果有)
使用场景:
文献综述研究
寻找相关研究
学术调研
相关工作分析
技术特点:
基于PubMed官方相关文章算法
自动日期过滤(最近5年)
批量获取详细信息
完整的错误处理
| Name | Required | Description | Default |
|---|---|---|---|
| doi | Yes | ||
| No | |||
| max_results | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses key behavioral traits: it uses NCBI eLink service, automatically filters for recent 5-year articles, batches retrieval of detailed information, and includes complete error handling. It also mentions that the 'email' parameter can provide higher API access limits. However, it does not specify rate limits, authentication requirements beyond the optional email, or potential costs/quotas.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (功能说明, 参数说明, 返回值说明, 使用场景, 技术特点), making it easy to scan. It is appropriately sized for a tool with 3 parameters and detailed output. However, some redundancy exists (e.g., '批量获取详细信息' appears in both 功能说明 and 技术特点), and the 返回值说明 section is lengthy but necessary given the output schema's existence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (algorithm-based similarity search), no annotations, and an output schema (which covers return values), the description is complete. It explains the purpose, parameters, usage scenarios, technical characteristics, and behavioral aspects. The output schema handles return value details, so the description appropriately focuses on operational context without redundancy.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must fully compensate. The '参数说明' (Parameter explanation) section provides detailed semantics for all three parameters: 'doi' is required and defined as a Digital Object Identifier with an example; 'email' is optional and explained as providing higher API access limits; 'max_results' is optional with a default of 20. This adds comprehensive meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '根据DOI获取相似文章(基于PubMed相关文章算法)' (Get similar articles based on DOI using PubMed's related articles algorithm). It specifies the verb ('获取' - get/fetch), resource ('相似文章' - similar articles), and method ('基于PubMed相关文章算法' - based on PubMed's related articles algorithm), distinguishing it from siblings like 'get_article_details' or 'search_europe_pmc' which serve different functions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The '使用场景' (Usage scenarios) section lists four specific contexts: literature review research, finding related studies, academic investigation, and related work analysis. This provides clear guidance on when to use the tool. However, it does not explicitly mention when NOT to use it or name alternatives among sibling tools, such as 'search_europe_pmc' for broader searches.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_arxiv_papersA
搜索arXiv文献数据库(基于arXiv官方API)
功能说明:
基于arXiv官方API搜索预印本论文
支持关键词搜索和日期范围过滤
自动重试和错误恢复机制
分页获取,支持大量结果检索
参数说明:
keyword: 必需,搜索关键词,支持复杂查询语法
email: 可选,联系邮箱,用于获得更好的API服务
start_date: 可选,开始日期,格式:YYYY-MM-DD
end_date: 可选,结束日期,格式:YYYY-MM-DD
max_results: 可选,最大返回结果数量,默认10,最大1000
返回值说明:
articles: arXiv文章列表
arxiv_id: arXiv标识符
title: 文章标题
authors: 作者列表
category: arXiv分类
publication_date: 发表日期
abstract: 摘要
arxiv_link: arXiv摘要页链接
pdf_link: PDF下载链接
total_count: 实际获取的文章数量
search_info: 搜索信息
message: 处理信息
error: 错误信息(如果有)
使用场景:
预印本文献搜索
最新研究发现
计算机科学、物理学、数学等领域文献检索
跟踪最新研究动态
技术特点:
基于arXiv官方API
支持复杂查询语法
自动分页获取
完整的错误处理
支持日期范围过滤
| Name | Required | Description | Default |
|---|---|---|---|
| No | |||
| end_date | No | ||
| keyword | Yes | ||
| max_results | No | ||
| start_date | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden and does well by disclosing key behavioral traits: it mentions automatic retry/error recovery, pagination support for large results, and being based on the arXiv official API. It also notes the email parameter improves API service. However, it doesn't specify rate limits, authentication requirements, or potential costs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (功能说明, 参数说明, etc.), but is quite lengthy with redundant information. The '返回值说明' section duplicates what the output schema would provide, and some technical details could be more concise. However, information is reasonably front-loaded with the core purpose first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (5 parameters, search functionality) and the presence of an output schema, the description provides good context. It covers parameters thoroughly, explains behavioral characteristics, and lists use cases. The main gap is lack of explicit guidance on when to use this versus sibling tools, but overall it's quite complete for a search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. The '参数说明' section provides meaningful details for all 5 parameters: clarifies required vs optional status, explains keyword supports complex query syntax, specifies date formats, and documents default values and limits for max_results. This adds substantial value beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches arXiv's preprint database using the official API, specifying the resource (arXiv papers) and action (search). It distinguishes from siblings like 'search_europe_pmc' by focusing on arXiv, but doesn't explicitly contrast with other arXiv-related tools like 'get_article_details' or 'get_similar_articles'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The '使用场景' section lists general use cases like preprint literature search and tracking research trends, which provides implied guidance. However, it doesn't explicitly state when to choose this tool over alternatives like 'search_europe_pmc' or 'get_similar_articles', nor does it mention any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_europe_pmcA
搜索 Europe PMC 文献数据库(高性能优化版本)
功能说明:
使用异步方式在 Europe PMC 数据库中搜索学术文献
支持并发请求处理,性能比同步版本更优
集成缓存机制,重复查询响应更快
支持复杂搜索语法(如:"cancer AND therapy")
参数说明:
keyword: 必需,搜索关键词,支持布尔运算符(AND、OR、NOT)
email: 可选,提供邮箱地址以获得更高的API速率限制
start_date: 可选,开始日期,格式:YYYY-MM-DD
end_date: 可选,结束日期,格式:YYYY-MM-DD
max_results: 可选,最大返回结果数量,默认10,最大100
返回值说明:
articles: 文献列表,包含完整的文献信息
total_count: 总结果数量
search_time: 搜索耗时(秒)
cache_hit: 是否命中缓存
performance_info: 性能统计信息
message: 处理信息
error: 错误信息(如果有)
使用场景:
大批量文献检索
需要高性能的搜索任务
复杂的搜索查询
频繁的重复查询
性能特点:
比同步版本快30-50%
支持24小时智能缓存
自动重试机制
并发控制和速率限制
| Name | Required | Description | Default |
|---|---|---|---|
| No | |||
| end_date | No | ||
| keyword | Yes | ||
| max_results | No | ||
| start_date | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden and does well by disclosing behavioral traits: async processing, concurrent request handling, caching mechanism, rate limits, automatic retry mechanism, and performance characteristics (30-50% faster than sync version). It doesn't mention authentication requirements or destructive operations, but covers most behavioral aspects well.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with clear sections (功能说明, 参数说明, 返回值说明, 使用场景, 性能特点), but could be more front-loaded. The first sentence establishes purpose, but some sections contain slightly redundant information. Overall efficient but not perfectly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (5 parameters, no annotations) and the presence of an output schema, the description is remarkably complete. It covers purpose, parameters, return values, usage scenarios, and performance characteristics. The output schema existence means the description doesn't need to explain return values in detail, yet it still provides a helpful overview.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description fully compensates by providing detailed parameter explanations including required/optional status, format specifications (YYYY-MM-DD for dates), default values (max_results defaults to 10), range constraints (max_results up to 100), and examples of search syntax. This adds substantial meaning beyond what the bare schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches the Europe PMC literature database, specifies it's a high-performance optimized version, and distinguishes it from siblings by mentioning it's an async version with performance improvements. The verb '搜索' (search) is specific and the resource 'Europe PMC 文献数据库' is clearly identified.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly provides '使用场景' (usage scenarios) including bulk literature retrieval, high-performance search tasks, complex search queries, and frequent repeated queries. This gives clear guidance on when to use this tool versus alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
9 tool updates
v1.0.0- First observed
batch_enrich_references_by_dois - First observed
evaluate_articles_quality - First observed
get_article_details - First observed
get_citing_articles - First observed
get_journal_quality - First observed
get_references_by_doi - First observed
get_similar_articles - First observed
search_arxiv_papers - First observed
search_europe_pmc
TDQS
Scored across 9 tools
Most tools have distinct purposes (e.g., batch_enrich_references_by_dois for bulk DOI enrichment, search_europe_pmc for searching, get_similar_articles for similarity), but there is some overlap between get_article_details and batch_enrich_references_by_dois, as both can retrieve article details via DOI/PMID, which might cause confusion. However, descriptions clarify that batch_enrich_references_by_dois is optimized for bulk processing, while get_article_details is for single PMIDs with caching.
Naming is mixed with no clear pattern: some use snake_case (batch_enrich_references_by_dois, get_article_details), others use camelCase (evaluate_articles_quality), and some are inconsistent (get_references_by_doi vs. get_citing_articles). While all names are descriptive, the lack of a uniform convention (e.g., all snake_case or all camelCase) reduces predictability.
With 9 tools, the count is well-scoped for a literature search server covering Europe PMC, arXiv, and quality assessment. Each tool serves a specific function (searching, enrichment, quality evaluation, citation analysis), and none seem redundant or excessive for the domain.
The toolset covers core literature search and analysis tasks well: searching (Europe PMC, arXiv), article details retrieval, reference/citation handling, quality assessment, and similarity finding. A minor gap is the lack of tools for user-specific operations like saving searches or managing collections, but this is not essential for the stated purpose.
Maintenance
Related MCP Connectors
Search arXiv/Semantic Scholar/OpenAlex + medical evidence (PubMed/Europe PMC) + LaTeX/PDF tools.
Search PubMed/Europe PMC, fetch articles and full text (PMC/EPMC/Unpaywall), citations, MeSH terms.
Search arXiv and ACL Anthology, retrieve citations and references, and browse web sources to accel…
Academic research MCP server for paper search, citation checks, graphs, and deep research.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables 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.514 npm1MIT
- AlicenseAqualityCmaintenanceAn intelligent research assistant MCP server for AI agents, providing task-oriented literature search and analysis across multiple academic databases.4128Apache 2.0
- AlicenseNot gradedqualityDmaintenanceEnables scientific literature research through multi-agent search, analysis, and semantic memory, exposing 9 MCP tools for querying, storing, and retrieving research findings.1MIT
- AlicenseNot gradedqualityCmaintenanceEnables searching and retrieving biomedical literature from Europe PMC, including articles, abstracts, references, and citations.6 npmMIT