fhirHydrant
by faulkj
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | HTTP listener port. | 5000 |
| BIND_HOST | No | HTTP bind address. | 0.0.0.0 |
| FHIR_AUTH | No | smart (SMART Backend Services) or none (unauthenticated, for public test endpoints). | smart |
| LOG_LEVEL | No | Log verbosity: error, warn, info, or debug. | info |
| MCP_AUTHZ | No | Authorization provider: none or entra. Gates tools per caller (HTTP + Authorization: Bearer only). | none |
| FHIR_VERSION | No | Active R4+ FHIR release; controls derived URL, FHIRPath model, and compact model metadata. | R4 |
| ALLOWED_HOSTS | No | Comma-separated hostnames for DNS rebinding protection. | |
| FHIR_BASE_URL | No | Base URL used to derive the FHIR server URL and token URL. Optional when FHIR_SERVER_URL is set (and, for smart auth, FHIR_TOKEN_URL). | |
| FHIR_JWKS_URL | No | External JWKS URL. Omit in HTTP mode to enable built-in /jwks. | |
| MCP_TRANSPORT | No | http or stdio. | http |
| FHIR_CLIENT_ID | No | SMART Backend Services client ID (not needed when FHIR_AUTH=none). | |
| FHIR_MAX_COUNT | No | Cap on explicit caller _count values; 0 = no cap. | 0 |
| FHIR_TOKEN_URL | No | Explicit token endpoint override. | <base>/oauth2/token |
| MCP_JSON_LIMIT | No | Max accepted MCP request body size (Express json limit string); raise if large write/bundle payloads are rejected. | 4mb |
| FHIR_ACTIVE_KEY | No | Base64-encoded PKCS#8 PEM signing key, RSA or EC P-384 (not needed when FHIR_AUTH=none). | |
| FHIR_AUDIT_FILE | No | JSONL file used when the file audit sink is enabled. | ./audit.jsonl |
| FHIR_AUDIT_SINK | No | Any combination of console, file, http. | |
| FHIR_OPERATIONS | No | Comma-separated operation keys; none disables all catalog operations. Default catalog: everything, lastn, validate, docref, expand, lookup, translate, summary, match. | |
| FHIR_SERVER_URL | No | Explicit FHIR API URL override. | <base>/api/FHIR/<FHIR_VERSION> |
| MCP_ROLE_PREFIX | No | Prefix on granted role values (e.g. FhirHydrant.Patient.Read). | FhirHydrant |
| FHIR_RETIRED_KEYS | No | Comma-separated base64-encoded PEMs for JWKS rotation. | |
| FHIR_DEFAULT_COUNT | No | Default _count injected into searches when allowed; 0 = server decides. | 0 |
| FHIR_METADATA_MODE | No | strict, warn, or off for /metadata validation. | strict |
| FHIR_RESPONSE_MODE | No | compact, full, or compact-locked; unset means search defaults compact and direct reads default full. | |
| FHIR_WRITE_DRY_RUN | No | Set to true to validate and log writes without executing them against the FHIR server. | false |
| MCP_ENTRA_AUDIENCE | No | API application (client) ID expected in the v2 access token aud; required when MCP_AUTHZ=entra. | |
| FHIR_AUDIT_HTTP_URL | No | Destination URL for the http audit sink; required when http is enabled. | |
| MCP_ENTRA_TENANT_ID | No | Entra tenant GUID (not a domain alias); required when MCP_AUTHZ=entra. | |
| FHIR_AUDIT_HTTP_AUTH | No | Authorization header value sent verbatim by the http sink. | |
| FHIR_MAX_ARTIFACT_MB | No | Separate byte ceiling (MiB) for native/binary artifact bodies; independent of the JSON limit (base64 transport ≈ +33%). | 16 |
| FHIR_VALIDATE_WRITES | No | off, local (client-side structural checks), or server (local + server $validate preflight for create/update). | local |
| FHIR_AUDIT_HTTP_FORAT | No | raw (internal AuditEvent JSON) or fhir-auditevent (FHIR R4 AuditEvent). | raw |
| FHIR_PAGINATION_PATHS | No | Extra allowed path prefixes for pagination links, e.g. FHIRProxy. | |
| FHIR_AUDIT_USER_HEADER | No | Proxy-authenticated user header copied into audit events. | |
| FHIR_MAX_RESPONSE_BYTES | No | Byte limit for model-facing JSON responses; oversized Bundles are chunked. | 262144 |
| FHIR_PREFETCH_MAX_BYTES | No | Max raw bytes fetched before stopping. | 2097152 |
| FHIR_PREFETCH_MAX_PAGES | No | Max upstream pages fetched per coalesced compact search. | 5 |
| FHIR_REQUEST_TIMEOUT_MS | No | Per-attempt timeout for outgoing FHIR requests. | 30000 |
| FHIR_WRITE_CAPABILITIES | No | Comma-separated write actions: create, update, patch, delete. | |
| FHIR_BUNDLE_CAPABILITIES | No | Comma-separated Bundle types: batch, transaction; enables bundle tool. | |
| FHIR_PREFETCH_TIMEOUT_MS | No | Wall-clock budget for the coalescing loop. | 25000 |
| FHIR_TEMINOLOGY_BASE_URL | No | Enables terminology tools, e.g. https://tx.fhir.org/r4. | |
| FHIR_PREFETCH_MAX_ENTRIES | No | Max upstream entries accumulated before stopping. | 5000 |
| FHIR_BUNDLE_WRITES_ENABLED | No | Set to true to allow write entries inside Bundles (also requires FHIR_WRITE_CAPABILITIES). | false |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Server capabilities have not been inspected yet.
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
No tools | |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/faulkj/fhirHydrant'
If you have feedback or need assistance with the MCP directory API, please join our Discord server