# @cyanheads/pubmed-mcp-server 中文文档

规范地址：https://npmcn.com/package/%40cyanheads/pubmed-mcp-server/

版本：2\.12\.0
npm 元数据更新时间：2026-11-03T08:04:00.180Z
中文译文更新时间：2026-11-11T06:05:54.866Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40cyanheads/pubmed-mcp-server
原文对照：https://npmcn.com/package/%40cyanheads/pubmed-mcp-server/?lang=original
项目主页：https://github.com/cyanheads/pubmed-mcp-server#readme
源码仓库：https://github.com/cyanheads/pubmed-mcp-server

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：2.3 MB，321 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=24\.0\.0
- 运行依赖：8 个
- 首次发布：2025-05-24T13:14:45.318Z
- 最新版本发布：2026-11-03T08:04:00.029Z
- 近 30 天下载量：15646（2026-10-11 至 2026-11-09，npm 官方下载统计）
- 已发布版本数：121（近 12 个月 100 个）

## 中文简介

搜索 PubMed/Europe PMC,取出文章和全文(PMC/EPMC/Unpaywall),引文,MeSH名词通过MCP. (原始内容存档于2012-10-12). STIO or Streamable HTTP.

## 安装

```sh
npm install @cyanheads/pubmed-mcp-server
```

也可以使用：`pnpm add @cyanheads/pubmed-mcp-server`、`yarn add @cyanheads/pubmed-mcp-server`、`bun add @cyanheads/pubmed-mcp-server`

## README

# @ cyanheads/ pubmed- mcp- 服务器

**搜索 PubMed/Europe PMC,取出文章和全文(PMC/EPMC/Unpaywall),引文,MeSH名词通过MCP. (原始内容存档于2012-10-12). STIO or Streamable HTTP.**

12个工具 • 1个资源 • 1个快件

[![Version](https://img.shields.io/badge/Version-2.12.0-blue.svg?style=flat-square)](https://npmcn.com/package/%40cyanheads/pubmed-mcp-server/CHANGELOG.md) [![License](https://img.shields.io/badge/License-Apache%202.0-orange.svg?style=flat-square)](https://npmcn.com/package/%40cyanheads/pubmed-mcp-server/LICENSE) [![Docker](https://img.shields.io/badge/Docker-ghcr.io-2496ED?style=flat-square&logo=docker&logoColor=white)](https://github.com/users/cyanheads/packages/container/package/pubmed-mcp-server) [![MCP SDK](https://img.shields.io/badge/MCP%20SDK-%5E2.4.0-green.svg?style=flat-square)](https://modelcontextprotocol.io/) [![npm](https://img.shields.io/npm/v/@cyanheads/pubmed-mcp-server?style=flat-square&logo=npm&logoColor=white)](https://www.npmjs.com/package/@cyanheads/pubmed-mcp-server) [![TypeScript](https://img.shields.io/badge/TypeScript-%5E7.0.2-3178C6.svg?style=flat-square)](https://www.typescriptlang.org/) [![Bun](https://img.shields.io/badge/Bun-v1.4.4-blueviolet.svg?style=flat-square)](https://bun.sh/)

[![Install in Claude Desktop](https://img.shields.io/badge/Install_in-Claude_Desktop-D97757?style=for-the-badge&logo=anthropic&logoColor=white)](https://github.com/cyanheads/pubmed-mcp-server/releases/latest/download/pubmed-mcp-server.mcpb) [![Install in Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en/install-mcp?name=pubmed-mcp-server&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBjeWFuaGVhZHMvcHVibWVkLW1jcC1zZXJ2ZXIiXX0=) [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install_Server-0098FF?style=for-the-badge&logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect?url=vscode:mcp/install?%7B%22name%22%3A%22pubmed-mcp-server%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40cyanheads%2Fpubmed-mcp-server%22%5D%7D)

[![Framework](https://img.shields.io/badge/Built%20on-@cyanheads/mcp--ts--core-67E8F9?style=flat-square)](https://www.npmjs.com/package/@cyanheads/mcp-ts-core)

**公共主机服务器 :** [https://pubmed.caseyjhand.com/mcp 页面存档备份,存于互联网档案馆](https://pubmed.caseyjhand.com/mcp)

* * *

## 概览

PubMed、PubMed Central和欧洲PMC的生物医学文献。 搜索它,获取元数据和全文,解决识别符和部分引用,格式引用,以及 MeSH 词汇中的地面查询. 运行为 stdio 进程,本地可流的 HTTP 服务器,或上面的公共主机端点. 船舶 `pubmed-guide` 代理技能( e)`skill://pubmed-guide/SKILL.md`),MCP客户端读取了PubMed查询语法,PMC外的DOI-to-PMID路由,引用列表解析,引用计数,和全文缺失.

### 工具

| 工具 | 说明 |
| :-- | :-- |
| `pubmed_search_articles` | 搜索 PubMed 有完整的查询语法、结构化过滤器、日期范围以及可选摘要 |
| `pubmed_fetch_articles` | 由 PMID 获取文章元数据: 抽象、 作者、 日记、 MeSH 条款、 数据库加入, 如审判登记 ID 、 赠款、 作者集体调查员 、 链接撤回和更正通知 |
| `pubmed_fetch_fulltext` | 由 PMID 、 PMCID 或 DOI 获取全文, 从 PMC 返回欧洲 PMC 到 Unpaywall |
| `pubmed_europepmc_search` | 搜索欧洲PMC 预印,专利,阿格里可拉,和开放访问记录 PubMed 不携带 |
| `pubmed_europepmc_fetch` | 获取完整的欧洲PMC记录,包括未整理的抽象, 如 `records: [{ source, epmcId }]` |
| `pubmed_fetch_citation_metrics` | 由 PMID 获取 NIH iCite 引用参数: 相对引用率、 NIH 百分位数、 引用数和率 |
| `pubmed_format_citations` | 在APA 7th, MLA 9th, BibTeX, RIS, 或温哥华(ICMJE/NLM)中采用格式引用,并附带撤回和更正通知 |
| `pubmed_find_related` | 为 PMID 查找类似文章、 引用文章或参考文献 |
| `pubmed_spell_check` | 通过 NCBI ESpell 校正一个拼错的 PubMed 查询 |
| `pubmed_lookup_mesh` | 查找带有树号、范围说明和条目名的 MeSH 标题 |
| `pubmed_lookup_citation` | 通过 ECitMatch 解决部分引用 PMID 的问题,每次最多25次 |
| `pubmed_convert_ids` | 通过 PMC ID 转换器在 DOI, PMID 和 PMCID 之间转换 |

### 资源

| 资源 | 说明 |
| :-- | :-- |
| `pubmed://database/info` | PubMed 数据库元数据通过 EInfo( 域列表, 记录计数, 最后更新) |

### 提示

| 提示 | 说明 |
| :-- | :-- |
| `research_plan` | 制定一个结构化的四阶段生物医学研究计划 |

## 能力参考

### `pubmed_search_articles` 工具

-   完整 PubMed 查询语法加过滤器(作者、期刊、 MeSH、 出版类型、语言、物种、抽象、免费全文)和出版/修改/Entrez日期范围
-   `query` 是可选的:使用作者、日记、 MeSH 或 出版物类型的过滤器,过滤器单独进行搜索(例如,日记在日期范围内的输出)
-   每页最多1 000个结果,抵消最多9 998个结果,或 `maxResults: 0` 单凭比赛数; `summaryCount` 增加最多50个点击的简介。 在封顶处会提供更大的页码,并注明要继续何处的提示
-   报告 `totalCount`,则 `effectiveQuery` 普布迈德跑,和 `appliedFilters`
-   拒绝在 PubMed 调用前的空白过滤值、 无法使用的日期和倒置的日期范围

* * *

### `pubmed_fetch_articles` 工具

-   每通电话最多200个PMID;失事情况列于 `unavailablePmids`
-   摘要、作者、期刊、DOI、出版物类型、链接撤回/erratum/评论通知和链接; MeSH默认条件,通过 `includeGrants`,以及集体作者的成员(其 `InvestigatorList`数以千计的一些联合体审判) `includeInvestigators`
-   撤回、更正或被质询的文章以与 `pubmed_format_citations`,直接在其标题下
-   `dataBanks` (c) 逐字列出记录的审判登记和数据储存(Clinical Curritics.gov NCT ID、GenBank和PDB加入、Dryad DOIs) `pubmed_search_articles` 页:1 `<accession>[si]` 找到其他记录
-   `recordType` 从 Bookshelf 章节和书籍中分离出期刊文章; 选入 `maxResponseCharacters` 推迟至 `deferred.ids`

* * *

### `pubmed_fetch_fulltext` 工具

-   `pmcids`, (中文(简体) ), `pmids`,以及 `dois` 每次通话最多50个不同的识别码:前10个被取出,其余被运回 `overLimit` 后续电话。 每一个都是针对PMC,然后是欧洲PMC,然后是Unpaywall(需要) `UNPAYWALL_EMAIL`),其中多篇文章被取出并退回一次 `viaSource` 命名响应的分级
-   `source: "pmc"` 返回部分(正文,然后是背面事项,如承认、声明和附录)、表格和数字; `source: "unpaywall"` 返回最佳 HTML 或 PDF 文本正文
-   获取欧洲PMC全文,以便记录欧洲PMC标记打开,包括预印;文章载有 `licenses` 他们的PMCJATS状态
-   密斯带有一个类型 `reason` 财务报告和审定财务报表 `triedTiers`· ; `sections`, (中文(简体) ), `maxSections`, (中文(简体) ), `maxCharacters`, (中文(简体) ), `overflowMode`,以及 `maxResponseCharacters` 约束反应, `truncation` 报告被切断的东西 `sectionCap` 名称 `maxSections` 切换

* * *

### `pubmed_europepmc_search` 工具

-   添加预印( I)`PPR`专利(`PAT`)和阿格里科拉(`AGR`改为: `MED` 财务报告和审定财务报表 `PMC`; 默认为 `MED`, (中文(简体) ), `PMC`, (中文(简体) ), `PPR`
-   通过光标 `cursorMark` 编号 : `nextCursorMark`,每页最多100个;封顶处提供更大的页码,并注明要继续何处。 摘要以 400 个字符片段来取
-   可选 `sort` 逗号分隔 `<field> asc|desc` 键; `relevance` 是默认的顺序, 而一个不能使用的欧洲 PMC 类 `europepmc_invalid_input`
-   击打携带 `license` 财务报告和审定财务报表 `hasFullTextXml`
-   未注册时间 `EUROPEPMC_ENABLED=false`

* * *

### `pubmed_europepmc_fetch` 工具

-   最多25个记录 `records: [{ source, epmcId }]`,每对复制 从搜索点击, 与完整的抽象, `license`,以及 `hasFullTextXml`; 未解决的编号在 `notFound`; 选入 `maxResponseCharacters` 推迟至 `deferred.records`
-   未注册时间 `EUROPEPMC_ENABLED=false`

* * *

### `pubmed_fetch_citation_metrics` 工具

-   每拨电话最多可达1 000个PMID;前200个识别器被取出,其余返回 `overLimit`PMIDs NIH iCite没有记录 `unavailablePmids`
-   相对引用比率(带有临时旗帜)、NIH百分位数、引用数和比率、翻译潜力、MeSH类股份和临床引用
-   iCite 不标出撤销; 请检查 `pubmed_fetch_articles` 通知时
-   资料来源: [NIH iCite (英语)](https://icite.od.nih.gov/)

* * *

### `pubmed_format_citations` 工具

-   每个电话最多50个PMID,任何组合 `apa`, (中文(简体) ), `mla`, (中文(简体) ), `bibtex`, (中文(简体) ), `ris`,以及 `vancouver`
-   书本记录作为已编辑的书籍引用,每一章按其上次修订或提交日期注明;无法获取的PMID报告为无法获取
-   温哥华用缩放的引用医学形式写出页面范围(`1637-1645` → `1637-45`页:1 `issn` 国际空间研究所 `SN` 携带日记连接ISSSN和RIS `TI` 减少后继期
-   NCBI与一篇文章的链接 `notices` (b) 温哥华添加了以下内容: `Retraction in:` 编号 : `Erratum in:` 注和APA 缩出括号

* * *

### `pubmed_find_related` 工具

-   `similar`, (中文(简体) ), `cited_by`,或 `references`,每页最多可有50个相抵平面。 在封顶处会提供更大的页码,并注明要继续何处的提示
-   回溯到欧洲PMC,然后是OpenAlex, 并指定响应的提供者; 失败为 `all_providers_failed` 如果没有人可以

* * *

### `pubmed_spell_check` 工具

-   回返 `original`, (中文(简体) ), `corrected`,以及 `hasSuggestion`; 校正已就地, 因此字段标记、 运算符、 间隔和基因符号保持为正文, 而像作者首字母这样的单个字母永远不会被换为另一个
-   索引字段标记的值( Q)`aged[mh]`, (中文(简体) ), `zhang y[au]`, (中文(简体) ), `free full text[sb]`)保留为书面;自由文本字段(`[tiab]`, (中文(简体) ), `[ti]`, (中文(简体) ), `[tw]`)仍在更正
-   在零重击或薄搜索后运行, 然后重试 `pubmed_search_articles` 与 `corrected`

* * *

### `pubmed_lookup_mesh` 工具

-   按名称或自由文字术语排列的描述符,准确的标题匹配先被标注(描述符,用于药物类标题);每页最多50个,通过 `nextOffset`。在封顶处提供更大的页码,并注明要继续何处的通知
-   记录携带他们的 MeSH 独有的ID(`meshId`,比如说. `D000072657`在Entrez UID旁; `includeDetails` (默认)添加树号、范围说明和条目词

* * *

### `pubmed_lookup_citation` 工具

-   每通电话最多25个部分引文;需要一份日记或四位数年份,以及第一页的音量,作者应使匹配更清晰
-   每个都独立匹配,然后回来 `matched`, (中文(简体) ), `not_found`,或 `ambiguous`,带有回收细节

* * *

### `pubmed_convert_ids` 工具

-   每通电话最多50个身份证,全部申报 `idType` (单位:千美元)`doi`, (中文(简体) ), `pmid`, (中文(简体) ), `pmcid`);只有 PMC 索引文章解决
-   每个ID一个成功或出错行,按顺序排列,所以部分批次永远不会失败

* * *

### `pubmed://database/info` 资源

-   现场信息呼叫 `pubmed` 数据库,返回为 `application/json`
-   `count`, (中文(简体) ), `lastUpdate`,以及 `fields[]`,其名称为搜索标记 `pubmed_search_articles` 接受

* * *

### `research_plan` 提示

-   参数 : `title`, (中文(简体) ), `goal`,以及 `keywords` 需要; `organism` 财务报告和审定财务报表 `includeAgentPrompts` 选项
-   返回四阶段研究计划; `includeAgentPrompts: "true"` 在其9个分步骤中每个分步骤下增加一个代理指导区块,其中2个在工具上:文献审查名称 `pubmed_search_articles` 财务报告和审定财务报表 `pubmed_lookup_mesh`,以及解释步骤名称 `pubmed_search_articles`

## 特征

建造在 [`@cyanheads/mcp-ts-core`](https://github.com/cyanheads/mcp-ts-core): stdio和可流式的 HTTP 传输器,可插接式(`none` 编号 : `jwt` 编号 : `oauth`),可互换存储(`in-memory`, (中文(简体) ), `filesystem`, (中文(简体) ), `Supabase`, (中文(简体) ), `Cloudflare KV/R2/D1`),结构化记录,可选择的OpenTeleometry tracking.

PubMed 特性 :

-   NCBI E-用途(ESearch, EFetch, ESummary, ELink, ESpell, EInfo, ECitMatch)和PMC ID转换器,欧洲PMC, OpenAlex和Unpaywall填补了漏洞
-   共享 NCBI 请求队列: 启动节奏请求, 封顶货币, 冷却器在 NCBI 429 之后将每个呼叫者保存, 以及一个覆盖队列等待和重试的最后期限
-   为 PubMed 不一致的记录构建的 XML 解析: 结构化摘要、 缺失字段、 不同日期格式
-   豁免标识符:一个零加法的PMID解决,因为它在每个工具中拼写一个; `pubmed_fetch_fulltext` 并且不区分大小写和 PMC ID 的匹配 `PMC` 前缀
-   手卷引文格式化(APA, MLA, BibTeX, RIS, 温哥华),无依赖性

方便代理输出 :

-   答复中的证据:源标签、全文的许可字段和欧洲PMC结果、Unpaywall结果的最佳警告、搜索时的有效平息回声,因此特工可以判断信任什么
-   Graceful 部分失败:批量工具返回每个项目的成功/错误行,而不是请求失败,并带有结构化状态代码和可操作的下一步文本
-   歧视性产出合同: `source: "pmc" | "unpaywall"`键入 `unavailable` 理由, `viaSource` 财务报告和审定财务报表 `triedTiers` 字段,因此调用数据分支,而不是字符串解析

## 开始

连接到主机实例, 没有安装 :

```sh
claude mcp add --transport http pubmed-mcp-server https://pubmed.caseyjhand.com/mcp
```

或者在当地运行它:

```sh
claude mcp add pubmed-mcp-server -- npx -y @cyanheads/pubmed-mcp-server
```

对于其他客户端,请将此添加到 MCP 配置文件中 :

```json
{
  "mcpServers": {
    "pubmed-mcp-server": {
      "command": "npx",
      "args": ["-y", "@cyanheads/pubmed-mcp-server"]
    }
  }
}
```

一个 [NCBI API 密钥](https://www.ncbi.nlm.nih.gov/account/settings/) 内 `NCBI_API_KEY` 将标准限制从每秒3个请求提高到10个请求(`-e NCBI_API_KEY=your-key`,或一个 `env` ) (中文(简体) ). 对于 Docker 或源构建,请参见 [运行服务器](https://npmcn.com/package/%40cyanheads/pubmed-mcp-server/#readme-running-the-server)。 。 。 .

## 配置

| 变量 | 说明 | 默认 |
| :-- | :-- | :-- |
| `NCBI_API_KEY` | NCBI API密钥;将速率限制从 3 req/s提高到 10 req/s. NCBI 计算每个密钥的限值(每个IP地址不包含一个),因此进程共享密钥或地址共享. | 无 |
| `NCBI_ADMIN_EMAIL` | 按照NCBI的建议,与 NCBI 请求发送的电子邮件联系. | 无 |
| `NCBI_REQUEST_DELAY_MS` | NCBI请求之间的最小间隔开始,以毫秒计. | `400` (单位:千美元)`120` 带有密钥) |
| `NCBI_MAX_CONCURRENT` | 最大同时飞行 NCBI请求. | `8` |
| `NCBI_MAX_RETRIES` | 重试失败 NCBI 请求的尝试 . | `6` |
| `NCBI_TIMEOUT_MS` | 每个请求HTTP超时,以毫秒计. | `30000` |
| `NCBI_TOTAL_DEADLINE_MS` | NCBI呼叫超过队列等待、重复和后退的最后期限,以毫秒计。 一个不能及时开始的电话立刻被拒绝. | `60000` |
| `UNPAYWALL_EMAIL` | 为 Unpaywall 联系电子邮件 。 设置它使Unpaywall级 `pubmed_fetch_fulltext` 用于非PMC DOI. | 无 |
| `UNPAYWALL_TIMEOUT_MS` | 按请求超时获取 Unpaywall 检索和内容, 以毫秒计 . | `20000` |
| `EUROPEPMC_ENABLED` | 设定 `false` 禁用每个欧洲PMC呼叫: 两个欧洲PMC工具都没有注册, `pubmed_fetch_fulltext` 跳过这层,和 `pubmed_find_related` 跳过后退. | `true` |
| `EUROPEPMC_EMAIL` | 与欧洲 PMC 请求发送的可选联系电子邮件 . | 无 |
| `EUROPEPMC_REQUEST_DELAY_MS` | 欧洲PMC请求之间的最小差距开始,以毫秒计. | `200` |
| `EUROPEPMC_MAX_RETRIES` | 重试尝试失败的欧洲 PMC 请求 . | `3` |
| `EUROPEPMC_TIMEOUT_MS` | 每个欧洲PMC电话请求超时,以ms计. | `20000` |
| `MCP_TRANSPORT_TYPE` | 运输: `stdio` 或者说 `http`。 。 。 . | `stdio` |
| `MCP_HTTP_PORT` | HTTP 服务器端口. | `3010` |
| `MCP_SESSION_MODE` | HTTP 会话模式 : `stateless`, (中文(简体) ), `stateful`,或 `auto`。 。 。 . | `stateless` |
| `MCP_AUTH_MODE` | 认证 : `none`, (中文(简体) ), `jwt`,或 `oauth`。 。 。 . | `none` |
| `MCP_LOG_LEVEL` | 日志级别 (`debug`, (中文(简体) ), `info`, (中文(简体) ), `warning`, (中文(简体) ), `error`(见a/c.5/49/70,附件). | `info` |
| `LOGS_DIR` | 日志文件目录(只有Node.js). | `<app-root>/logs` |
| `STORAGE_PROVIDER_TYPE` | 存储后端 : `in-memory`, (中文(简体) ), `filesystem`, (中文(简体) ), `supabase`, (中文(简体) ), `cloudflare-kv/r2/d1`。 。 。 . | `in-memory` |
| `OTEL_ENABLED` | 启用 [打开几何](https://github.com/cyanheads/mcp-ts-core/tree/main/docs/telemetry)。 。 。 . | `false` |

见 [`.env.example`](https://npmcn.com/package/%40cyanheads/pubmed-mcp-server/.env.example) 用于每个服务器设置和通用框架覆盖.

## 运行服务器

### 地方发展

要求数 [Bun v1.4.0 (英语)](https://bun.sh/) 或更高(或Node.js v24+).

-   **克隆并安装**数字 :
    
    ```sh
    git clone https://github.com/cyanheads/pubmed-mcp-server.git
    cd pubmed-mcp-server && bun install
    cp .env.example .env   # set NCBI_API_KEY, NCBI_ADMIN_EMAIL, and UNPAYWALL_EMAIL as needed
    ```
    
-   **构建和运行制作版本**数字 :
    
    ```sh
    # One-time build
    bun run rebuild
    
    # Run the built server
    bun run start:http
    # or
    bun run start:stdio
    ```
    
-   **运行检查和测试**数字 :
    
    ```sh
    bun run devcheck  # Lints, formats, type-checks, and more
    bun run test      # Runs the test suite
    ```
    

### 夹克

```sh
docker run --rm -p 3010:3010 ghcr.io/cyanheads/pubmed-mcp-server:latest
```

图像默认为 HTTP 传输、 无国籍会话模式和日志到 `/var/log/pubmed-mcp-server`运行到一个 MCP 客户端的 stdio,使用 `"command": "docker"` 与 `"args": ["run", "-i", "--rm", "-e", "MCP_TRANSPORT_TYPE=stdio", "ghcr.io/cyanheads/pubmed-mcp-server:latest"]`为了在当地建设, `docker build -t pubmed-mcp-server .`; OpenTeleometry 端点依赖性默认安装——用 `--build-arg OTEL_ENABLED=false` 以略去它们.

## 项目结构

| 目录 | 目的 |
| :-- | :-- |
| `src/mcp-server/tools` | 工具定义`*.tool.ts`) (中文(简体) ). PubMed、PMC、欧洲PMC和NIH iCite共有12个工具. |
| `src/mcp-server/resources` | 资源定义。 数据库信息资源. |
| `src/mcp-server/prompts` | 快速定义。 研究计划迅速. |
| `src/services/ncbi` | NCBI E-用量服务层——API客户端,队列,解析器,用于事由. |
| `src/services/europe-pmc` | 欧洲PMC服务——搜索+ `fullTextXML` JATS检索. 重用 NCBI JATS 解析器 . |
| `src/services/unpaywall` | Unpaywall service — DOI — OA位置分辨率和内容获取 (HTML/PDF). |
| `src/services/openalex` | OpenAlex 服务——最后的提供者 `pubmed_find_related`。 。 。 . |
| `src/config` | 服务器特定环境变量与Zod解析并验证. |
| `tests/` | 单位和综合测试,反映 `src/` 结构. |
| `skills/` | 发表 `pubmed-guide` 代理技能,通过MCP服务,并在包件中发运 `.mcpb` 捆绑,和多克的图像. |

## 发展指南

见 [`CLAUDE.md`](https://npmcn.com/package/%40cyanheads/pubmed-mcp-server/CLAUDE.md) 发展准则和建筑规则。 简本:

-   搬运工投掷,框架渔获量——否 `try/catch` 在工具逻辑中
-   使用 `ctx.log` 用于伐木, `ctx.state` 用于存储
-   登记册中的新工具和资源 `createApp()` 数组在 `src/index.ts`
-   环绕外部 API 调用: 验证 生 → 规范到域类型 → 返回输出计划; 永远不要编织缺失的字段

## 捐款

问题值得欢迎。 提交前进行检查和测试:

```sh
bun run devcheck
bun run test
```

## 许可证

这个项目根据Apache 2.0许可证获得许可. 见 [自由主义](https://npmcn.com/package/%40cyanheads/pubmed-mcp-server/LICENSE) 详细文件.

## 常见问题

### @cyanheads/pubmed-mcp-server 是什么？

搜索 PubMed/Europe PMC,取出文章和全文\(PMC/EPMC/Unpaywall\),引文,MeSH名词通过MCP\. \(原始内容存档于2012-10-12\)\. STIO or Streamable HTTP\.

### 如何安装 @cyanheads/pubmed-mcp-server？

在项目目录运行 npm install @cyanheads/pubmed-mcp-server，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 pubmed-mcp-server，可以用 npx pubmed-mcp-server 直接运行。

### @cyanheads/pubmed-mcp-server 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @cyanheads/pubmed-mcp-server 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @cyanheads/pubmed-mcp-server 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=24\.0\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @cyanheads/pubmed-mcp-server 可以商用吗？

@cyanheads/pubmed-mcp-server 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @cyanheads/pubmed-mcp-server 的下载量有多少？

根据 npm 官方下载统计，@cyanheads/pubmed-mcp-server 在 2026/10/11 – 2026/11/09 这 30 天内被下载 15,646 次，日均约 522 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @cyanheads/pubmed-mcp-server 还在维护吗？

最新版本 2\.12\.0 发布于 2026/11/03（7 天前）；至今共发布 121 个版本，其中过去 12 个月发布了 100 个；首次发布于 2025/05/24。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

