Fire in da houseTop Tip:Paying $100+ per month for Perplexity, MidJourney, Runway, ChatGPT and other tools is crazy - get all your AI tools in one site starting at $15 per month with Galaxy AI Fire in da houseCheck it out free

azure-fhir-mcp-server

MCP.Pizza Chef: erikhoward

The azure-fhir-mcp-server is an MCP server implementation designed to interface with Azure Health Data Services FHIR. It provides a standardized, protocol-compliant way to access and manipulate healthcare data stored in Azure FHIR servers, enabling seamless integration with MCP clients and tools for healthcare workflows. It supports Python 3.13+ and simplifies healthcare data interoperability using the Model Context Protocol.

Use This MCP server To

Access and query patient records from Azure FHIR servers Integrate healthcare data into AI workflows via MCP clients Standardize healthcare data retrieval for clinical decision support Enable real-time healthcare data updates through MCP tools Facilitate interoperability between Azure FHIR and AI models Automate extraction of structured healthcare data for analysis Support secure, protocol-based healthcare data operations Bridge Azure Health Data Services with LLM-powered applications

README

Azure AHDS FHIR MCP Server šŸš€

A Model Context Protocol (MCP) server implementation for Azure Health Data Services FHIR (Fast Healthcare Interoperability Resources). This service provides a standardized interface for interacting with Azure FHIR servers, enabling healthcare data operations through MCP tools.

License Python Version MCP

Setup šŸ› ļø

Installation šŸ“¦

Requires Python 3.13 or higher.

Install the package using pip:

pip install azure-fhir-mcp-server

MCP Configuration āš™ļø

Claude Desktop Configuration

1 - Edit Claude Desktop Configuration:

Open claude_desktop_config.json and add the following configuration.

On MacOs, the file is located here: ~/Library/Application Support/Claude Desktop/claude_desktop_config.json.

On Windows, the file is located here: %APPDATA%\Claude Desktop\claude_desktop_config.json.

{
    "mcpServers": {
        "fhir": {
            "command": "azure-fhir-mcp-server",
            "env": {
                "LOG_LEVEL": "INFO",
                "fhirUrl": "https://your-fhir-server.azurehealthcareapis.com/fhir",
                "clientId": "your-client-id",
                "clientSecret": "your-client-secret",
                "tenantId": "your-tenant-id"
            }
        }
    }
}

The following is a table of available environment configuration variables:

Variable Description Default
LOG_LEVEL Logging level INFO
fhirUrl Azure FHIR server URL Required
clientId OAuth2 client ID Required
clientSecret OAuth2 client secret Required
tenantId Azure AD tenant ID Required

2 - Restart Claude Desktop.

Available Tools šŸ”§

FHIR Resource Operations
  • search_fhir - Search for FHIR resources based on a dictionary of search parameters
Resource Access

The server provides access to all standard FHIR resources through the MCP resource protocol:

  • fhir://Patient/ - Access all Patient resources
  • fhir://Patient/{id} - Access a specific Patient resource
  • fhir://Observation/ - Access all Observation resources
  • fhir://Observation/{id} - Access a specific Observation resource
  • fhir://Medication/ - Access all Medication resources
  • fhir://Medication/{id} - Access a specific Medication resource
  • And many more...

Development šŸ’»

Local Development Setup

1 - Clone the repository:

git clone https://github.com/erikhoward/azure-fhir-mcp-server.git
cd azure-fhir-mcp-server

2 - Create and activate virtual environment:

Linux/macOS:

python -m venv .venv
source .venv/bin/activate

Windows:

python -m venv .venv
.venv\Scripts\activate

3 - Install dependencies:

pip install -e ".[dev]"

4 - Copy and configure environment variables:

cp .env.example .env

Edit .env with your settings:

fhirUrl=https://your-fhir-server.azurehealthcareapis.com/fhir
clientId=your-client-id
clientSecret=your-client-secret
tenantId=your-tenant-id

5 - Claude Desktop Configuration

Open claude_desktop_config.json and add the following configuration.

On MacOs, the file is located here: ~/Library/Application Support/Claude Desktop/claude_desktop_config.json.

On Windows, the file is located here: %APPDATA%\Claude Desktop\claude_desktop_config.json.

{
    "mcpServers": {
        "fhir": {
            "command": "python",
            "args": [
                "-m",
                "fhir_mcp_server.server"
            ],
            "cwd": "/path/to/azure-fhir-mcp-server/repo",
            "env": {
                "LOG_LEVEL": "DEBUG",
                "fhirUrl": "https://your-fhir-server.azurehealthcareapis.com/fhir",
                "clientId": "your-client-id",
                "clientSecret": "your-client-secret",
                "tenantId": "your-tenant-id"
            }
        }
    }
}

6 - Restart Claude Desktop.

Contributions šŸ¤

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m '✨ Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License āš–ļø

Licensed under MIT - see LICENSE.md file.

This is not an official Microsoft or Azure product.

azure-fhir-mcp-server FAQ

How do I install the azure-fhir-mcp-server?
Install it using pip with Python 3.13 or higher: pip install azure-fhir-mcp-server.
What Python version is required for azure-fhir-mcp-server?
It requires Python 3.13 or higher to run properly.
How do I configure azure-fhir-mcp-server with MCP clients like Claude Desktop?
You add the server configuration to the client's config file, such as claude_desktop_config.json, to enable communication.
Is azure-fhir-mcp-server compatible with other MCP clients besides Claude?
Yes, it follows the MCP standard and can work with any MCP-compatible client like GPT-4 or Gemini.
What healthcare data standards does azure-fhir-mcp-server support?
It supports the FHIR (Fast Healthcare Interoperability Resources) standard used by Azure Health Data Services.
Can azure-fhir-mcp-server handle real-time healthcare data updates?
Yes, it supports real-time data operations through the MCP protocol.
Is the azure-fhir-mcp-server open source?
Yes, it is open source under the MIT license.
What benefits does using MCP with Azure FHIR provide?
It enables standardized, secure, and scalable access to healthcare data for AI and automation workflows.