Read-only, schema-driven MCP server for a configured FHIR R4 or R5 endpoint
Healsens FHIR MCP demonstrates solid definition quality with all 6 tools having complete schemas and descriptions. Tool names follow verb_noun convention (fhir_read, fhir_search, fhir_invoke_operation). Descriptions are substantive (100-200 chars), explaining WHAT the tool does and WHEN to use it. All parameters have type definitions and most have descriptions. However, parameter descriptions are sparse or missing in several tools (e.g., fhir_search 'params' lacks guidance on valid FHIR search parameters; fhir_invoke_operation 'parameters_resource' is undocumented). Output schemas are not documented in the source. Error handling guidance is absent, no recovery hints or error categorization visible. All tools are read-only (good security posture), but no tool annotations (readOnlyHint) are visible in the schema definitions provided.
Fetch and summarize the target server's FHIR R4 or R5 CapabilityStatement. Use when you need to know supported resources, interactions, search params, formats, or advertised operations.
Invoke a read-only FHIR operation on the configured FHIR R4 or R5 server. Use only for operations that are explicitly advertised and do not affect server state.
Fetch a FHIR R4 or R5 OperationDefinition for an advertised operation. Use before invoking unfamiliar operations, or when you need parameter, scope, or output details.
Read one resource from the configured FHIR R4 or R5 server by resource type and logical id. Read-only. Use when you already know the resource type and id.
Search one FHIR R4 or R5 resource type using standard FHIR search parameters. Read-only. Use when the resource id is not known and you need standard FHIR REST search. When the user is asking about a specific patient, pass `patient_id` so the server can apply the right patient-scoping filter such as `patient=<id>` or `subject=Patient/<id>` instead of doing a broad search across all patients.
Parameter descriptions missing or incomplete. 'params' in fhir_search and fhir_invoke_operation lack guidance on valid FHIR search/operation parameters. 'parameters_resource' in fhir_invoke_operation is undocumented. LLMs cannot infer parameter meaning from names alone.
Output schemas not documented. Tool descriptions do not specify what fields are returned or their types. LLMs need to know expected response structure to plan downstream calls and extract data.
No error handling guidance. Tool descriptions do not explain what errors can occur, whether they are retryable, or what the LLM should do next. A 404 from fhir_read should suggest alternatives; a timeout should indicate retry.
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | 2025-06-18+ | v2 |
Fetch a FHIR R4 or R5 StructureDefinition for a base type or profile. Use when you need field names, cardinality, type information, summary elements, or profile details.
Tool annotations missing from schemas. No readOnlyHint, destructiveHint, or idempotentHint visible in schema definitions. All tools are read-only but this is not formally declared in the schema.
Pagination guidance incomplete. fhir_search accepts 'page_token' but does not document whether results are capped, what total count is returned, or how to iterate through large result sets.