Skip to main content
Glama

List vet appointments

list_appointments
Read-onlyIdempotent

Use this when someone asks when an animal is booked or what is booked on one day, including to move or cancel an appointment. Returns up to 100 appointments of one animal or one day, with id, animal, clinic and provider ids, times, status and edit time. Not for counting how busy each day is.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "list_appointments"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNoMaximum number of appointments to return (default 20, maximum 100)
endTimeNoOnly appointments ending before this ISO 8601 time
clinicIdNoOnly appointments at this clinic, by an id from list_clinics; every clinic of the user's when absent
patientIdNoOnly appointments of this animal, by an id from find_patient. Without it, give a window of one day.
startTimeNoOnly appointments starting at or after this ISO 8601 time

Output Schema

NameRequiredDescriptionDefault
countYes
hasMoreYes
appointmentsYesAppointments, latest start first. Procedures, notes, reminders, owners and payments are excluded.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent and non-destructive, so the safety profile is covered. The description adds real behavioral context beyond that: the 100-result ceiling, the returned field set, and the constraint that a one-day window is required when no patientId is supplied. It does not mention pagination or what happens when the cap is hit, which is the main remaining gap.

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?

Three tight sentences, front-loaded with the trigger and followed by scope and exclusion. The enumeration of returned fields is slightly redundant given an output schema exists, but it is short and does not bloat the definition.

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

Completeness5/5

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

For a read-only filtered list with full schema coverage and an output schema, the description covers trigger, scope, result cap, and the key negative case. Nothing an agent needs in order to call it correctly is missing.

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 is already documented, including the one-day-window rule for a missing patientId. The description reinforces the animal-or-day scoping but adds no syntax, format, or default information beyond the schema, so the baseline of 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 ('list appointments') plus the exact scope: one animal or one day, capped at 100. It also explicitly carves out a neighboring use case ('Not for counting how busy each day is'), which separates it from get_clinic_schedule_summary without the agent needing to open either schema.

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?

Gives a concrete trigger ('when someone asks when an animal is booked or what is booked on one day') and notes the downstream intent of moving or cancelling, which routes the agent to reschedule_appointment/cancel_appointment afterwards. The exclusion is stated as a negative condition but the alternative tool is not named, leaving one small 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.

Resources