Skip to main content
Glama
mrosata

MCP FHIR Server

by mrosata

search_fhir_resources

Search healthcare data by querying FHIR resources like Patient or Observation records using specific parameters and custom headers.

Instructions

Search for FHIR resources using query parameters.

Args: resource_type: The FHIR resource type to search (e.g., "Patient", "Observation") search_params: Optional dictionary of search parameters (e.g., {"name": "Smith", "gender": "female"}) custom_headers: Optional dictionary of custom HTTP headers to include in the request. For Zus servers, use {"Zus-Account": "builder-id"} for multi-tenant access.

Returns: A FHIR Bundle containing matching resources or an error message

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
resource_typeYes
search_paramsNo
custom_headersNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the return type ('A FHIR Bundle containing matching resources or an error message') and a specific use case for 'custom_headers' in Zus servers, but does not cover critical aspects like authentication requirements, rate limits, error handling details, or whether this is a read-only operation. This leaves significant gaps for an agent to understand behavioral traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded, starting with the core purpose. It uses a structured format with 'Args:' and 'Returns:' sections, making it easy to parse. While efficient, the 'custom_headers' explanation is slightly verbose but adds necessary context, so it earns its place without significant waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (3 parameters, 0% schema coverage, no annotations, but with an output schema), the description is partially complete. It covers parameter basics and return values, but lacks details on authentication, error scenarios, and behavioral constraints. The output schema likely handles return structure, reducing the need for description there, but overall gaps remain for safe and effective tool invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It adds meaning by explaining each parameter: 'resource_type' with examples ('Patient', 'Observation'), 'search_params' as an optional dictionary with examples, and 'custom_headers' with a specific use case. However, it does not fully detail all possible values, constraints, or formats beyond basic examples, leaving some ambiguity for the agent.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Search for FHIR resources using query parameters.' It specifies the verb ('search') and resource ('FHIR resources'), making it understandable. However, it does not explicitly differentiate from sibling tools like 'read_fhir_resource' or 'write_fhir_resource', which could involve similar resources but different operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage through examples (e.g., searching for 'Patient' or 'Observation'), but does not explicitly state when to use this tool versus alternatives like 'read_fhir_resource' for specific resource retrieval. It provides context for 'custom_headers' in multi-tenant scenarios, but lacks clear guidance on exclusions or prerequisites for general use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

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/mrosata/mcp-fhir'

If you have feedback or need assistance with the MCP directory API, please join our Discord server