Skip to main content
Glama

List appointments

list_appointments
Read-onlyIdempotent

Lists appointments, most recently booked first. Filter by status (confirmed or cancelled) and by start time to see a day or a week. Times are UTC; convert them to the business time zone before showing them.

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
limitNoHow many items to return, 1 to 100. Defaults to 25.
cursorNoThe next_cursor value from the previous page. Omit it for the first page.
statusNoOnly appointments with this status.
contact_idNoOnly this contact's appointments, from search_contacts.
starts_afterNoOnly appointments starting at or after this time. ISO 8601 with a Z or numeric offset, for example 2026-09-26T00:00:00-04:00.
starts_beforeNoOnly appointments starting before this time. ISO 8601 with a Z or numeric offset, for example 2026-09-26T00:00:00-04:00.

Output Schema

NameRequiredDescriptionDefault
dataYes
has_moreYes
next_cursorYesPass as cursor to get the next page. Null on the last page.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds two pieces of context the annotations cannot: the sort order of results and the fact that times are UTC and must be converted to the business time zone before display. It omits pagination behavior, though the cursor parameter is documented in the schema.

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?

Three short sentences, each carrying distinct information: what is listed and in what order, how to filter, and how to handle time zones. The ordering and filtering facts are front-loaded and nothing is repeated from 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?

For a read-only list tool with full annotation coverage, a complete input schema and an output schema that covers return shape, the description supplies what structured data cannot: sort order and time-zone handling. The only remaining gap is pagination and default page size behavior, which the schema largely covers via limit and cursor.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the parameters are already well documented, including the status enum and ISO 8601 format for the time bounds. The description still contributes beyond the schema by naming the two status values and by explaining that combining starts_after and starts_before yields a day or week window, which is not stated in the schema.

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 and resource ('Lists appointments') plus the default ordering ('most recently booked first'), which lets an agent distinguish it from list_calls or list_messages at a glance. It does not explicitly contrast itself with get_appointment or check_availability, but the read-many scope is unambiguous.

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 hints at usage by explaining that status and start-time filters produce a day or week view, which tells an agent how to scope a query. However, it never states when to prefer this tool over get_appointment for a single record or check_availability for free slots, so the routing guidance is implied rather than explicit.

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