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 Desktopclaude_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 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 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
.venvScriptsactivate
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 Desktopclaude_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.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m '✨ Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
License ⚖️
Licensed under MIT - see LICENSE.md file.
This is not an official Microsoft or Azure product.
Azure AHDS FHIR Server
Project Details
- erikhoward/azure-fhir-mcp-server
- MIT License
- Last Updated: 5/14/2025
Recomended MCP Servers
Generate mocker services automatically through Swagger or OpenAPI.
A macOS app that provides an MCP server to your Messages, Contacts, Reminders and more
A comprehensive stdio MCP server for DataForSEO API
A connector for Claude Desktop to read and search an Obsidian vault.
Python Execution Tool
An Anthropic MCP server (with OpenAI Function calling compatibility) for the Coingecko Pro API
An LLM-powered, autonomous coding assistant. Also offers an MCP mode.





