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.
MCPpedia last refreshed this data
FhirHydrant is an MCP server that 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. Its tool list has not been published yet over stdio, sse and http, requires no API key, and scores 55/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"fhirhydrant": {
"env": {
"FHIR_BASE_URL": "https://fhir.example.org",
"FHIR_JWKS_URL": "https://example.org/.well-known/jwks.json",
"MCP_TRANSPORT": "stdio",
"FHIR_CLIENT_ID": "your-client-id",
"FHIR_ACTIVE_KEY": "LS0tLS1CRUdJTi...base64-of-your-pem..."
},
"args": [
"-y",
"fhirhydrant"
],
"command": "npx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
A modern, fully configurable, open-source Node.js MCP server for R4+ FHIR APIs. It connects MCP-compatible clients to clinical data over SMART on FHIR v2 Backend Services using signed JWT client credentials.
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
npx -y 'fhirhydrant' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
Checked fhirhydrant against OSV.dev.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in health
MCP server for Withings health data — sleep, activity, heart, and body metrics.
MCP server for the ClinicalTrials.gov v2 API. Search trials, retrieve study details and results, and match patients to eligible trials.
基于Anduin2017 / HowToCook (程序员在家做饭指南)的mcp server
MCP Server for Brazilian ICD-10 (DATASUS) - International Classification of Diseases
MCP Security Weekly
Get CVE alerts and security updates for FhirHydrant and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
A modern, fully configurable, open-source Node.js MCP server for R4+ FHIR APIs. It connects MCP-compatible clients to clinical data over SMART on FHIR v2 Backend Services using signed JWT client credentials.
fhirHydrant turns FHIR resources, named operations, terminology lookups, and pagination into MCP tools. The default resources and operations are starting points: resources, operations, search controls, instructions, and messages can be expanded, trimmed, or replaced through config files without source changes.
_count shaping, and oversized Bundle retryNote: FHIR data returned through MCP tool calls may contain PHI. Make sure your MCP client's transcript storage and logging behavior match your compliance requirements.
To run against a public, unauthenticated FHIR test server, set FHIR_AUTH=none
and skip the client and key entirely (see Unauthenticated Access).
The stdio transport usually needs an externally hosted JWKS URL. The built-in
/jwks endpoint is available only when fhirHydrant runs over HTTP with SMART auth.
# install globally
npm install -g fhirhydrant
# or run without installing
npx fhirhydrant
Run from source:
git clone https://github.com/faulkj/fhirhydrant.git
cd fhirhydrant
npm install
npm run build
For desktop MCP clients, stdio is usually the simplest transport:
{
"mcpServers": {
"fhirhydrant": {
"command": "npx",
"args": ["-y", "fhirhydrant"],
"env": {
"MCP_TRANSPORT": "stdio",
"FHIR_BASE_URL": "https://fhir.example.org",
"FHIR_CLIENT_ID": "your-client-id",
"FHIR_ACTIVE_KEY": "LS0tLS1CRUdJTi...base64-of-your-pem...",
"FHIR_JWKS_URL": "https://example.org/.well-known/jwks.json"
}
}
}
}
FHIR_ACTIVE_KEY is your PKCS#8 private key (RSA or EC P-384), base64-encoded.
The kid is derived automatically at startup via a truncated JWK Thumbprint and
logged to the console.
To point fhirHydrant at a public, unauthenticated FHIR endpoint (handy for
testing against open sandboxes), set FHIR_AUTH=none. No client ID or signing
key is required, no token is requested, and requests are sent without an
Authorization header:
{
"mcpServers": {
"fhirhydrant": {
"command": "npx",
"args": ["-y", "fhirhydrant"],
"env": {
"MCP_TRANSPORT": "stdio",
"FHIR_AUTH": "n
... [View full README on GitHub](https://github.com/faulkj/fhirHydrant#readme)