MCP Server for Google Cloud Healthcare API

by Kartha-AI
Verified
# An MCP Server for Google Cloud Healthcare API (FHIR) [![smithery badge](https://smithery.ai/badge/@Kartha-AI/google-cloud-healthcare-api-mcp)](https://smithery.ai/server/@Kartha-AI/google-cloud-healthcare-api-mcp) A Model Context Protocol (MCP) server that provides healthcare tools for interacting with FHIR resources on [Google Cloud Healthcare API](https://cloud.google.com/healthcare-api) and public medical research APIs like pubmed, using MCP clients like Claude and Goose. This is a slightly modified version for AgentCare MCP Server for EHRs. https://github.com/Kartha-AI/agentcare-mcp The maion differnce is that this repo talks to Google Cloud Healthcare FHIR APIs thru a SmartonFHIR gateway that's secured by Firebase Auth. ## Architetcure <img src="screenshots/architecture.png" alt="Architecture" width="700"> ## Demo - Claude: demo/claude-demo.mp4 - Goose: demo/goose-demo.mp4 ## Screenshots <img src="screenshots/goose/goose-auth.png" alt="Auth" width="700"> <img src="screenshots/goose/goose-patient.png" alt="Patient" width="700"> <img src="screenshots/goose/goose-conditions.png" alt="Conditions" width="700"> <img src="screenshots/goose/goose-vitals.png" alt="Vitals" width="700"> <img src="screenshots/claude/gchapi.png" alt="GCHAPI" width="700"> <img src="screenshots/claude/convo.png" alt="Converse" width="700"> <img src="screenshots/claude/chart.png" alt="Timeline" width="700"> <img src="screenshots/claude/soap.png" alt="Soap Notes" width="700"> ## Tools ### FHIR Tools - `find_patient` - Search for a patient by name, DOB, or other identifiers - `get_patient_observations` - Retrieve patient observations/vital signs - `get_patient_conditions` - Get patient's active conditions - `get_patient_medications` - Get patient's current medications - `get_patient_encounters` - Get patient's clinical encounters - `get_patient_allergies` - Get patient's allergies and intolerances - `get_patient_procedures` - Get patient's procedures - `get_patient_careteam` - Get patient's care team members - `get_patient_careplans` - Get patient's active care plans - `get_vital_signs` - Get patient's vital signs - `get_lab_results` - Get patient's laboratory results - `get_medications_history` - Get patient's medication history - `clinical_query` - Execute custom FHIR queries ### Medical Research Tools - `search-pubmed` - Search PubMed articles related to medical conditions - `search-trials` - Find relevant clinical trials - `drug-interactions` - Check drug-drug interactions ## Usage Each tool requires specific parameters: ### Required Parameters - Most tools require `patientId` - Some tools have additional parameters: - `lab_trend_analysis`: requires `labType` - `search-pubmed`: requires `query` and optional `maxResults` - `search-trials`: requires `condition` and optional `location` - `drug-interactions`: requires `drugs` array refer to: /src/server/constants/tools.ts for tools specirfication ## Use with claude desktop ```` for claude desktop: macOS: ~/Library/Application Support/Claude/claude_desktop_config.json (use the env variables as shown above) { "mcpServers": { "google-cloud-healthcare-api-mcp": { "command": "node", "args": [ "/Users/your-username/{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":"XXXXXXXXX", "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" } } } } ```` ### Installing via Smithery To install google-cloud-healthcare-api-mcp for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@Kartha-AI/google-cloud-healthcare-api-mcp): ```bash npx -y @smithery/cli install @Kartha-AI/google-cloud-healthcare-api-mcp --client claude ``` ## Start MCP Server Locally with 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 Set up the env vars on Inspector ```` ## Troubleshooting: If Claude desktop is running it uses port 3456 for Auth. You need to terminate that process using the following command: ```` kill -9 $(lsof -t -i:3456) ````
ID: e6dzbv6yl8