Un serveur MCP pour Google Cloud Healthcare API (FHIR)
Un serveur Model Context Protocol (MCP) qui fournit des outils de santé pour interagir avec les ressources FHIR sur Google Cloud Healthcare API et les API de recherche médicale publique comme pubmed, en utilisant des clients MCP comme Claude et Goose.
Il s'agit d'une version légèrement modifiée du serveur AgentCare MCP pour les DSE. https://github.com/Kartha-AI/agentcare-mcp
La principale différence est que ce repo communique avec les API FHIR de Google Cloud Healthcare à travers une passerelle SmartonFHIR qui est sécurisée par Firebase Auth.
Architetcure
Démo
- Claude : demo/claude-demo.mp4
- Goose : demo/goose-demo.mp4
Capture d'écran
Outils
Outils FHIR
find_patient
- Recherche d'un patient par son nom, sa date de naissance ou d'autres identifiantsget_patient_observations
- Récupère les observations et les signes vitaux du patientget_patient_conditions
- Récupère les conditions actives du patientget_patient_medications
- Permet d'obtenir les médicaments actuels du patientget_patient_encounters
- Obtenir les rencontres cliniques du patientget_patient_allergies
- Obtenir les allergies et intolérances du patientget_patient_procedures
- Obtenir les procédures du patientget_patient_careteam
- Obtenir les membres de l'équipe de soins du patientget_patient_careplans
- Obtenir les plans de soins actifs du patientget_vital_signs
- Obtenir les signes vitaux du patientget_lab_results
- Obtenir les résultats de laboratoire du patientget_medications_history
- Obtenir l'historique des médicaments du patientclinical_query
- Exécuter des requêtes FHIR personnalisées
Outils de recherche médicale
search-pubmed
- Recherche d'articles PubMed relatifs à des conditions médicalessearch-trials
- Recherche d'essais cliniques pertinentsdrug-interactions
- Vérifier les interactions médicamenteuses
Utilisation
Chaque outil nécessite des paramètres spécifiques :
Paramètres requis
- La plupart des outils requièrent l'
identifiant du patient (patientId)
- Certains outils ont des paramètres supplémentaires
lab_trend_analysis
: nécessitelabType
search-pubmed
: nécessite unerequête
et unmaxResults
facultatifsearch-trials
: nécessite unecondition
et unemplacement
facultatifdrug-interactions
: nécessite un tableau demédicaments
se réfère à : /src/server/constants/tools.ts pour la spécification des outils
Utilisation avec claude desktop
pour claude desktop :
macOS : ~/Library/Application Support/Claude/claude_desktop_config.json (utiliser les variables env comme indiqué ci-dessus) { "mcpServers" : { "google-cloud-healthcare-api-mcp" : { "command" : "node", "args" : ["/Users/votre nom d'utilisateur/{google-cloud-healthcare-api-mcp dir}/build/index.js" ], "env" : {"FIREBASE_API_KEY" : "XXXXXXXXX", "FIREBASE_AUTH_DOMAIN" : "XXXXXXXX", "FIREBASE_PROJECT_ID" : "XXXXXXX", "FIREBASE_STORAGE_BUCKET" : "XXXXXXXXX", "FIREBASE_MESSAGING_SENDER_ID" : "XXXXXXX", "FIREBASE_APP_ID" : "XXXXXXX", "FIREBASE_MEASUREMENT_ID" :"XXXXXXXX", "FIREBASE_AUTH_CALLBACK_PORT" : "3456", "FHIR_BASE_URL" : "{gchapi-fhir-gateway-host}/fhir", "PUBMED_API_KEY" :"your_pubmed_api_key", "CLINICAL_TRIALS_API_KEY" : "your_trials_api_key", "FDA_API_KEY" : "your_fda_api_key" } } }
Installation via Smithery
Pour installer google-cloud-healthcare-api-mcp pour Claude Desktop automatiquement via Smithery:
npx -y @smithery/cli install @Kartha-AI/google-cloud-healthcare-api-mcp --client claude
Démarrer le serveur MCP localement avec MCP Inspector
git clone git@github.com:Kartha-AI/google-cloud-healthcare-api-mcp.git cd google-cloud-healthcare-api-mcp npm install npm run build npm install -g @modelcontextprotocol/inspector mcp-inspector build/index.js http://localhost:5173 Configurer les env vars sur Inspector
Résolution des problèmes :
Si Claude desktop est en cours d'exécution, il utilise le port 3456 pour l'authentification. Vous devez mettre fin à ce processus en utilisant la commande suivante :
kill -9 $(lsof -t -i:3456)