Skip to main content
Glama

particlehealth

Create clinical-record query (WRITE)

particle_create_query
Destructive

⚠️ WRITE: initiate a nationwide clinical-record retrieval for a patient. Returns a query_id — poll particle_get_query_status for progress. Endpoint: POST /api/v2/patients/{particle_patient_id}/query.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
hintsNoPostal codes to hint where records may be found.
specialtiesNoSpecialties to focus the query, e.g. ["ONCOLOGY"].
purpose_of_useYesPurpose of use for the request, e.g. TREATMENT.
particle_patient_idYesParticle-assigned patient id to run the query for.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations supply destructiveHint=true and the WRITE title; the description adds the async lifecycle (returns query_id, must be polled), the underlying endpoint, and a prominent write warning. It stops short of explaining why the operation is flagged destructive, what permissions or purpose-of-use compliance rules apply, or whether the retrieval is audited or billable.

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

Conciseness5/5

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

Two tight sentences plus the endpoint, with the WRITE warning front-loaded and the next-step guidance immediately after the return value. No filler.

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?

For a 4-parameter write tool with no output schema, the description covers the return value (query_id), the polling path, and the endpoint, which is most of what an agent needs. It omits permission/purpose-of-use requirements and the async-vs-sync tradeoff against the get_* siblings.

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 the schema already documents all four parameters (hints, specialties, purpose_of_use, particle_patient_id) with examples. The description adds nothing parameter-specific beyond the patient id appearing in the endpoint path, so the baseline 3 applies.

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

Purpose5/5

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

States a specific verb and resource ('initiate a nationwide clinical-record retrieval for a patient') and implicitly distinguishes itself from the synchronous particle_get_fhir/particle_get_ccda siblings by being a query-creation tool. The WRITE label and endpoint reinforce exactly what the tool does.

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

Usage Guidelines4/5

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

Tells the agent the required follow-up ('poll particle_get_query_status for progress'), which is genuinely useful routing. It does not, however, explain when to use this asynchronous query instead of the direct-fetch siblings (get_fhir, get_ccda, get_flat), which is the real selection decision.

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.