Skip to main content
Glama
wjixiang

PubMed MCP Server

by wjixiang
README.md
# PubMed MCP Server

[中文](#中文) | [English](#english)

---

## 中文

PubMed 文献检索 MCP 服务器,基于 [Model Context Protocol](https://modelcontextprotocol.io/) 构建,让 AI Agent 直接搜索和阅读 PubMed 学术文献。

无需 NCBI API Key,直接爬取 PubMed 公开网页接口。

### 使用方式

将本仓库 Git 地址发送给你的 Agent:

```
https://github.com/wjixiang/pubmed-mcp.git
```

Agent 会自动克隆、安装依赖、构建并启动 MCP 服务器。

### MCP 配置示例

构建完成后,在 Claude Desktop 等 MCP 客户端中配置:

```json
{
  "mcpServers": {
    "pubmed": {
      "command": "node",
      "args": ["/path/to/pubmed-mcp/dist/mcp/index.js"]
    }
  }
}
```

### 能力

**Tools(Agent 可调用的工具)**

| 工具 | 说明 |
|---|---|
| `pubmed_search` | 按关键词搜索 PubMed,支持日期范围、文章类型过滤、排序、分页 |
| `pubmed_article_detail` | 按 PMID 获取完整文章记录(作者、摘要、MeSH、参考文献等) |

**Resources(可读取的数据资源)**

| URI 模板 | 说明 |
|---|---|
| `pubmed://article/{pmid}` | 以文本形式提供文章详情 |

**Prompts(预设提示模板)**

| 名称 | 说明 |
|---|---|
| `literature_review` | 引导 Agent 对指定主题进行结构化文献综述 |
| `article_summary` | 引导 Agent 总结指定文章 |

### 开发

```bash
pnpm install
pnpm build          # 构建库 + MCP 服务器
pnpm start:mcp      # 启动 MCP 服务器
pnpm type-check     # TypeScript 类型检查
pnpm test:run       # 运行全部测试
pnpm test:e2e        # E2E 测试(需要网络,访问真实 PubMed)
```

---

## English

An MCP server for PubMed literature retrieval, built on [Model Context Protocol](https://modelcontextprotocol.io/). Enables AI Agents to directly search and read PubMed academic literature.

No NCBI API Key required — scrapes the public PubMed web interface directly.

### Usage

Send this repository's Git URL to your Agent:

```
https://github.com/wjixiang/pubmed-mcp.git
```

The Agent will automatically clone, install dependencies, build, and launch the MCP server.

### MCP Configuration Example

After building, configure in Claude Desktop or other MCP clients:

```json
{
  "mcpServers": {
    "pubmed": {
      "command": "node",
      "args": ["/path/to/pubmed-mcp/dist/mcp/index.js"]
    }
  }
}
```

### Capabilities

**Tools (callable by Agent)**

| Tool | Description |
|---|---|
| `pubmed_search` | Search PubMed by keyword, with date range filters, publication type filters, sorting, and pagination |
| `pubmed_article_detail` | Fetch full article record by PMID — authors, abstract, MeSH terms, references, and more |

**Resources (readable data)**

| URI Template | Description |
|---|---|
| `pubmed://article/{pmid}` | Article details as plain text |

**Prompts (pre-built templates)**

| Name | Description |
|---|---|
| `literature_review` | Guide the Agent to conduct a structured literature review on a given topic |
| `article_summary` | Guide the Agent to summarize a specific article |

### Development

```bash
pnpm install
pnpm build          # Build library + MCP server
pnpm start:mcp      # Start MCP server
pnpm type-check     # TypeScript type checking
pnpm test:run       # Run all tests
pnpm test:e2e        # E2E tests (requires network, hits live PubMed)
```

---

## License

MIT

TDQS

A4.4/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have completely distinct purposes: one for searching by keyword and the other for fetching full details by PMID. There is no overlap or ambiguity.

Naming Consistency5/5

Both tools use the consistent 'pubmed_' prefix followed by descriptive action/noun pairs (pubmed_search, pubmed_article_detail), maintaining a clear and predictable pattern.

Tool Count4/5

With only 2 tools, the server covers the essential PubMed operations (search and detail retrieval). While more advanced features could be added, this minimal set is well-scoped for basic article lookup.

Completeness4/5

The server covers the core search and detail retrieval workflow for PubMed articles. It lacks some advanced features like author-specific queries or citation networks, but it meets the primary need of searching and viewing articles.

Maintenance

ActivityInactive
ResponsivenessNo issues