An MCP server implementation for interacting with Azure Health Data Services FHIR.
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.
Requires Python 3.13 or higher and uv
.
Install uv first.
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:
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.
search_fhir
- Search for FHIR resources based on a dictionary of search parametersThe server provides access to all standard FHIR resources through the MCP resource protocol:
fhir://Patient/
- Access all Patient resourcesfhir://Patient/{id}
- Access a specific Patient resourcefhir://Observation/
- Access all Observation resourcesfhir://Observation/{id}
- Access a specific Observation resourcefhir://Medication/
- Access all Medication resourcesfhir://Medication/{id}
- Access a specific Medication resource1 - 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 are welcome! Please feel free to submit a Pull Request.
git checkout -b feature/AmazingFeature
)git commit -m '✨ Add some AmazingFeature'
)git push origin feature/AmazingFeature
)Licensed under MIT - see LICENSE.md file.
This is not an official Microsoft or Azure product.
Interact with the Domino Data Lab platform to execute and check the status of Domino jobs.
A remote MCP server deployable on Cloudflare Workers without authentication.
Official Hostinger API MCP server for services managment.
Interact with Freshservice modules for IT service management operations.
Interact with Shopify store data such as products, customers, and orders using the GraphQL API.
Access weather station data, observations, and forecasts using the WeatherXM PRO API.
An MCP service for deploying HTML content to EdgeOne Pages and obtaining a publicly accessible URL.
Manage Google Cloud Platform (GCP) infrastructure using Terragrunt, with support for experimental features like AutoDevOps and cost management.
Invoke task chains on the iFlytek SparkAgent Platform.
Interact with BNB Chain and other EVM-compatible networks using natural language and AI assistance.