Open-source Node.js FHIR MCP server with SMART Backend Services, metadata-aware search/CRUD tools, compact responses, FHIRPath filtering, safe pagination, audit events, and terminology lookup.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add fhirhydrant --env MCP_TRANSPORT='<MCP_TRANSPORT>' --env FHIR_AUTH='<FHIR_AUTH>' --env FHIR_SERVER_URL='<FHIR_SERVER_URL>' --env FHIR_ACTIVE_KEY='<FHIR_ACTIVE_KEY>' -- npx -y fhirhydrant~/.codex/config.toml
[mcp_servers.fhirhydrant]
command = "npx"
args = ["-y", "fhirhydrant"]
env = { MCP_TRANSPORT = "<MCP_TRANSPORT>", FHIR_AUTH = "<FHIR_AUTH>", FHIR_SERVER_URL = "<FHIR_SERVER_URL>", FHIR_ACTIVE_KEY = "<FHIR_ACTIVE_KEY>" }
# codex mcp add fhirhydrant --env MCP_TRANSPORT='<MCP_TRANSPORT>' --env FHIR_AUTH='<FHIR_AUTH>' --env FHIR_SERVER_URL='<FHIR_SERVER_URL>' --env FHIR_ACTIVE_KEY='<FHIR_ACTIVE_KEY>' -- npx -y fhirhydrant~/.cursor/mcp.json
{
"mcpServers": {
"fhirhydrant": {
"command": "npx",
"args": [
"-y",
"fhirhydrant"
],
"env": {
"MCP_TRANSPORT": "<MCP_TRANSPORT>",
"FHIR_AUTH": "<FHIR_AUTH>",
"FHIR_SERVER_URL": "<FHIR_SERVER_URL>",
"FHIR_ACTIVE_KEY": "<FHIR_ACTIVE_KEY>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"fhirhydrant": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"fhirhydrant"
],
"env": {
"MCP_TRANSPORT": "<MCP_TRANSPORT>",
"FHIR_AUTH": "<FHIR_AUTH>",
"FHIR_SERVER_URL": "<FHIR_SERVER_URL>",
"FHIR_ACTIVE_KEY": "<FHIR_ACTIVE_KEY>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"fhirhydrant": {
"command": "npx",
"args": [
"-y",
"fhirhydrant"
],
"env": {
"MCP_TRANSPORT": "<MCP_TRANSPORT>",
"FHIR_AUTH": "<FHIR_AUTH>",
"FHIR_SERVER_URL": "<FHIR_SERVER_URL>",
"FHIR_ACTIVE_KEY": "<FHIR_ACTIVE_KEY>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"fhirhydrant": {
"command": "npx",
"args": [
"-y",
"fhirhydrant"
],
"env": {
"MCP_TRANSPORT": "<MCP_TRANSPORT>",
"FHIR_AUTH": "<FHIR_AUTH>",
"FHIR_SERVER_URL": "<FHIR_SERVER_URL>",
"FHIR_ACTIVE_KEY": "<FHIR_ACTIVE_KEY>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"fhirhydrant": {
"command": "npx",
"args": [
"-y",
"fhirhydrant"
],
"env": {
"MCP_TRANSPORT": "<MCP_TRANSPORT>",
"FHIR_AUTH": "<FHIR_AUTH>",
"FHIR_SERVER_URL": "<FHIR_SERVER_URL>",
"FHIR_ACTIVE_KEY": "<FHIR_ACTIVE_KEY>"
}
}
}
}Environment variables
MCP_TRANSPORTFHIR_AUTHFHIR_SERVER_URLFHIR_ACTIVE_KEY
Replace the placeholders with your own credentials and keep them out of version control.