# PyEuropePMC

Сервер открывает доступ к статьям из Europe PMC и сторонних баз. Помогает находить биомедицинскую литературу, забирать полные тексты и разбирать разметку JATS XML.

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

## Что делает

Сервер связывает ИИ-агента с каталогом Europe PMC и десятком внешних архивов вроде PubMed и arXiv. Инструмент выполняет поиск публикаций, объединяет дубликаты и выгружает полнотекстовые документы в форматах PDF или XML.

Встроенный парсер преобразует JATS XML в чистый текст, таблицы и секции для RAG. Кроме чтения статей доступны извлечение аннотаций генов и построение графов цитирования.

Для базовых запросов и загрузки текстов регистрация не требуется. Однако для поиска по Semantic Scholar и работы встроенных LLM-инструментов нужно передать ключи в переменных окружения.

## Требования
- Нужно: Python и uv (команды через uvx)
- Переменные окружения: `PYEUROPEPMC_MCP_LOG_LEVEL`, `SEMANTIC_SCHOLAR_API_KEY`, `OPENAI_API_KEY`, `OPENAI_BASE_URL`, `OPENAI_MODEL`, `UNPAYWALL_EMAIL` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

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

**Командой платформы**
```bash
claude mcp add --env PYEUROPEPMC_MCP_LOG_LEVEL=<PYEUROPEPMC_MCP_LOG_LEVEL> --env SEMANTIC_SCHOLAR_API_KEY=<SEMANTIC_SCHOLAR_API_KEY> --env OPENAI_API_KEY=<OPENAI_API_KEY> --env OPENAI_BASE_URL=<OPENAI_BASE_URL> --env OPENAI_MODEL=<OPENAI_MODEL> --transport stdio pyeuropepmc -- uvx pyeuropepmc
```
Вместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from pyeuropepmc <команда>

### Codex

**Командой платформы**
```bash
codex mcp add pyeuropepmc --env PYEUROPEPMC_MCP_LOG_LEVEL=<PYEUROPEPMC_MCP_LOG_LEVEL> --env SEMANTIC_SCHOLAR_API_KEY=<SEMANTIC_SCHOLAR_API_KEY> --env OPENAI_API_KEY=<OPENAI_API_KEY> --env OPENAI_BASE_URL=<OPENAI_BASE_URL> --env OPENAI_MODEL=<OPENAI_MODEL> -- uvx pyeuropepmc
```
Вместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from pyeuropepmc <команда>

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "pyeuropepmc": {
            "command": "uvx",
            "args": [
                "pyeuropepmc"
            ],
            "env": {
                "PYEUROPEPMC_MCP_LOG_LEVEL": "<PYEUROPEPMC_MCP_LOG_LEVEL>",
                "SEMANTIC_SCHOLAR_API_KEY": "<SEMANTIC_SCHOLAR_API_KEY>",
                "OPENAI_API_KEY": "<OPENAI_API_KEY>",
                "OPENAI_BASE_URL": "<OPENAI_BASE_URL>",
                "OPENAI_MODEL": "<OPENAI_MODEL>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from pyeuropepmc <команда>

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "pyeuropepmc": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "pyeuropepmc"
            ],
            "env": {
                "PYEUROPEPMC_MCP_LOG_LEVEL": "<PYEUROPEPMC_MCP_LOG_LEVEL>",
                "SEMANTIC_SCHOLAR_API_KEY": "<SEMANTIC_SCHOLAR_API_KEY>",
                "OPENAI_API_KEY": "<OPENAI_API_KEY>",
                "OPENAI_BASE_URL": "<OPENAI_BASE_URL>",
                "OPENAI_MODEL": "<OPENAI_MODEL>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from pyeuropepmc <команда>

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add -e PYEUROPEPMC_MCP_LOG_LEVEL=<PYEUROPEPMC_MCP_LOG_LEVEL> -e SEMANTIC_SCHOLAR_API_KEY=<SEMANTIC_SCHOLAR_API_KEY> -e OPENAI_API_KEY=<OPENAI_API_KEY> -e OPENAI_BASE_URL=<OPENAI_BASE_URL> -e OPENAI_MODEL=<OPENAI_MODEL> pyeuropepmc uvx pyeuropepmc
```
Вместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from pyeuropepmc <команда>

## Когда брать
- найти научные статьи по биомедицине сразу в нескольких базах
- скачать открытый полнотекстовый JATS XML или PDF публикации
- распарсить структуру статьи на секции для базы знаний RAG
- собрать метаданные и граф цитирований для обзора литературы

## Примеры запросов агенту
- Найди в Europe PMC свежие статьи по теме CRISPR Cas9 с открытым доступом.
- Скачай JATS XML для публикации с PMCID PMC1234567 и преобразуй текст в Markdown.
- Собери список цитирований для этой научной статьи и найди дубликаты.

## Похожие
- [Zotero MCP](https://affpapa.org/nevibecode/mcp/zotero-mcp.md) — MCP-сервер · ★ 5585
- [arxiv-mcp-server](https://affpapa.org/nevibecode/mcp/arxiv-mcp-server.md) — MCP-сервер · ★ 3235
- [PaperBanana](https://affpapa.org/nevibecode/mcp/paperbanana.md) — MCP-сервер · ★ 2418
- [MATLAB MCP Server](https://affpapa.org/nevibecode/mcp/matlab-mcp-server.md) — MCP-сервер · ★ 1723
- [Hex Research](https://affpapa.org/nevibecode/mcp/hex-research.md) — MCP-сервер · ★ 584

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

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