Skip to main content
Glama

Metriport MCP by usefulapi

Start document query

metriport_start_document_query
Destructive

Starts a document query — retrieves the patient's medical documents from connected HIE networks. Returns a requestId; results arrive asynchronously. Medical API: POST /medical/v1/document/query (patientId and facilityId are required query params).

Input Schema

NameRequiredDescriptionDefault
metadataNoOptional custom string key-value pairs returned in the webhook.
patientIdYesREQUIRED. The Patient ID to query documents for.
facilityIdYesREQUIRED. The Facility ID where the patient receives care.

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
Behavior3/5

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

Annotations supply only destructiveHint=true, so the description carries most of the burden. It usefully discloses the async return contract (requestId, results delivered later), which goes beyond the annotation, but says nothing about why the call is destructive, what external HIE side effects occur, or whether authorization/consent is required.

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?

A single dense paragraph that front-loads the core action, then the async behavior, then the REST mapping. Nothing is wasted, though the trailing endpoint/param clause is somewhat redundant with the schema.

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 no output schema, the description correctly explains the return (a requestId with asynchronous results). For a 3-param tool with full schema coverage and an annotation, this is nearly complete; only the downstream status-check path and side-effect/permission context are 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%, so patientId, facilityId, and metadata are already documented in the schema. The description only restates that patientId and facilityId are required query params, adding no syntax or format detail beyond the structured fields, so the baseline 3 applies.

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 gives a specific verb+resource ("starts a document query") and clarifies the scope as retrieving medical documents from connected HIE networks, which separates it from siblings like metriport_list_documents or metriport_start_consolidated_query. It does not explicitly name a sibling for contrast, so it stops short of a 5.

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?

It states that results arrive asynchronously via a requestId, which implies the follow-up use of metriport_get_document_query_status, but never says so explicitly or states when not to use this tool. Usage is inferable rather than spelled out.

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.