# pubmed-mcp-server

Ищет научные публикации в PubMed и Europe PMC, получает метаданные и доступный полный текст. Пригодится для подбора литературы и оформления ссылок прямо через агента.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 162
- Автор: cyanheads
- Лицензия: Apache-2.0 · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/cyanheads/pubmed-mcp-server
- Обновлён: 2026-10-23
- HTML: https://affpapa.org/nevibecode/mcp/pubmed-mcp-server

## Что делает

Сервер даёт агенту инструменты для поиска статей, получения аннотаций и метаданных, поиска связанных публикаций и преобразования идентификаторов DOI, PMID и PMCID. Он также умеет находить термины MeSH, исправлять запросы и оформлять ссылки в APA, MLA, BibTeX, RIS или Vancouver.

Полный текст запрашивается по DOI, PMID или PMCID: сервер последовательно проверяет PMC, Europe PMC и Unpaywall. Для обращения к Unpaywall нужна переменная `UNPAYWALL_EMAIL`. Результат может содержать разделы, таблицы и рисунки; объём ответа можно ограничивать.

В Claude Code сервер можно подключить через размещённый HTTP-адрес или запустить локально через `npx`. Для локального запуска настройки передаются через переменные окружения; если нужен полный текст из Unpaywall, без адреса электронной почты в `UNPAYWALL_EMAIL` этот источник не сработает.

## Требования
- Нужно: Node.js (команды через npx)
- Удалённый сервер: `https://pubmed.caseyjhand.com/mcp`
- Переменные окружения: `MCP_LOG_LEVEL`, `NCBI_API_KEY`, `NCBI_ADMIN_EMAIL`, `UNPAYWALL_EMAIL`, `MCP_TRANSPORT_TYPE`, `MCP_HTTP_HOST`, `MCP_HTTP_PORT`, `MCP_HTTP_ENDPOINT_PATH`, `MCP_PUBLIC_URL`, `MCP_AUTH_MODE` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

### Claude Code (родная платформа)

1. **Командой платформы: удалённый сервер**
```bash
claude mcp add --transport http pubmed-mcp-server https://pubmed.caseyjhand.com/mcp
```

2. **Командой платформы**
```bash
claude mcp add --env MCP_LOG_LEVEL=<MCP_LOG_LEVEL> --env NCBI_API_KEY=<NCBI_API_KEY> --env NCBI_ADMIN_EMAIL=<NCBI_ADMIN_EMAIL> --env UNPAYWALL_EMAIL=<UNPAYWALL_EMAIL> --env MCP_TRANSPORT_TYPE=<MCP_TRANSPORT_TYPE> --transport stdio pubmed-mcp-server -- npx -y @cyanheads/pubmed-mcp-server
```
Вместо <…> подставьте свои значения. Ещё 5 переменных окружения — в README сервера

### Codex

1. **Командой платформы: удалённый сервер**
```bash
codex mcp add pubmed-mcp-server --url https://pubmed.caseyjhand.com/mcp
```

2. **Командой платформы**
```bash
codex mcp add pubmed-mcp-server --env MCP_LOG_LEVEL=<MCP_LOG_LEVEL> --env NCBI_API_KEY=<NCBI_API_KEY> --env NCBI_ADMIN_EMAIL=<NCBI_ADMIN_EMAIL> --env UNPAYWALL_EMAIL=<UNPAYWALL_EMAIL> --env MCP_TRANSPORT_TYPE=<MCP_TRANSPORT_TYPE> -- npx -y @cyanheads/pubmed-mcp-server
```
Вместо <…> подставьте свои значения. Ещё 5 переменных окружения — в README сервера

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "pubmed-mcp-server": {
            "url": "https://pubmed.caseyjhand.com/mcp"
        }
    }
}
```
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "pubmed-mcp-server": {
            "command": "npx",
            "args": [
                "-y",
                "@cyanheads/pubmed-mcp-server"
            ],
            "env": {
                "MCP_LOG_LEVEL": "<MCP_LOG_LEVEL>",
                "NCBI_API_KEY": "<NCBI_API_KEY>",
                "NCBI_ADMIN_EMAIL": "<NCBI_ADMIN_EMAIL>",
                "UNPAYWALL_EMAIL": "<UNPAYWALL_EMAIL>",
                "MCP_TRANSPORT_TYPE": "<MCP_TRANSPORT_TYPE>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 5 переменных окружения — в README сервера

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "pubmed-mcp-server": {
            "type": "http",
            "url": "https://pubmed.caseyjhand.com/mcp"
        }
    }
}
```
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "pubmed-mcp-server": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@cyanheads/pubmed-mcp-server"
            ],
            "env": {
                "MCP_LOG_LEVEL": "<MCP_LOG_LEVEL>",
                "NCBI_API_KEY": "<NCBI_API_KEY>",
                "NCBI_ADMIN_EMAIL": "<NCBI_ADMIN_EMAIL>",
                "UNPAYWALL_EMAIL": "<UNPAYWALL_EMAIL>",
                "MCP_TRANSPORT_TYPE": "<MCP_TRANSPORT_TYPE>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 5 переменных окружения — в README сервера

### Gemini CLI

1. **Командой платформы: удалённый сервер**
```bash
gemini mcp add -t http pubmed-mcp-server https://pubmed.caseyjhand.com/mcp
```

2. **Командой платформы**
```bash
gemini mcp add -e MCP_LOG_LEVEL=<MCP_LOG_LEVEL> -e NCBI_API_KEY=<NCBI_API_KEY> -e NCBI_ADMIN_EMAIL=<NCBI_ADMIN_EMAIL> -e UNPAYWALL_EMAIL=<UNPAYWALL_EMAIL> -e MCP_TRANSPORT_TYPE=<MCP_TRANSPORT_TYPE> pubmed-mcp-server npx -y @cyanheads/pubmed-mcp-server
```
Вместо <…> подставьте свои значения. Ещё 5 переменных окружения — в README сервера

## Когда брать
- найти статьи PubMed по запросу и фильтрам
- получить аннотацию и метаданные по PMID
- найти полный текст по DOI или PMCID
- оформить публикации в BibTeX или Vancouver
- преобразовать DOI в PMID или PMCID

## Примеры запросов агенту
- Найди в PubMed исследования по заданной теме и отфильтруй результаты по дате публикации.
- Получи аннотацию, авторов и термины MeSH для PMID 12345678.
- Оформи эти статьи в BibTeX и проверь, есть ли для них полный текст.

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
