Generic HTTP wrappers make a model guess at FHIR search parameters, and FHIR servers differ enough that the guess often fails. Reading the live CapabilityStatement alongside embedded definitions closes that gap. Nothing here writes, and the target is fixed at configuration time.
A read-only MCP layer in front of a single configured FHIR R4 or R5 server. It ships embedded conformance definitions and fetches the target server's live CapabilityStatement, so tool calls are shaped by what that endpoint really supports.
- fhir_read — read a resource by type and id
- fhir_search — typed search, grounded in the target server's declared parameters
- fhir_capability_statement — what this particular server can do
- fhir_structure_definition and fhir_operation_definition — the shape of a resource, and the definition of an operation
- fhir_invoke_operation — conservative read-only operation invocation
- Discovery resources under fhirmcp://, including a server guide, an overview, a search guide and the schema registries
Go, to build the binary. One config file naming the target FHIR base URL, and the bearer-token environment variable it references if that server needs authentication. Conformance artifacts are synced by a bundled script before the first build. Runs over stdio, or as a native SSE endpoint on 127.0.0.1:8081 by default.
