Skip to main content
Glama
jcafazzo

FHIR MCP Server

by jcafazzo

FHIR MCP Server

A comprehensive Model Context Protocol (MCP) server that provides FHIR (Fast Healthcare Interoperability Resources) functionality with advanced data quality assessment and error handling capabilities.

๐ŸŽฏ Overview

This MCP server bridges the gap between AI applications and FHIR healthcare data systems, providing robust tools for accessing patient information, clinical data, and assessing data quality across different FHIR servers. Perfect for healthcare AI development, clinical research, and testing FHIR implementations.

โœจ Key Features

๐Ÿฅ Comprehensive FHIR Resource Access

  • Patient Management: Search, retrieve, and analyze patient demographics

  • Clinical Data: Access observations, conditions, medications, diagnostic reports

  • Care Coordination: Retrieve care plans and treatment information

  • Server Capabilities: Query FHIR server metadata and supported features

๐Ÿ” Advanced Data Quality Assessment

  • Quality Scoring: 0-100 data quality scores for FHIR servers

  • Integrity Checks: Detect orphaned references and disconnected data

  • Validation: Comprehensive FHIR response validation

  • Issue Detection: Identify data consistency problems automatically

๐Ÿ›ก๏ธ Enhanced Error Handling

  • HTTP Status Handling: Proper 404, 401, 403, timeout responses

  • FHIR OperationOutcome: Standards-compliant error reporting

  • Detailed Logging: Request/response debugging information

  • Graceful Degradation: Continues operation despite server issues

๐Ÿงฐ Developer-Friendly Tools

  • Async Architecture: High-performance async/await implementation

  • Pagination Support: Handle large datasets efficiently

  • Flexible Configuration: Environment-based server configuration

  • MCP Integration: Seamless Claude Desktop integration

๐Ÿš€ Quick Start

Prerequisites

  • Python 3.11 or newer

  • Claude Desktop (for MCP integration)

Installation

  1. Clone the repository

    git clone https://github.com/jcafazzo/fhir-mcp.git
    cd fhir-mcp
  2. Install dependencies

    pip install -r requirements.txt
  3. Configure Claude Desktop

    Add to your claude_desktop_config.json:

    {
      "mcpServers": {
        "fhir-server": {
          "command": "python3",
          "args": ["/path/to/fhir-mcp/fhir_mcp_server.py"],
          "env": {
            "FHIR_BASE_URL": "https://r4.smarthealthit.org"
          }
        }
      }
    }
  4. Restart Claude Desktop

๐Ÿ”ง Configuration

Environment Variables

Variable

Description

Default

FHIR_BASE_URL

FHIR server endpoint

https://hapi.fhir.org/baseR4

FHIR_AUTH_TOKEN

Bearer token for authentication

None

Server

URL

Quality

Use Case

SMART Health IT

https://r4.smarthealthit.org

โญโญโญโญโญ

Production testing

Firely Server

https://server.fire.ly

โญโญโญโญ

Development

HAPI Test

https://hapi.fhir.org/baseR4

โญโญ

Basic testing

๐Ÿ› ๏ธ Available Tools

Core Patient Tools

  • get_patient - Retrieve specific patient by ID

  • search_patients - Search patients by name/family

  • search_all_patients - Get all patients (paginated)

Clinical Data Tools

  • search_observations - Find lab results, vital signs, measurements

  • search_conditions - Access diagnoses and medical conditions

  • search_medication_requests - Retrieve prescriptions and medications

  • search_diagnostic_reports - Get lab reports and diagnostic studies

  • search_care_plans - Access treatment and care plans

Quality & Diagnostics

  • assess_data_quality - Comprehensive server quality assessment

  • find_patients_with_conditions - Identify patients with clinical data

  • get_capability_statement - Query server capabilities

๐Ÿ“Š Usage Examples

"Search for patients named 'Smith' and show their demographics"

Diabetes Management Workflow

"Find all patients with diabetes conditions, then show their:
- Current medications
- Recent glucose observations  
- Active care plans
- Latest diagnostic reports"

Data Quality Assessment

"Assess the data quality of this FHIR server and identify any issues"

Research Query

"Find patients with conditions containing 'diabetes' and analyze their 
medication patterns over time"

๐Ÿฅ Healthcare Use Cases

Clinical Research

  • Population Studies: Analyze patient cohorts across multiple conditions

  • Treatment Outcomes: Track medication effectiveness and care plan adherence

  • Data Quality: Validate FHIR implementations before production use

AI Development

  • Training Data: Access clean, validated healthcare datasets

  • Model Testing: Evaluate AI models against real clinical scenarios

  • Integration Testing: Verify FHIR API compatibility

Quality Assurance

  • Server Validation: Assess FHIR server implementations

  • Data Integrity: Identify orphaned records and missing references

  • Compliance Testing: Verify standards adherence

๐Ÿ”’ Security & Privacy

  • No PHI Storage: Server operates read-only, no data retention

  • Configurable Auth: Support for Bearer token authentication

  • Audit Logging: Comprehensive request/response logging

  • Error Handling: Secure error responses without data leakage

๐Ÿงช Testing

Test Server Quality

# Test different FHIR servers
python3 fhir_mcp_server.py

Use the assess_data_quality tool to evaluate:

  • Data completeness (0-100 score)

  • Reference integrity

  • Resource availability

  • Error rates

Synthetic Data Testing

Works excellently with:

  • Synthea: Realistic synthetic patient data

  • MIMIC-IV FHIR: Real anonymized hospital data

  • Custom datasets: Load your own test data

๐Ÿค Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

Development Setup

# Clone and setup development environment
git clone https://github.com/jcafazzo/fhir-mcp.git
cd fhir-mcp
pip install -r requirements.txt
python3 fhir_mcp_server.py  # Test locally

Roadmap

  • Bulk FHIR operations support

  • Temporal data analysis tools

  • Enhanced MIMIC-IV integration

  • Performance optimization

  • Additional FHIR resource types

๐Ÿ“š Documentation

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ™ Acknowledgments

  • HL7 FHIR Community for the FHIR specification

  • Anthropic for the Model Context Protocol

  • SMART Health IT for excellent test servers

  • Synthea Project for realistic synthetic data

๐Ÿ“ž Support


Built with โค๏ธ for the healthcare AI community

F
license - not found
-
quality - not tested
D
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jcafazzo/fhir-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server