{
  "markdown": "# fhir-mcp-suite\n\n> Three coherent MCP servers for clinical AI — FHIR R4, terminologies, and clinical reasoning.\n\n[![CI](https://github.com/pcmedsinge/fhir-mcp-suite/actions/workflows/ci.yml/badge.svg)](https://github.com/pcmedsinge/fhir-mcp-suite/actions/workflows/ci.yml)\n[![mcp-fhir PyPI](https://img.shields.io/pypi/v/mcp-fhir?label=mcp-fhir)](https://pypi.org/project/mcp-fhir/)\n[![mcp-terminology PyPI](https://img.shields.io/pypi/v/mcp-terminology?label=mcp-terminology)](https://pypi.org/project/mcp-terminology/)\n[![mcp-clinical-reasoner PyPI](https://img.shields.io/pypi/v/mcp-clinical-reasoner?label=mcp-clinical-reasoner)](https://pypi.org/project/mcp-clinical-reasoner/)\n[![MCP Registry](https://img.shields.io/badge/MCP%20Registry-listed-blue)](https://registry.modelcontextprotocol.io/?search=io.github.pcmedsinge)\n[![Glama](https://img.shields.io/badge/Glama-listed-orange)](https://glama.ai/mcp/servers/pcmedsinge/fhir-mcp-suite)\n[![License](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](LICENSE)\n[![Python](https://img.shields.io/badge/python-3.12+-blue.svg)](https://python.org)\n\n## What's in the suite\n\n| Server | Status | Install | What it does |\n|--------|--------|---------|-------------|\n| **mcp-fhir** | ✅ v1.1.1 on PyPI | `uvx mcp-fhir` | FHIR R4 read/search + **HAPI profile validation** |\n| **mcp-terminology** | ✅ v1.0 on PyPI | `uvx mcp-terminology` | Unified LOINC / SNOMED / RxNorm / ICD-10 lookup + ValueSet expansion |\n| **mcp-clinical-reasoner** | ✅ v1.0 on PyPI | `uvx mcp-clinical-reasoner` | Drug interactions (OpenFDA), dose check, allergy conflicts |\n\n## Why this suite is different\n\nEvery FHIR MCP server available today (June 2026) is a **read proxy** — they retrieve resources but\nnever tell you whether the resource is **valid**. `mcp-fhir` adds HAPI profile validation as a\nfirst-class MCP tool. Composing `fhir_read` → `validate_against_profile` in one Claude session\nenables clinical AI pipelines that are actually safe.\n\n**Three sharp differentiators:**\n1. **Profile validation built into `mcp-fhir`** — HAPI validator sidecar, US Core + IPS profiles supported out of the box\n2. **Composable suite** — three coherent servers sharing one install, one config convention, one eval harness\n3. **Production rigor** — latency benchmarks, golden-query eval suite, structured JSON logs, `/health` + LangFuse traces\n\n## Quick start — mcp-fhir\n\n```bash\n# 1-command install (requires Python 3.12+)\nuvx mcp-fhir\n\n# Validate a Patient against US Core\n# (requires HAPI validator sidecar — see docker-compose.yml)\nuvx mcp-fhir --transport sse  # or set MCP_TRANSPORT=sse\n```\n\n### Claude Desktop\n\nAdd to `~/Library/Application Support/Claude/claude_desktop_config.json`  \n(Windows: `%APPDATA%\\Claude\\claude_desktop_config.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"fhir\": {\n      \"command\": \"uvx\",\n      \"args\": [\"mcp-fhir\"],\n      \"env\": {\n        \"FHIR_BASE_URL\": \"https://hapi.fhir.org/baseR4\"\n      }\n    },\n    \"terminology\": {\n      \"command\": \"uvx\",\n      \"args\": [\"mcp-terminology\"]\n    },\n    \"clinical-reasoner\": {\n      \"command\": \"uvx\",\n      \"args\": [\"mcp-clinical-reasoner\"]\n    }\n  }\n}\n```\n\n## Local dev stack\n\n```bash\n# Start HAPI FHIR + validator + Postgres\ndocker compose up hapi-fhir hapi-validator postgres\n\n# Install workspace\nuv sync\n\n# Run unit tests\nuv run pytest -m \"not integration and not eval\"\n\n# Run mcp-fhir locally (stdio, points at local HAPI)\nFHIR_BASE_URL=http://localhost:8081/fhir \\\nHAPI_VALIDATOR_URL=http://localhost:8082 \\\n  uv run mcp-fhir\n```\n\n## Repo layout\n\n```\nfhir-mcp-suite/\n├── packages/\n│   ├── mcp-fhir/              # PyPI: mcp-fhir          ✅ v1.1\n│   ├── mcp-terminology/       # PyPI: mcp-terminology   ✅ v1.0\n│   └── mcp-clinical-reasoner/ # PyPI: mcp-clinical-reasoner ✅ v1.0\n├── shared/                    # structlog, LangFuse, base Pydantic models, eval harness\n├── evals/                     # golden query sets per server\n├── docs/                      # MkDocs Material site\n├── .github/workflows/         # ci.yml (matrix) + release.yml (per-package PyPI on tag)\n├── docker-compose.yml         # all 3 + HAPI validator + Postgres\n├── pyproject.toml             # uv workspace root\n└── mkdocs.yml\n```\n\n## Releases\n\n| Package | Version | Released |\n|---------|---------|----------|\n| `mcp-fhir` | v1.1 | June 2026 |\n| `mcp-terminology` | v1.0 | June 2026 |\n| `mcp-clinical-reasoner` | v1.0 | June 2026 |\n\n## Contributing\n\nSee [CONTRIBUTING.md](docs/docs/dev/contributing.md).\nApache-2.0 licensed — PRs welcome.\n",
  "bytes": 4516,
  "sha": "0fc80e9f71c08dd71f6686a5b9eb925d6849db9c9708c68bb11b2d72c3df12d0",
  "repo_slug": "pcmedsinge/fhir-mcp-suite",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_pcmedsinge_mcp_terminology_df4eb2a2/readme"
}