Skip to main content
Glama

Azure AHDS FHIR MCP Server

by erikhoward

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 and uv.

Install uv first.

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": "uvx", "args": [ "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": "uv", "args": [ "--directory", "/path/to/azure-fhir-mcp-server/repo", "run", "azure_fhir_mcp_server" ], "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.

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

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
        F
        license
        -
        quality
        A Model Context Protocol server that connects AI tools to Electronic Health Records using SMART on FHIR, allowing secure searching, querying, and analysis of patient data from compatible EHRs.
        Last updated -
        48
        TypeScript
      • -
        security
        A
        license
        -
        quality
        A server that implements the Model Context Protocol, providing a standardized way to connect AI models to different data sources and tools.
        Last updated -
        1
        7
        TypeScript
        MIT License
      • -
        security
        F
        license
        -
        quality
        A Model Context Protocol server that enables querying FHIR healthcare data using natural language, allowing doctors to retrieve patient information, medications, observations, and other healthcare records.
        Last updated -
        1
        Python
      • A
        security
        A
        license
        A
        quality
        A Model Context Protocol server that enables natural language commands to manage healthcare data stored in Medplum FHIR servers through standardized Create, Read, Update, and Search operations.
        Last updated -
        37
        8
        TypeScript
        MIT License

      View all related MCP servers

      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/erikhoward/azure-fhir-mcp-server'

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