io.github.pcmedsinge/mcp-fhir

Official registry Health

FHIR R4 read/search/validate MCP server — US Core/IPS profiles, SMART-on-FHIR auth (Epic/Cerner).

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

PYPI package mcp-fhir
Claude Code
claude mcp add mcp-fhir -e 'FHIR_BASE_URL=<FHIR_BASE_URL>' -e 'SMART_ENABLED=<SMART_ENABLED>' -- uvx mcp-fhir==1.1.1
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "mcp-fhir": {
            "command": "uvx",
            "args": [
                "mcp-fhir==1.1.1"
            ],
            "env": {
                "FHIR_BASE_URL": "<FHIR_BASE_URL>",
                "SMART_ENABLED": "<SMART_ENABLED>"
            }
        }
    }
}

Environment variables

  • FHIR_BASE_URL Base URL of the FHIR R4 server (default: https://hapi.fhir.org/baseR4)
  • SMART_ENABLED Set to 'true' to enable SMART-on-FHIR OAuth 2.0 (Epic/Cerner)

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. fhir-mcp-suite
  2. What's in the suite
  3. Why this suite is different
  4. Quick start — mcp-fhir
  5. Local dev stack
  6. Repo layout
  7. Releases
  8. Contributing

fhir-mcp-suite

Three coherent MCP servers for clinical AI — FHIR R4, terminologies, and clinical reasoning.

What's in the suite

ServerStatusInstallWhat it does
mcp-fhir✅ v1.1.1 on PyPIuvx mcp-fhirFHIR R4 read/search + HAPI profile validation
mcp-terminology✅ v1.0 on PyPIuvx mcp-terminologyUnified LOINC / SNOMED / RxNorm / ICD-10 lookup + ValueSet expansion
mcp-clinical-reasoner✅ v1.0 on PyPIuvx mcp-clinical-reasonerDrug interactions (OpenFDA), dose check, allergy conflicts

Why this suite is different

Every FHIR MCP server available today (June 2026) is a read proxy — they retrieve resources but never tell you whether the resource is valid. mcp-fhir adds HAPI profile validation as a first-class MCP tool. Composing fhir_read → validate_against_profile in one Claude session enables clinical AI pipelines that are actually safe.

Three sharp differentiators:

  1. Profile validation built into mcp-fhir — HAPI validator sidecar, US Core + IPS profiles supported out of the box
  2. Composable suite — three coherent servers sharing one install, one config convention, one eval harness
  3. Production rigor — latency benchmarks, golden-query eval suite, structured JSON logs, /health + LangFuse traces

Quick start — mcp-fhir

# 1-command install (requires Python 3.12+)
uvx mcp-fhir

# Validate a Patient against US Core
# (requires HAPI validator sidecar — see docker-compose.yml)
uvx mcp-fhir --transport sse  # or set MCP_TRANSPORT=sse
Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json
(Windows: %APPDATA%\Claude\claude_desktop_config.json):

{
  "mcpServers": {
    "fhir": {
      "command": "uvx",
      "args": ["mcp-fhir"],
      "env": {
        "FHIR_BASE_URL": "https://hapi.fhir.org/baseR4"
      }
    },
    "terminology": {
      "command": "uvx",
      "args": ["mcp-terminology"]
    },
    "clinical-reasoner": {
      "command": "uvx",
      "args": ["mcp-clinical-reasoner"]
    }
  }
}

Local dev stack

# Start HAPI FHIR + validator + Postgres
docker compose up hapi-fhir hapi-validator postgres

# Install workspace
uv sync

# Run unit tests
uv run pytest -m "not integration and not eval"

# Run mcp-fhir locally (stdio, points at local HAPI)
FHIR_BASE_URL=http://localhost:8081/fhir \
HAPI_VALIDATOR_URL=http://localhost:8082 \
  uv run mcp-fhir

Repo layout

fhir-mcp-suite/
├── packages/
│   ├── mcp-fhir/              # PyPI: mcp-fhir          ✅ v1.1
│   ├── mcp-terminology/       # PyPI: mcp-terminology   ✅ v1.0
│   └── mcp-clinical-reasoner/ # PyPI: mcp-clinical-reasoner ✅ v1.0
├── shared/                    # structlog, LangFuse, base Pydantic models, eval harness
├── evals/                     # golden query sets per server
├── docs/                      # MkDocs Material site
├── .github/workflows/         # ci.yml (matrix) + release.yml (per-package PyPI on tag)
├── docker-compose.yml         # all 3 + HAPI validator + Postgres
├── pyproject.toml             # uv workspace root
└── mkdocs.yml

Releases

PackageVersionReleased
mcp-fhirv1.1June 2026
mcp-terminologyv1.0June 2026
mcp-clinical-reasonerv1.0June 2026

Contributing

See CONTRIBUTING.md. Apache-2.0 licensed — PRs welcome.

Frequently asked questions

What is io.github.pcmedsinge/mcp-fhir?

FHIR R4 read/search/validate MCP server — US Core/IPS profiles, SMART-on-FHIR auth (Epic/Cerner).

How do I install io.github.pcmedsinge/mcp-fhir?

It runs on your machine. In Claude Code: claude mcp add mcp-fhir -e 'FHIR_BASE_URL=<FHIR_BASE_URL>' -e 'SMART_ENABLED=<SMART_ENABLED>' -- uvx mcp-fhir==1.1.1. For other clients, paste the JSON configuration from this page into their MCP settings.

Does io.github.pcmedsinge/mcp-fhir need an API key?

Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.

Is io.github.pcmedsinge/mcp-fhir open source?

Its code is public on GitHub, but the repository does not declare a standard license.

Who maintains io.github.pcmedsinge/mcp-fhir?

It is published by pcmedsinge. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.