Skip to main content
Glama
██████╗ ██╗   ██╗██████╗ ███╗   ███╗███████╗██████╗     ██████╗  █████╗ ████████╗ █████╗ 
██╔══██╗██║   ██║██╔══██╗████╗ ████║██╔════╝██╔══██╗   ██╔════╝ ██╔══██╗╚══██╔══╝██╔══██╗
██████╔╝██║   ██║██████╔╝██╔████╔██║█████╗  ██║  ██║   ██║  ███╗███████║   ██║   ███████║
██╔═══╝ ██║   ██║██╔══██╗██║╚██╔╝██║██╔══╝  ██║  ██║   ██║   ██║██╔══██║   ██║   ██╔══██║
██║     ╚██████╔╝██████╔╝██║ ╚═╝ ██║███████╗██████╔╝   ╚██████╔╝██║  ██║   ██║   ██║  ██║
╚═╝      ╚═════╝ ╚═════╝ ╚═╝     ╚═╝╚══════╝╚═════╝     ╚═════╝ ╚═╝  ╚═╝   ╚═╝   ╚═╝  ╚═╝

License: Apache 2.0 Version: v2.0 MCP Compatible PubMed API EndNote Export

🧬 PubMed Data Server v2.0

🔬 极简架构,专注数据提供 - 为LLM提供结构化的PubMed文献数据


🎯 核心功能

四大核心功能,满足学术研究的全方位需求

📚 论文索引搜索 - 智能文献检索

  • 关键词搜索:支持复杂查询语法,精准定位相关文献

  • 批量查询:一次获取多篇论文的详细信息

  • 交叉引用:发现相关研究,构建知识网络

  • 事实核查:验证研究结论,提供证据支持

💾 智能缓存系统 - 高效数据管理

  • 本地缓存:避免重复API调用,提升响应速度

  • 缓存统计:实时监控缓存状态和存储使用情况

  • 智能更新:自动检测数据变化,保持缓存新鲜度

  • 存储优化:压缩存储,节省磁盘空间

📄 OA论文全文下载 - 开放获取文献获取

  • 全文检测:自动识别可下载的开放获取论文

  • 智能下载:模拟人类行为,避免被反爬虫机制拦截

  • 批量处理:支持大量论文的批量下载和管理

  • 格式支持:PDF格式,便于阅读和引用

📋 EndNote格式导出 - 文献管理集成

  • RIS格式:兼容EndNote、Zotero等主流文献管理软件

  • BibTeX格式:支持LaTeX写作和学术引用

  • 自动导出:查询结果自动生成引用文件

  • 批量处理:支持大量文献的批量导出

🌐 代理支持 - 网络环境适配

  • 代理开关控制:通过 PROXY_ENABLED 环境变量控制代理功能

  • HTTP/HTTPS代理:支持企业网络和防火墙环境

  • 认证代理:支持用户名密码认证的代理服务器

  • 自动检测:智能识别代理配置,无缝切换

  • 故障恢复:代理失败时自动降级到直连模式

  • 超时重试:可配置代理超时时间和重试次数


Related MCP server: mcp-pubmed

🎯 核心理念

MCP服务器 = 数据提供者,外部LLM = 智能分析

用户客户端(LLM) ←→ MCP服务器(PubMed数据) ←→ PubMed API
     ↑                      ↑
  智能分析              数据获取+结构化

核心优势:

  • 极简配置:只需PubMed API和邮箱

  • LLM友好:结构化输出,优化上下文窗口

  • 高效检索:批量查询、交叉引用、事实核查


🚀 快速部署

前置要求

安装Node.js (v18.0.0+):nodejs.org

步骤一:下载项目

git clone [项目地址] mcp-pubmed-server
cd mcp-pubmed-server

步骤二:安装依赖

npm install

步骤三:配置API密钥

cp .env.example .env
# 编辑.env文件,填入以下内容:
PUBMED_API_KEY=你的NCBI_API密钥
PUBMED_EMAIL=你的邮箱地址

获取API密钥:

  1. 访问 NCBI API Key Management

  2. 登录NCBI账户,生成API密钥

步骤四:测试服务器

node src/index.js
# 看到 "PubMed Data Server v2.0 running on stdio" 表示成功

环境变量说明:项目已内置 .env 自动加载(使用 dotenv)。在项目根目录创建 .env,例如:

PUBMED_API_KEY=你的NCBI_API密钥
PUBMED_EMAIL=你的邮箱地址
# 摘要截断模式:quick | deep
# quick:1500 字符(快速检索,可能不包含完整摘要)
# deep:6000 字符(深度检索;建议模型上下文窗口 ≥ 120k tokens)
ABSTRACT_MODE=quick
# 全文模式:disabled | enabled | auto
# disabled:禁用全文功能(默认)
# enabled:启用全文检测,手动下载
# auto:启用全文检测,自动下载可用的OA论文
FULLTEXT_MODE=disabled
# EndNote导出:enabled | disabled
# enabled:自动导出RIS和BibTeX格式(默认)
# disabled:禁用EndNote导出
ENDNOTE_EXPORT=enabled
# 代理配置(可选)
# 代理开关:enabled | disabled
PROXY_ENABLED=disabled
# HTTP代理:用于HTTP和HTTPS请求
HTTP_PROXY=http://proxy.example.com:8080
# HTTPS代理:专门用于HTTPS请求
HTTPS_PROXY=https://proxy.example.com:8080
# 支持认证代理:http://username:password@proxy.example.com:8080
# 代理认证(可选)
PROXY_USERNAME=
PROXY_PASSWORD=
# 代理超时设置(秒)
PROXY_TIMEOUT=30
# 代理重试次数
PROXY_RETRY_COUNT=3

步骤五:MCP客户端配置

1. Cline (VS Code Extension) 配置

{
  "mcpServers": {
    "pubmed-data-server": {
      "command": "node",
      "args": ["./src/index.js"],
      "cwd": "完整路径/to/mcp-pubmed-server",
      "env": {
        "PUBMED_API_KEY": "你的API密钥",
        "PUBMED_EMAIL": "你的邮箱地址",
        "ABSTRACT_MODE": "deep",
        "FULLTEXT_MODE": "enabled",
        "PROXY_ENABLED": "disabled",
        "HTTP_PROXY": "",
        "HTTPS_PROXY": ""
      }
    }
  }
}

路径示例:

  • Linux/macOS: /home/user/mcp-pubmed-server

  • Windows: C:/Users/YourUser/mcp-pubmed-server

2. Cherry Studio (Windows) 配置

{
  "mcpServers": {
    "VBFfGqCFz9AuZJXX2f5GL": {
      "name": "pubmed-data-server",
      "type": "stdio",
      "isActive": true,
      "command": "node",
      "args": [
        "Y:/software/mcp-pubmed-server/src/index.js"
      ],
      "env": {
        "PUBMED_API_KEY": "你的API密钥",
        "PUBMED_EMAIL": "你的邮箱地址",
        "ABSTRACT_MODE": "deep",
        "FULLTEXT_MODE": "enabled",
        "PROXY_ENABLED": "disabled",
        "HTTP_PROXY": "",
        "HTTPS_PROXY": ""
      }
    }
  }
}

Windows 网络映射配置说明:

  • Y:/ - Samba 网络驱动器映射路径

  • 也可以使用本地路径如 C:/mcp-pubmed-server/src/index.js

  • 注意: Cherry Studio 不支持 cwd 参数

3. Claude Desktop 配置

编辑 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) 或 %APPDATA%/Claude/claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "pubmed-data-server": {
      "command": "node",
      "args": ["/mnt/1T/software/mcp-pubmed-server/src/index.js"],
      "cwd": "/mnt/1T/software/mcp-pubmed-server",
      "env": {
        "PUBMED_API_KEY": "你的API密钥",
        "PUBMED_EMAIL": "你的邮箱地址",
        "ABSTRACT_MODE": "deep",
        "FULLTEXT_MODE": "enabled",
        "PROXY_ENABLED": "disabled",
        "HTTP_PROXY": "",
        "HTTPS_PROXY": ""
      }
    }
  }
}

或使用项目内置模板:

cp config/claude_desktop_config.json.example config/claude_desktop_config.json
# 编辑配置文件,填入API密钥

4. Claude Code (CLI) 配置

编辑 ~/.claude/config.json:

{
  "mcpServers": {
    "pubmed-data-server": {
      "command": "node",
      "args": ["/mnt/1T/software/mcp-pubmed-server/src/index.js"],
      "cwd": "/mnt/1T/software/mcp-pubmed-server",
      "env": {
        "PUBMED_API_KEY": "你的API密钥",
        "PUBMED_EMAIL": "你的邮箱地址",
        "ABSTRACT_MODE": "deep",
        "FULLTEXT_MODE": "enabled",
        "PROXY_ENABLED": "disabled",
        "HTTP_PROXY": "",
        "HTTPS_PROXY": ""
      }
    }
  }
}

步骤六:验证集成

在客户端中测试:使用pubmed_search工具搜索"acupuncture"


🛠️ 11个高效工具

1. pubmed_search - 智能文献搜索

{
  "query": "acupuncture gut microbiome",
  "max_results": 20,
  "days_back": 30,
  "sort_by": "relevance"
}

2. pubmed_get_details - 详细信息获取

{
  "pmids": ["38412345", "38412346"],
  "include_full_text": true
}

3. pubmed_extract_key_info - 关键信息提取

{
  "pmid": "38412345",
  "extract_sections": ["basic_info", "abstract_summary", "authors", "keywords"],
  "max_abstract_length": 2000
}

4. pubmed_cross_reference - 交叉引用分析

{
  "pmid": "38412345",
  "reference_type": "similar",
  "max_results": 10
}

5. pubmed_batch_query - 批量查询优化

{
  "pmids": ["38412345", "38412346", "38412347"],
  "query_format": "llm_optimized",
  "include_abstracts": true
}

6. pubmed_detect_fulltext - 检测全文可用性

{
  "pmid": "38412345",
  "auto_download": false
}

7. pubmed_download_fulltext - 下载全文PDF

{
  "pmid": "38412345",
  "force_download": false
}

8. pubmed_fulltext_status - 全文缓存管理

{
  "action": "stats",
  "pmid": "38412345"
}

9. pubmed_batch_download - 批量智能下载

{
  "pmids": ["38412345", "38412346", "38412347"],
  "human_like": true
}

10. pubmed_system_check - 系统环境检测

{}

11. pubmed_endnote_status - EndNote导出管理

{
  "action": "stats"
}

🏗️ 架构特色

📊 LLM优化输出

  • 简洁格式:标题、作者、期刊、日期

  • 详细格式:完整元数据+结构化摘要

  • LLM优化格式:智能截断、关键点提取、关键词组织

🧠 上下文窗口管理

  • 摘要截断模式(通过环境变量配置):

    • QUICK 模式:1500 字符,快速检索,可能不包含完整摘要

    • DEEP 模式:6000 字符,深度检索;建议模型上下文窗口 ≥ 120k tokens(批量查询时更稳妥)

  • 关键点提取(5个要点)

  • 结构化信息分层

🔍 事实核查支持

  • 交叉引用相关文献

  • 相似研究对比

  • 综述文献查找

⚡ 性能优化

  • 速率限制管理(PubMed API限制)

  • 批量查询优化(最多20个PMID)

  • 错误重试机制


📝 使用场景

🔬 学术研究辅助

用户:我想了解针灸治疗肠易激综合征的最新研究
LLM → pubmed_search → 获取数据 → 智能分析和总结

✅ 事实核查

用户:这篇论文说某种化合物能治疗癌症,是真的吗?
LLM → pubmed_get_details → pubmed_cross_reference → 核查相关研究

📈 文献综述

用户:帮我分析某个领域的研究趋势
LLM → 批量查询 → 趋势分析 → 研究方向建议

💡 生物学问答

用户:某个蛋白质的功能是什么?
LLM → pubmed_search → pubmed_extract_key_info → 精准回答

📁 项目结构

mcp-pubmed-server/
├── src/
│   └── index.js              # 主服务器代码
├── config/
│   ├── mcp-config.json       # MCP配置模板
│   └── claude_desktop_config.json  # Claude Desktop配置
├── .env.example              # 环境变量模板
├── package.json              # 项目依赖配置
└── README.md                 # 本文件

🔍 故障排除

常见问题

  1. "找不到模块 @modelcontextprotocol/sdk"

    npm install
  2. "PubMed API调用失败"

    • 检查API密钥是否正确

    • 确认网络连接正常

    • 等待速率限制重置

  3. "环境变量未设置"

    • 确保 .env 文件存在

    • 检查变量名拼写

  4. Cherry Studio配置错误

    • 使用完整路径到 src/index.js

    • 不要使用 cwd 参数

    • 使用正斜杠 / 或双反斜杠 \\

  5. 代理连接问题

    • 检查 PROXY_ENABLED 是否设置为 enabled

    • 检查代理服务器地址和端口是否正确

    • 确认代理服务器支持HTTPS连接

    • 验证代理认证信息(如需要)

    • 格式:http://username:password@proxy.example.com:8080

    • 检查代理超时设置是否合理(默认30秒)

    • 确认代理重试次数设置(默认3次)

部署清单

  • Node.js已安装

  • 依赖已安装 (npm install)

  • .env 文件已配置

  • 服务器可正常启动

  • MCP客户端配置正确


📄 许可证

Apache License 2.0


📚 详细文档

🧪 测试工具

代理功能测试

# 测试代理配置和连接
node test-proxy.js

该脚本会:

  • 检查代理环境变量配置

  • 测试代理连接是否正常

  • 验证PubMed API是否可通过代理访问

  • 提供详细的配置指导


🎉 简单、高效、专注 - 现代MCP服务标准

版本 2.0 - 简化架构,专注数据提供

Available Tools

13 tools
pubmed_batch_downloadB

批量下载多个文献的全文PDF,支持跨平台智能下载

ParametersJSON Schema
NameRequiredDescriptionDefault
pmidsYesPMID列表 (最多10个)
human_likeNo是否使用类人操作模式(随机延迟)

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It mentions 'intelligent download' and 'cross-platform' but these are vague and do not disclose concrete behaviors like rate limiting, delays (despite the human_like parameter), failure handling, or IRB/auth requirements. The agent lacks critical context about potential side effects or operational constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that front-loads the core purpose. However, the phrase '支持跨平台智能下载' is somewhat vague/marketing-like and could be replaced with more concrete detail. Still, it is brief and to the point, earning a slightly above-average score.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is moderately complex (batch download with a human_like parameter, max 10 PMIDs, no output schema), but the description is minimal and does not mention the PMID limit, the effect of human_like, or any return/error semantics. It lacks essential contextual information for an agent to invoke the tool correctly and anticipate outcomes.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both 'pmids' and 'human_like' fully described in the schema. The tool description itself does not add any parameter-level detail beyond what the schema already provides, so the baseline 3 applies. It neither enhances nor contradicts the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (batch download), the resource (full-text PDFs of multiple documents), and distinguishes from sibling tools like pubmed_download_fulltext (which is likely single-download). The phrase '批量下载' conveys a specific verb and resource, making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for batch downloading PDFs, but it does not explicitly state when to use this tool over alternatives such as pubmed_download_fulltext for single articles or pubmed_batch_query for querying. No when-not-to-use or alternative exclusions are provided, leaving some ambiguity for an agent deciding between tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pubmed_batch_queryB

批量查询多个PMID的详细信息,优化上下文窗口使用

ParametersJSON Schema
NameRequiredDescriptionDefault
pmidsYesPMID列表 (最多20个)
query_formatNo输出格式优化llm_optimized
include_abstractsNo是否包含摘要

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full responsibility for behavioral disclosure. It only mentions context window optimization, but does not explain output structure, error handling, rate limits, or what happens with invalid PMIDs. For a query tool, this is minimal transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that directly states the tool's purpose, '批量查询多个PMID的详细信息'. It is front-loaded and does not waste words, though it could be slightly more informative without sacrificing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description fails to specify what '详细信息' (detailed information) actually includes or how the output is structured. The 'optimized context window' hint is too vague to be actionable. Given moderate complexity and no annotations, the description is under-specified for an agent to fully rely on.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides 100% description coverage for all three parameters (pmids, query_format, include_abstracts), so the baseline score is 3. The description itself adds no further parameter-specific meaning beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: '批量查询多个PMID的详细信息' (batch query detailed information for multiple PMIDs). This specifies the verb (query), resource (PMID details), and scope (batch), effectively distinguishing it from siblings like pubmed_get_details (single) and pubmed_batch_download (download).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies a batch use case and mentions 'optimize context window usage', but does not explicitly state when to use this tool over alternatives such as pubmed_get_details or pubmed_quick_search. It lacks explicit exclusions or alternative references, making usage guidance only implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pubmed_cache_infoA

获取缓存统计信息和状态,支持内存和文件缓存管理

ParametersJSON Schema
NameRequiredDescriptionDefault
actionNo缓存操作stats

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of disclosing side effects. It mentions '管理' (management) but does not disclose that actions like 'clear' and 'clean' are destructive, nor does it explain what happens to cached data, whether operations require special permissions, or what the response format looks like.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that front-loads the primary purpose and then mentions cache types. Every word earns its place, with no redundancy or irrelevant detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple (1 param, no annotations, no output schema), and the description gives a basic understanding of what it does. However, it lacks details about what 'stats' returns, the difference between 'clear' and 'clean', and the side effects of destructive actions. The description is minimally adequate but leaves gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers 100% of the parameter with a description ('缓存操作') and enum values. The tool description adds no meaningful detail beyond the schema—it only broadly mentions memory and file cache, which maps loosely to the action values. Baseline 3 is appropriate since the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with a specific verb+resource: '获取缓存统计信息和状态' (get cache statistics and status). It also mentions support for memory and file cache management, which distinguishes it from sibling tools focused on search, download, and other PubMed operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the tool's name and description—it is clearly for inspecting or managing the PubMed cache. However, there is no explicit guidance on when to use it versus alternatives, nor any mention of prerequisites or conditions that would trigger its use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pubmed_cross_referenceC

交叉引用相关文献,用于事实核查和深度分析

ParametersJSON Schema
NameRequiredDescriptionDefault
pmidYes基础文献PMID
max_resultsNo最大结果数
reference_typeNo引用类型similar

TDQS

C2.5/5.0
Behavior2/5

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 doesn't mention that the tool is likely a read-only lookup, what the output looks like, whether it performs network calls, or any rate limits. The description only states the high-level action without explaining behavior beyond the literal phrase.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely brief—a single sentence—which is concise, but it's under-specified. It doesn't use the space to add useful structure or detail. While there is no fluff, the content is too thin to deserve a higher score.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, and the description doesn't explain return values or how the tool differs from siblings. The reference_type enum is left unexplained, and the description doesn't mention the types of cross-referencing (citing, cited, similar, reviews). For a tool with three parameters and no output schema, the description is incomplete for effective selection and invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description does not add any parameter semantics; it doesn't explain the meaning of pmid, max_results, or reference_type. The schema already documents these, so the description adds no extra value here.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states '交叉引用相关文献' (cross-reference related literature), which is a verb+resource pairing but remains vague about the exact operation. It doesn't specify that it works via a PMID or that it retrieves citing/cited/similar articles, nor does it distinguish from sibling tools like pubmed_search or pubmed_get_details. The mention of fact-checking and deep analysis gives a use case but not operational clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives. It says it's for fact-checking and deep analysis, but this is too generic to help an agent decide between pubmed_search, pubmed_get_details, or pubmed_cross_reference. No exclusions, prerequisites, or alternative tool references are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pubmed_detect_fulltextC

检测文献的开放获取状态和全文可用性

ParametersJSON Schema
NameRequiredDescriptionDefault
pmidYesPubMed文献ID
auto_downloadNo是否自动下载可用的全文

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of disclosing behavior. It states what the tool detects but does not explain return format, whether it is read-only, any required permissions, or potential side effects. This lack of detail is inadequate for a tool with no annotation support.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, front-loaded with the core action, and contains no filler. However, it is so brief that it borders on under-specification, missing context that would aid tool selection and invocation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's relative simplicity (2 params, no output schema, no annotations), the description is too minimal. It does not mention return values, usage context, or relationship to siblings, leaving significant gaps in the agent's understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already describes both parameters (pmid, auto_download) with 100% coverage. The description adds no additional parameter semantics, so the baseline of 3 is appropriate; it neither enhances nor detracts from the schema's clarity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'detect' and identifies the resource (literature) and the specific aspect (open access status and full-text availability). It is clear, but it does not explicitly distinguish itself from the sibling tool 'pubmed_fulltext_status', which likely has a similar purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. There is no mention of scenarios, prerequisites, or exclusions, leaving the agent to infer timing based on the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pubmed_download_fulltextB

下载指定文献的全文PDF(如果可用)

ParametersJSON Schema
NameRequiredDescriptionDefault
pmidYesPubMed文献ID
force_downloadNo是否强制重新下载(即使已缓存)

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behaviors. It only says 'if available' but does not explain caching behavior (despite the force_download parameter), what happens on failure, whether it saves to disk or returns content, or any access restrictions. Minimal insight beyond the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, focused sentence that directly states the tool's function. No unnecessary words or repetition, making it highly concise and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is moderately complex with no annotations or output schema, yet the description omits important context like caching, success/failure behavior, return format, and differentiation from batch download. It is incomplete for an agent to confidently invoke the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds no extra meaning beyond the schema; the pmid and force_download parameters are already clearly described. No additional value provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the action (download), the resource (full-text PDF), and the scope (specified literature). It clearly distinguishes from sibling tools like batch download and detection, as it targets a single article's PDF.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to use this tool versus alternatives such as pubmed_batch_download or pubmed_detect_fulltext. It does not mention prerequisites, limitations, or exclusions, leaving the agent to infer usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pubmed_endnote_statusC

获取EndNote导出状态和统计信息

ParametersJSON Schema
NameRequiredDescriptionDefault
actionNo操作类型stats

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden of disclosing behaviors. It only suggests a read-only 'get' operation, but the schema includes 'clean' and 'clear' actions, which are mutating/destructive. The description fails to disclose these side effects, potentially misleading the agent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence without fluff, but it is under-specified. It lacks any mention of the action parameter or the tool's broader capabilities, so brevity comes at the cost of completeness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has one parameter with four actions, no annotations, and no output schema. The description covers only the 'stats' aspect and omits the other actions, leaving the agent without enough information to correctly invoke the tool for 'list', 'clean', or 'clear'. It is incomplete and could lead to misuse.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (the 'action' param has a description), so baseline is 3. However, the description adds no meaning about the parameter or its enum values ('stats', 'list', 'clean', 'clear'), which are not self-explanatory. The parameter description '操作类型' is generic, and the tool description fails to explain what each action does.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states '获取EndNote导出状态和统计信息' (Get EndNote export status and statistics), which is a specific verb+resource and distinguishes from search tools. However, it only mentions the 'stats' aspect and omits the 'list', 'clean', and 'clear' actions defined in the schema, making the purpose appear narrower than actual.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool compared to siblings like pubmed_fulltext_status or pubmed_cache_info. The description provides no context, exclusions, or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pubmed_extract_key_infoC

提取文献关键信息,优化LLM理解和处理

ParametersJSON Schema
NameRequiredDescriptionDefault
pmidYesPubMed文献ID
extract_sectionsNo要提取的信息部分
max_abstract_lengthNo摘要最大长度(字符)

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden for behavioral disclosure. It only states the general function without specifying output format, error handling, side effects, or any constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is an efficiently short single sentence, but it is under-specified. It front-loads the core purpose but omits necessary details, making it more under-specified than appropriately concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 3 parameters, no output schema, no annotations, and 12 siblings, the description is insufficiently complete. It lacks usage context, output details, and differentiation from other tools, leaving significant gaps for the agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds no parameter-specific meaning beyond what the schema already documents.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool extracts key information from literature, with a specific verb and resource. However, it does not differentiate this tool from siblings like pubmed_get_details or pubmed_cross_reference, so it falls short of a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. There are no exclusions or explicit context, leaving the agent without direction on tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pubmed_fulltext_statusC

获取全文缓存状态和统计信息

ParametersJSON Schema
NameRequiredDescriptionDefault
pmidNo指定PMID(仅用于list操作)
actionNo操作类型stats

TDQS

C2.2/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description says 'get' (获取), which suggests read-only behavior, but the schema includes 'clean' and 'clear' actions that are destructive. With no annotations provided, the description carries full burden and fails to disclose these mutating operations, actively misleading users about the tool's capabilities.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence, which is concise, but it omits critical information about the action parameter and destructive operations. It is under-specified rather than efficiently complete, so it does not fully earn its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool lacks annotations and an output schema, and the description only covers a narrow 'get status' aspect. It does not explain the 'list', 'clean', or 'clear' behaviors, potential side effects, or return values, making it severely incomplete for a multi-action tool with destructive options.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and both parameters have descriptions in the schema. The tool description adds no additional parameter context (e.g., behavior of 'clean' vs 'clear'), so it does not improve on the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states it gets full-text cache status and statistics, which gives a basic verb+resource. However, it does not mention the 'list', 'clean', or 'clear' actions available in the schema, so the full scope of tool operations is unclear. It also does not differentiate from sibling tools like pubmed_cache_info.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives, no mention of prerequisites, and no context for which action to choose. The description implies a read-only status check, but the schema shows additional actions without any usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pubmed_get_detailsA

获取指定PMID的完整文献信息,包括全文摘要和详细元数据

ParametersJSON Schema
NameRequiredDescriptionDefault
pmidsYesPMID或PMID列表
include_full_textNo尝试获取全文链接

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must fully disclose behavioral traits. It mentions that the result includes '全文摘要和详细元数据' (full-text abstract and detailed metadata), but it doesn't clarify read-only nature, error handling, rate limits, or the exact effect of include_full_text. The phrase '全文摘要' is ambiguous, adding to the lack of transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The entire description is a single, compact sentence that front-loads the key verb and resource. It contains no filler or unnecessary information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple 2-param tool with full schema coverage, the description conveys the core function but lacks details about return format, batch handling, and the meaning of 'complete literature information'. Since there is no output schema, more explicit output expectations would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already describes both parameters: pmids as 'PMID或PMID列表' and include_full_text as '尝试获取全文链接'. The description adds little beyond restating the tool's purpose, and it doesn't clarify how include_full_text interacts with the returned data. Thus it stays at the baseline for 100% schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's action: '获取指定PMID的完整文献信息' (get complete literature information for specified PMIDs). This specifies a verb, resource, and scope, distinguishing it from search tools like pubmed_search and summary tools like pubmed_extract_key_info.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is used when you already have PMIDs and need full details, but it does not explicitly say when to use it versus alternatives or mention any exclusions. No usage context or alternative guidance is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pubmed_system_checkA

检查系统环境和下载工具可用性

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations provided, so the description carries the full burden for behavioral disclosure. It only states what the tool checks, but does not describe the nature of the check, potential side effects, return format, or whether it is a safe read-only operation. This is minimal disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that directly conveys the tool's purpose. There is no redundancy or wasted words, making it highly efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a very simple tool with no parameters and no output schema, so the description is the only source of context. It lacks details about what specific system components are checked, what the expected response looks like, or any prerequisites. The description is too minimal to fully prepare an agent for invoking the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the schema is empty and there is nothing to explain. The baseline for zero parameters is 4, and the description does not need to add parameter details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: to check the system environment and the availability of download tools. It uses a specific verb ('check') and identifies distinct resources, and it is clearly differentiated from sibling tools that focus on searching, retrieving, or downloading content.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not explicitly state when to use this tool versus alternatives, but the mention of 'download tool availability' implies it could be a prerequisite for download operations. This is only implied guidance, not explicit, so it falls short of a 4.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

C2.9/5.0
Disambiguation3/5

Most tools have clear boundaries (e.g., get_details vs batch_query), but pubmed_quick_search and pubmed_search both perform searches with different output formats, which could cause misselection. The descriptions help differentiate them, so the ambiguity is moderate.

Naming Consistency3/5

All tools share the pubmed_ prefix, which is a strong convention, but the internal structure mixes verb-led (search, get_details, extract_key_info) and noun-led (cache_info, fulltext_status, endnote_status) styles. This inconsistency makes the naming less predictable than a uniform verb_noun pattern.

Tool Count4/5

With 13 tools, the server is within the ideal 3-15 range and covers search, details, batch, and download workflows. However, four status/check tools (cache_info, fulltext_status, endnote_status, system_check) feel slightly redundant, making the count a bit heavier than necessary.

Completeness4/5

The surface covers the main PubMed workflows: searching, fetching details, batch queries, full-text detection and download. The main gap is an EndNote export tool—only the status is exposed—and there is no tool for citation export or advanced query building, but these are minor for the core purpose.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    An MCP server implementation that enables searching and retrieving research articles from PubMed with specific focus on open access content filtering and full-text link retrieval.
    8
    3
  • A
    license
    A
    quality
    D
    maintenance
    An MCP server that provides direct access to PubMed and PubMed Central via the NCBI E-utilities API. It enables AI models to search biomedical literature, retrieve detailed article metadata, and download open-access full texts.
    5
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    This MCP server provides 16 intelligent tools for searching, retrieving, and linking biomedical literature from PubMed and PMC. It enables LLM applications to perform complex queries, batch processing, and cross-database linking.
    16
    8
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    A lightweight MCP server for clinical biomedical literature retrieval, enabling PubMed search, article metadata, full-text access, and evidence summarization through MCP-compatible clients.
    10
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/hhx465453939/mcp-pubmed-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server