Servidor MCP Azure AHDS FHIR 🚀
Una implementación de servidor de protocolo de contexto de modelo (MCP) para Azure Health Data Services FHIR (Fast Healthcare Interoperability Resources). Este servicio proporciona una interfaz estandarizada para interactuar con los servidores Azure FHIR, permitiendo operaciones de datos sanitarios a través de herramientas MCP.
Configuración 🛠️
Instalación 📦
Requiere Python 3.13 o superior y uv
.
Instale uv en primer lugar.
Configuración MCP ⚙️
Configuración del Escritorio Claude
1 - Editar la configuración de Claude Desktop:
Abre claude_desktop_config.json
y añade la siguiente configuración.
En MacOs, el archivo se encuentra aquí: ~/Library/Application Support/Claude Desktop/claude_desktop_config.json
.
En Windows, el archivo se encuentra aquí: %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": "tu-id-cliente", "clientSecret": "tu-secreto-cliente", "tenantId": "your-tenant-id" } } }
A continuación se muestra una tabla con las variables de configuración de entorno disponibles:
Variable | Descripción | Por defecto |
---|---|---|
NIVEL_LOGO | Nivel de registro | INFO |
fhirUrl | URL del servidor Azure FHIR | Obligatorio |
clientId | ID de cliente OAuth2 | Requerido |
clientSecret | Secreto del cliente OAuth2 | Obligatorio |
tenantId | ID de inquilino de Azure AD | Requerido |
2 - Reinicie Claude Desktop.
Herramientas disponibles 🔧
Operaciones con recursos FHIR
search_fhir
- Búsqueda de recursos FHIR basada en un diccionario de parámetros de búsqueda
Acceso a recursos
El servidor proporciona acceso a todos los recursos FHIR estándar a través del protocolo de recursos MCP:
fhir://Patient/
- Acceso a todos los recursos de pacientesfhir://Patient/{id}
- Acceso a un recurso de paciente específicofhir://Observation/
- Acceso a todos los recursos de Observaciónfhir://Observación/{id}
- Acceder a un recurso específico de Observaciónfhir://Medication/
- Acceso a todos los recursos de Medicaciónfhir://Medication/{id}
- Acceder a un recurso específico de Medicación- Y muchos más...
Desarrollo 💻
Configuración de desarrollo local
1 - Clonar el repositorio:
git clone https://github.com/erikhoward/azure-fhir-mcp-server.git cd azure-fhir-mcp-server
2 - Crear y activar entorno virtual:
Linux/macOS:
python -m venv .venv source .venv/bin/activate
Windows:
python -m venv .venv .venv\Scripts\activate
3 - Instalar dependencias:
pip install -e ".[dev]"
4 - Copiar y configurar las variables de entorno:
cp .env.ejemplo .env
Edite .env con su configuración:
fhirUrl=https://your-fhir-server.azurehealthcareapis.com/fhir clientId=su-id-cliente clientSecret=su-secreto-cliente tenantId=su-id-teniente
5 - Configuración de Claude Desktop
Abra claude_desktop_config.json
y añada la siguiente configuración.
En MacOs, el archivo se encuentra aquí: ~/Library/Application Support/Claude Desktop/claude_desktop_config.json
.
En Windows, el archivo se encuentra aquí: %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": "tu-id-cliente", "clientSecret": "tu-secreto-cliente", "tenantId": "your-tenant-id" } } }
6 - Reiniciar Claude Desktop.
Contribuciones 🤝
¡Las contribuciones son bienvenidas! Por favor, siéntase libre de enviar un Pull Request.
- Fork el repositorio
- Crea tu rama
(git checkout -b feature/AmazingFeature
) - Confirma tus cambios
(git commit -m '✨ Add some AmazingFeature'
) - Empuja a la rama
(git push origin feature/AmazingFeature
) - Abrir una Pull Request
Licencia ⚖️
Licencia bajo MIT - ver archivo LICENSE.md.
Este no es un producto oficial de Microsoft o Azure.