# fhirhydrant

Подключает ИИ-клиенты к FHIR API и даёт инструменты для поиска, чтения и ограниченной записи клинических данных.

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

## Что делает

fhirhydrant подключает MCP-клиенты к FHIR API версии R4 и выше. Сервер превращает работу с ресурсами, операциями, терминологией и страницами Bundle в инструменты для агента. Ресурсы настраиваются через JSON-файлы, а список доступных действий зависит от CapabilityStatement, SMART-областей и параметров сервера.

Сервер умеет искать и читать ресурсы, получать историю, вызывать именованные операции, фильтровать ответы через FHIRPath и ограничивать их размер. Запись включается отдельно через `FHIR_WRITE_CAPABILITIES`; доступны batch- и transaction-Bundle при дополнительной настройке. Для SMART Backend Services нужны регистрация клиента, закрытый ключ и публикация открытого ключа через JWKS. Для открытого тестового FHIR-сервера можно задать `FHIR_AUTH=none`.

Без Node.js версии `>= 24` сервер не запустится. Ответы MCP могут содержать PHI, поэтому настройки хранения транскриптов и журналов клиента должны соответствовать требованиям вашей среды.

## Требования
- Нужно: Node.js (команды через npx)
- Переменные окружения: `MCP_TRANSPORT`, `FHIR_AUTH`, `FHIR_SERVER_URL`, `FHIR_TOKEN_URL`, `FHIR_CLIENT_ID`, `FHIR_ACTIVE_KEY`, `FHIR_JWKS_URL`, `FHIR_VERSION` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

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

**Командой платформы**
```bash
claude mcp add --env MCP_TRANSPORT=<MCP_TRANSPORT> --env FHIR_AUTH=<FHIR_AUTH> --env FHIR_SERVER_URL=<FHIR_SERVER_URL> --env FHIR_TOKEN_URL=<FHIR_TOKEN_URL> --env FHIR_CLIENT_ID=<FHIR_CLIENT_ID> --transport stdio fhirhydrant -- npx -y fhirhydrant
```
Вместо <…> подставьте свои значения. Ещё 3 переменные окружения — в README сервера

### Codex

**Командой платформы**
```bash
codex mcp add fhirhydrant --env MCP_TRANSPORT=<MCP_TRANSPORT> --env FHIR_AUTH=<FHIR_AUTH> --env FHIR_SERVER_URL=<FHIR_SERVER_URL> --env FHIR_TOKEN_URL=<FHIR_TOKEN_URL> --env FHIR_CLIENT_ID=<FHIR_CLIENT_ID> -- npx -y fhirhydrant
```
Вместо <…> подставьте свои значения. Ещё 3 переменные окружения — в README сервера

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "fhirhydrant": {
            "command": "npx",
            "args": [
                "-y",
                "fhirhydrant"
            ],
            "env": {
                "MCP_TRANSPORT": "<MCP_TRANSPORT>",
                "FHIR_AUTH": "<FHIR_AUTH>",
                "FHIR_SERVER_URL": "<FHIR_SERVER_URL>",
                "FHIR_TOKEN_URL": "<FHIR_TOKEN_URL>",
                "FHIR_CLIENT_ID": "<FHIR_CLIENT_ID>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 3 переменные окружения — в README сервера

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "fhirhydrant": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "fhirhydrant"
            ],
            "env": {
                "MCP_TRANSPORT": "<MCP_TRANSPORT>",
                "FHIR_AUTH": "<FHIR_AUTH>",
                "FHIR_SERVER_URL": "<FHIR_SERVER_URL>",
                "FHIR_TOKEN_URL": "<FHIR_TOKEN_URL>",
                "FHIR_CLIENT_ID": "<FHIR_CLIENT_ID>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 3 переменные окружения — в README сервера

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add -e MCP_TRANSPORT=<MCP_TRANSPORT> -e FHIR_AUTH=<FHIR_AUTH> -e FHIR_SERVER_URL=<FHIR_SERVER_URL> -e FHIR_TOKEN_URL=<FHIR_TOKEN_URL> -e FHIR_CLIENT_ID=<FHIR_CLIENT_ID> fhirhydrant npx -y fhirhydrant
```
Вместо <…> подставьте свои значения. Ещё 3 переменные окружения — в README сервера

## Когда брать
- искать ресурсы FHIR по настроенным параметрам
- читать ресурс, его версию или историю изменений
- вызывать именованные клинические и терминологические операции
- сокращать ответы через FHIRPath и лимит размера
- проверять CapabilityStatement и доступные инструменты

## Примеры запросов агенту
- Найди нужные ресурсы FHIR и верни компактный ответ.
- Покажи историю изменений ресурса по его идентификатору.
- Проверь CapabilityStatement и объясни, какие операции доступны.

## Похожие
- [MCP Toolbox for Databases](https://affpapa.org/nevibecode/mcp/googleapis-mcp-toolbox-for-databases.md) — MCP-сервер · ★ 16717
- [PostHog MCP Server](https://affpapa.org/nevibecode/mcp/posthog-mcp-server.md) — MCP-сервер · ★ 40409
- [OpenWork MCP Gateway](https://affpapa.org/nevibecode/mcp/openwork-mcp-gateway.md) — MCP-сервер · ★ 24242
- [Keploy](https://affpapa.org/nevibecode/mcp/keploy.md) — MCP-сервер · ★ 18727
- [Nhost](https://affpapa.org/nevibecode/mcp/nhost.md) — MCP-сервер · ★ 9366
- [basebalance.cloud — x402 RPC & MCP gateway](https://affpapa.org/nevibecode/mcp/basebalancecloud-x402-rpc-mcp-gateway.md) — MCP-сервер · ★ 7506

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