Skip to main content
Glama

Photon Health MCP by usefulapi

List patients

photonhealth_list_patients
Read-onlyIdempotent

List the organization's patients (id, external id, name, date of birth, sex, contact, address), optionally filtered by name. Photon GraphQL: patients.

Input Schema

NameRequiredDescriptionDefault
nameNoFilter by patient name (partial match).
afterNoCursor: the id of the last item of the previous page.
firstNoPage size (forward pagination).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds useful scope context ('the organization's patients') and the returned field set, but says nothing about pagination defaults, result limits, or ordering. With annotations carrying the safety burden, this is an adequate but not rich contribution.

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?

One front-loaded sentence with the resource and return fields stated first. The trailing 'Photon GraphQL: patients.' backend-mapping note is extra but harmless and cheap.

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 list tool with no output schema, the description helpfully enumerates returned fields plus the filterable dimension, and annotations cover the read-only/idempotent profile. Pagination is fully specified in the schema, so the only real gap is the absence of routing guidance versus get_patient.

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 every parameter (name, after, first) is already documented in the schema, including the partial-match semantics of name and the cursor/pagination meaning of after and first. The description only restates the name filter and adds no syntax, matching, or limits detail beyond the schema; baseline 3 is correct.

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 (List) and resource (the organization's patients) and enumerates the fields returned (id, external id, name, DOB, sex, contact, address), so an agent knows exactly what it gets. It does not explicitly differentiate itself from the sibling photonhealth_get_patient, though the plural + 'List' verb makes the distinction inferable.

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?

Only notes that results are 'optionally filtered by name,' which is a parameter capability rather than usage guidance. There is no statement of when to use this instead of photonhealth_get_patient, no prerequisites, and no exclusions.

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.