Serveur MCP Azure AHDS FHIR 🚀
Mise en œuvre d'un serveur de protocole de contexte de modèle (MCP) pour les services de données de santé Azure FHIR (ressources d'interopérabilité rapide pour les soins de santé). Ce service fournit une interface standardisée pour interagir avec les serveurs Azure FHIR, permettant des opérations sur les données de santé par le biais d'outils MCP.
Installation 🛠️
Installation 📦
Nécessite Python 3.13 ou plus et uv
.
Installer uv en premier.
Configuration MCP ⚙️
Configuration du bureau de Claude
1 - Editer la configuration du bureau Claude :
Ouvrez claude_desktop_config.json
et ajoutez la configuration suivante.
Sur MacOs, le fichier est situé ici : ~/Bibliothèque/Application Support/Claude Desktop/claude_desktop_config.json
.
Sous Windows, le fichier est situé ici : %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" } } } }
Voici un tableau des variables de configuration de l'environnement disponibles :
Variable | Variable Description | Valeur par défaut |
---|---|---|
LOG_LEVEL | Niveau de journalisation | INFO |
fhirUrl | URL du serveur Azure FHIR | Obligatoire |
clientId | ID du client OAuth2 | Obligatoire |
clientSecret | Secret du client OAuth2 | Obligatoire |
tenantId | ID du locataire Azure AD | Requis |
2 - Redémarrer Claude Desktop.
Outils disponibles 🔧
Opérations sur les ressources FHIR
search_fhir
- Recherche de ressources FHIR sur la base d'un dictionnaire de paramètres de recherche
Accès aux ressources
Le serveur fournit un accès à toutes les ressources FHIR standard par le biais du protocole de ressources MCP :
fhir://Patient/
- Accès à toutes les ressources du patientfhir://Patient/{id}
- Accès à une ressource patient spécifiquefhir://Observation/
- Accès à toutes les ressources d'observationfhir://Observation/{id}
- Accéder à une ressource d'observation spécifiquefhir://Medication/
- Accède à toutes les ressources Médicamentsfhir://Medication/{id}
- Accéder à une ressource Médication spécifique- Et bien d'autres encore...
Développement 💻
Configuration du développement local
1 - Cloner le dépôt :
git clone https://github.com/erikhoward/azure-fhir-mcp-server.git cd azure-fhir-mcp-server
2 - Créer et activer l'environnement virtuel :
Linux/macOS :
python -m venv .venv source .venv/bin/activate
Windows :
python -m venv .venv .venv\Scripts\activate
3 - Installer les dépendances :
pip install -e ".[dev]"
4 - Copier et configurer les variables d'environnement :
cp .env.example .env
Editez .env avec vos paramètres :
fhirUrl=https://your-fhir-server.azurehealthcareapis.com/fhir clientId=votre-id-client clientSecret=votre-secret-client tenantId=votre-id-locataire
5 - Configuration du bureau de Claude
Ouvrez claude_desktop_config.json
et ajoutez la configuration suivante.
Sur MacOs, le fichier est situé ici : ~/Bibliothèque/Application Support/Claude Desktop/claude_desktop_config.json
.
Sous Windows, le fichier est situé ici : %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 - Redémarrer Claude Desktop.
Contributions 🤝
Les contributions sont les bienvenues ! N'hésitez pas à soumettre une Pull Request.
- Créer un dépôt (Fork)
- Créez votre branche
(git checkout -b feature/AmazingFeature
) - Commencez vos modifications
(git commit -m '✨ Add some AmazingFeature'
) - Pousser vers la branche
(git push origin feature/AmazingFeature
) - Ouvrir une Pull Request
Licence ⚖️
Sous licence MIT - voir le fichier LICENSE.md.
Il ne s'agit pas d'un produit officiel de Microsoft ou d'Azure.