llucbrell/chat-with-fhir-mcp-server
If you are the rightful owner of chat-with-fhir-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
This is a TypeScript-based MCP server that connects to a FHIR server, providing core MCP functionality for interacting with FHIR resources.
chat-with-fhir-mcp-server
Fork of @flexpa/mcp-fhir (Thanks!!) used for learning and also as an experiment for the project chat-with fhir. There we integrate the google adk, ollama and this mcp server. We added some extra tools to the server and made some simple tests.
Original README with instructions
This is a TypeScript-based MCP server that connects to a FHIR server. It provides core MCP functionality for interacting with FHIR resources by:
- Accessing FHIR resources via URIs
- Providing search capabilities for FHIR resources
Features
Resources
[!TIP] "Resources" here refers to the MCP definition not the FHIR one. MCP Resources are a core primitive in the Model Context Protocol (MCP) that allow servers to expose data and content that can be read by clients and used as context for LLM interactions.
- List and access FHIR resources via
fhir://
URIs - Resources are returned in FHIR JSON format
- Supports all FHIR Resource types available in the FHIR server's CapabilityStatement
Tools
search_fhir
- Search FHIR resources- Takes
resourceType
andsearchParams
as parameters - Returns FHIR search results
- Takes
read_fhir
- Read an individual FHIR resource- Takes
uri
as a parameter - Returns the FHIR resource in JSON format
- Takes
Configuration
The server requires the following environment variables:
FHIR_BASE_URL
: The base URL of your FHIR serverFHIR_ACCESS_TOKEN
: A SMART on FHIR access token for authentication
Development
Install dependencies:
npm install
Build the server:
npm run build
For development with auto-rebuild:
npm run watch
Installation
To use with Claude Desktop, add the server config:
On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"fhir": {
"command": "/path/to/@flexpa/mcp-fhir/build/index.js"
},
"env": {
"FHIR_BASE_URL": "<FHIR_BASE_URL>",
"FHIR_ACCESS_TOKEN": "<FHIR_ACCESS_TOKEN>"
}
}
}
Debugging
Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector, which is available as a package script:
npm run inspector
The Inspector will provide a URL to access debugging tools in your browser.