Skip to main content
Glama

Metriport MCP by usefulapi

Start consolidated query

metriport_start_consolidated_query
Destructive

Starts a consolidated-data (FHIR) query for the patient. Returns a requestId; the bundle is delivered asynchronously (webhook). Medical API: POST /medical/v1/patient/{id}/consolidated/query.

Input Schema

NameRequiredDescriptionDefault
idYesThe Metriport Patient ID.
dateToNoInclusive end date yyyy-mm-dd.
dateFromNoInclusive start date yyyy-mm-dd.
metadataNoOptional custom string key-value pairs returned in the webhook.
resourcesNoComma-separated, case-sensitive list of FHIR resource types. Omit for all.
conversionTypeNoOutput format: json, pdf, or html.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  2. First observed

TDQS

A3.5/5.0
Behavior4/5

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

Annotations only carry destructiveHint=true and a title, so the description does the heavy lifting: it discloses that the call returns a requestId and that the bundle arrives asynchronously via webhook, which is essential for correct orchestration. It still does not say what triggers the destructiveHint (e.g. whether requests can be re-run or cancelled), leaving one annotation unexplained.

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?

Two sentences, front-loaded with the action and immediately followed by the async contract. The trailing endpoint path is marginally redundant with the tool name but is still useful for agents reasoning about the Medical API surface.

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

Completeness4/5

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

With 6 parameters, no output schema, and an async delivery model, the description covers the critical unknowns: the return shape (requestId) and how results arrive (webhook). Gaps remain around follow-up retrieval and any permissions or rate limits, but nothing an agent needs to fire the call correctly is absent.

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 100%, with id, dateFrom/dateTo, metadata, resources, and conversionType all documented in the schema, so the baseline is 3. The description adds nothing parameter-specific beyond tying metadata implicitly to the webhook, so it does not exceed the schema's contribution.

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?

States a specific verb and resource ('Starts a consolidated-data (FHIR) query for the patient') and names the concrete endpoint, so the agent knows exactly what operation runs. It does not explicitly contrast with the sibling metriport_start_document_query, so the boundary between 'consolidated' and 'document' queries must be inferred.

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

Usage Guidelines2/5

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

The description explains the mechanics but never states when to choose this over metriport_start_document_query, nor what to do afterward. The only implicit guidance is that delivery is asynchronous, hinting the agent should follow up via list_consolidated_queries or a webhook, but that routing is left to inference.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.