Skip to main content
Glama
Open Dental MCP
by MaxilloCA

find_appointments

Read-onlyIdempotent

Read appointments for a patient or within an inclusive date range, optionally filtered by provider or clinic, to retrieve Open Dental scheduling data.

Instructions

Read appointments for a patient or bounded date window (YYYY-MM-DD, inclusive).

Use date for one day or both date_start and date_end. Provider filters the primary ProvNum. Follow next_offset even when local filtering yields an empty results page.

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": "find_appointments"
  }
}

Input Schema

NameRequiredDescriptionDefault
dateNo
limitNo
offsetNo
patnumNo
provnumNo
date_endNo
clinicnumNo
date_startNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive and openWorld, so the safety profile is covered. The description adds real behavioral context: inclusive date bounds and the fact that results can be locally filtered so an empty page may still have a next_offset. It says nothing about default result volume, sorting, or permission requirements for cross-clinic reads.

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 short, front-loaded sentences with no filler; the core scope statement comes first and the pagination caveat last. 'Provider filters the primary ProvNum' is slightly compressed and relies on domain knowledge of the field name.

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

Completeness3/5

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

An output schema exists, so return-shape explanation is unnecessary, and pagination is addressed. For an 8-parameter tool with zero schema description coverage and no required parameters, the description leaves unclear what an unfiltered call returns and what clinicnum and limit do.

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 coverage is 0%, so the description must carry parameter meaning, and it explains date/date_start/date_end semantics and that provnum targets the primary provider. However, clinicnum and limit get no explanation at all, and offset is only indirectly implied via the mention of next_offset, leaving meaningful gaps for 8 parameters.

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 ('Read') and resource ('appointments') with scope ('for a patient or bounded date window'), plus the date format. It clearly reads as a filtered list operation, distinguishable from a single-record get_appointment, though it never names that sibling explicitly.

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 concrete selection rules: use 'date' for one day, or both date_start and date_end, and notes that provnum filters the primary provider. It also gives a non-obvious operational rule (keep following next_offset even when a page looks empty). It stops short of saying when to prefer this over get_appointment or how to combine patient and date filters.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.