Azure AHDS FHIR MCP Server

by erikhoward
MIT License
2
  • Apple
  • Linux

Integrations

  • Allows loading configuration from .env files for development environments, supporting variables like fhirUrl, clientId, clientSecret, and tenantId.

  • Enables contributions through GitHub's pull request workflow, with specific guidance on forking and submitting changes.

  • Supports development setup with Linux-specific virtual environment creation commands.

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.

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:

VariableDescriptionDefault
LOG_LEVELLogging levelINFO
fhirUrlAzure FHIR server URLRequired
clientIdOAuth2 client IDRequired
clientSecretOAuth2 client secretRequired
tenantIdAzure AD tenant IDRequired

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.

-
security - not tested
A
license - permissive license
-
quality - not tested

A Model Context Protocol server that enables standardized interaction with Azure Health Data Services FHIR servers, allowing healthcare data operations through MCP tools.

  1. Setup 🛠️
    1. Installation 📦
    2. MCP Configuration ⚙️
    3. Available Tools 🔧
  2. Development 💻
    1. Local Development Setup
  3. Contributions 🤝
    1. License ⚖️

      Related MCP Servers

      • -
        security
        A
        license
        -
        quality
        A minimal server/client application implementation utilizing the Model Context Protocol (MCP) and Azure OpenAI.
        Last updated -
        15
        Python
        MIT License
      • -
        security
        A
        license
        -
        quality
        A Model Context Protocol server that provides health data from the Senechal API to LLM applications, enabling AI assistants to access, analyze, and respond to personal health information.
        Last updated -
        Python
        GPL 3.0
        • Linux
        • Apple
      • -
        security
        A
        license
        -
        quality
        A TypeScript-based MCP server that connects to FHIR servers, allowing access to healthcare data via fhir:// URIs and providing search capabilities for FHIR resources.
        Last updated -
        20
        JavaScript
        MIT License
        • Apple
      • -
        security
        -
        license
        -
        quality
        A Model Context Protocol (MCP) server that interacts with system APIs, allowing users to check connections, search employees, register breakfast, and update chemical information by shifts.
        Last updated -
        2

      View all related MCP servers

      ID: k68g4j2akh