Skip to main content
Glama

Server Details

Read appointments, types, calendars and availability; create, cancel or reschedule bookings.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
m190/usefulapi-mcp
GitHub Stars
0

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 3.8/5 across 16 of 18 tools scored. Lowest: 3.1/5.

Server CoherenceA
Disambiguation5/5

Each tool targets a distinct resource and action (appointments, clients, calendars, etc.) with clear naming and no overlapping functionality.

Naming Consistency5/5

All tools follow the consistent pattern 'acuity_<verb>_<noun>' with uniform verb choices (list, get, create, cancel, reschedule) and proper pluralization.

Tool Count5/5

18 tools cover the essential aspects of a scheduling system (availability, appointments, clients, calendars, etc.) without being excessive or insufficient.

Completeness4/5

Core scheduling operations are well covered, but missing update and delete for clients, and read-only access to other entities (e.g., appointment types, blocks) may limit full lifecycle management.

Available Tools

18 tools
acuity_availability_classesGet available classesA
Read-only
Inspect

List group class time slots (for class-type appointment types) in a month. Acuity REST: GET /availability/classes.

ParametersJSON Schema
NameRequiredDescriptionDefault
monthYesMonth to check, formatted YYYY-MM, e.g. '2026-08'.
timezoneNoIANA timezone for the returned times, e.g. 'America/New_York'.
appointmentTypeIDYesClass appointment type id (required).
includeUnavailableNoIf true, also include full/unavailable class times.
Behavior3/5

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

Annotations already indicate readOnlyHint=true, making the safety profile clear. The description adds the scope (class-type, monthly) but does not elaborate on return format or pagination. No contradiction with annotations.

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?

The description is a single sentence of 19 words plus the API endpoint reference, with no fluff. It is efficiently front-loaded and every word contributes to clarity.

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 simple read-only list tool with full schema documentation, the description covers the core purpose. It implies output (list of time slots) but could explicitly mention return behavior. Given no output schema, the description is nearly complete.

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 baseline is 3. The description adds no additional parameter meaning beyond what the schema already provides (e.g., month format, appointmentTypeID being required).

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?

The description clearly states the tool lists group class time slots for class-type appointment types in a month, and references the Acuity REST API endpoint. This distinguishes it from sibling tools like acuity_availability_dates and acuity_availability_times, which likely handle individual appointments.

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?

The description implies it is for class-type appointments but does not explicitly state when to use this tool versus alternatives. It provides context (monthly listing) but no when-not-to-use or direct comparison with siblings.

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

acuity_availability_datesGet available datesA
Read-only
Inspect

List dates in a month that have availability for an appointment type. Acuity REST: GET /availability/dates.

ParametersJSON Schema
NameRequiredDescriptionDefault
monthYesMonth to check, formatted YYYY-MM, e.g. '2026-08'.
timezoneNoIANA timezone for the returned dates, e.g. 'America/New_York'.
calendarIDNoRestrict to a specific calendar id.
appointmentTypeIDYesAppointment type id to check availability for (required).
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the safety profile is clear. The description adds that it lists dates with availability but does not detail response structure, pagination, or auth requirements. It provides basic behavioral context without contradicting annotations.

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?

The description is a single clear sentence plus an API reference. Every word earns its place; there is no fluff. Ideal conciseness.

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?

With no output schema, the description should hint at the return format or workflow. It does not mention that the result is a list of dates, nor does it relate to sibling tools. Adequate for a simple list but gaps remain.

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?

Input schema has 100% description coverage, so the schema already documents all parameters. The description adds no additional meaning beyond what is in the schema, e.g., it does not explain the timezone or calendarID parameters further. Baseline score of 3 is appropriate.

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?

The description clearly states the verb 'List', the resource 'dates', and the context 'in a month that have availability for an appointment type'. It distinguishes from sibling tools like acuity_availability_times by focusing on dates rather than times.

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?

No guidance is given on when to use this tool versus alternatives such as acuity_availability_times or acuity_availability_classes. The description implies usage by stating the function, but explicit exclusions or context for choosing this tool are missing.

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

acuity_availability_timesGet available timesA
Read-only
Inspect

List available time slots on a given date for an appointment type. Acuity REST: GET /availability/times.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesDate to check, formatted YYYY-MM-DD, e.g. '2026-08-15'.
timezoneNoIANA timezone for the returned times, e.g. 'America/New_York'.
calendarIDNoRestrict to a specific calendar id.
appointmentTypeIDYesAppointment type id to check availability for (required).
Behavior3/5

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

Annotations already declare 'readOnlyHint: true', so the description does not need to repeat that. It adds the API endpoint reference, which is minor behavioral context. No further behavioral traits (e.g., rate limits, response structure) are disclosed.

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 crisp sentences with no wasted words. The first sentence communicates the core purpose, and the second provides a helpful API reference. Every part earns its place.

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 simple list tool with full schema coverage and no output schema, the description adequately covers the essentials. It could optionally mention that results are read-only (though annotations handle that) or that an empty list implies no availability, but it is sufficiently complete given the tool's complexity.

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 baseline is 3. The description does not add any information beyond what the schema already provides for parameters like timezone or calendarID. It mentions 'given date' and 'appointment type' but those are already specified in required fields.

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?

The description clearly states the action ('List'), the resource ('available time slots'), and the constraints ('on a given date for an appointment type'). It effectively distinguishes from sibling 'acuity_availability_dates' by focusing on times within a specific date.

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?

The description implies usage for checking times on a specific date but provides no explicit guidance on when to use this tool versus alternatives like 'acuity_availability_dates' or when to avoid it. No exclusions or prerequisites are mentioned.

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

acuity_cancel_appointmentCancel appointmentA
Destructive
Inspect

CANCELS an existing appointment. This MODIFIES the calendar and, unless suppressed, may send cancellation emails. Acuity REST: PUT /appointments/{id}/cancel.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesAppointment id to cancel (required).
adminNoIf true, cancel as admin (bypasses client cancellation restrictions).
noEmailNoIf true, suppress cancellation emails.
cancelNoteNoOptional note explaining the cancellation.
Behavior4/5

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

The annotations already mark destructiveHint: true. The description adds valuable context: modifies the calendar and may send cancellation emails unless suppressed. This informs the agent of side effects beyond the annotation.

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 sentences with no wasted words. The first sentence is front-loaded with the primary action, and the second adds critical side-effect context. Format is efficient.

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?

The description covers purpose, side effects, and references the REST endpoint. For a tool with no output schema, it could mention expected return values or error cases, but the current level is adequate given the simple cancellation operation.

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 100% with clear descriptions for each parameter. The description does not add extra semantic meaning beyond what is in the schema, so the baseline score 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?

The description clearly states the action ('CANCELS an existing appointment') and the resource (appointment). It distinguishes from siblings like acuity_reschedule_appointment by specifying cancellation, and mentions side effects (calendar modification, possible emails).

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?

The description implies when to use (to cancel an appointment) but does not explicitly contrast with alternatives like rescheduling or provide conditions (e.g., appointment must exist, permissions required). It offers no guidance on when not to use.

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

acuity_create_appointmentCreate appointmentA
Destructive
Inspect

CREATES a new appointment (books a client into a time slot). This MODIFIES the calendar and, unless suppressed, may send confirmation emails. Acuity REST: POST /appointments.

ParametersJSON Schema
NameRequiredDescriptionDefault
adminNoIf true, book as admin — bypasses availability checks and required-form enforcement. Default false.
emailYesClient email (required).
notesNoNotes to attach to the appointment.
phoneNoClient phone number.
fieldsNoIntake form field answers, each { id, value }.
noEmailNoIf true, suppress client/owner confirmation emails.
datetimeYesStart time in ISO 8601 with offset, e.g. '2026-08-15T14:00:00-0400' (required).
lastNameYesClient last name (required).
timezoneNoIANA timezone for the datetime, e.g. 'America/New_York'.
firstNameYesClient first name (required).
calendarIDNoCalendar id to book on (defaults to an available one).
appointmentTypeIDYesAppointment type id to book (required).
Behavior4/5

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

The description adds context beyond the destructiveHint annotation: it states the tool modifies the calendar and may send confirmation emails. This matches the annotation and provides useful behavioral details.

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 concise sentences: the first states the core purpose, the second adds behavioral and endpoint info. No filler or redundancy.

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

Completeness2/5

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

No output schema is provided, but the description does not mention return values or error conditions. For a creation tool with 12 parameters, more context on expected output and prerequisites would be helpful.

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 description adds little over the schema. It provides general context but no extra parameter-specific meaning beyond what the schema already offers.

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?

The description clearly states 'CREATES a new appointment (books a client into a time slot)', specifying the action and resource. It also mentions calendar modification and email effects, distinguishing it from siblings like cancel or reschedule.

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?

No explicit guidance on when to use this tool versus alternatives like cancel or reschedule. The description only notes email suppression, but lacks when-to-use or when-not-to-use context.

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

acuity_create_clientCreate clientB
Destructive
Inspect

CREATES a new client record in the account's client list. This ADDS data to the account. Acuity REST: POST /clients.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailNoClient email.
notesNoNotes about the client.
phoneNoClient phone number.
lastNameYesClient last name (required).
firstNameYesClient first name (required).
Behavior3/5

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

Descriptive adds 'ADDS data to the account' and HTTP method; consistent with destructiveHint annotation but no extra depth.

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?

Short and to the point, uses formatting to emphasize key actions, but could be slightly more structured.

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?

Adequate for a create tool with full schema coverage, but lacks info on response, errors, or prerequisites.

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 already covers all parameters with descriptions; description adds no extra meaning.

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?

Clearly states it CREATES a new client record, distinguishing from list or other actions.

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?

No guidance on when to use vs alternatives; no exclusion criteria or similar tool references.

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

acuity_get_appointmentGet appointmentA
Read-only
Inspect

Get a single appointment by its id. Acuity REST: GET /appointments/{id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesAppointment id.
Behavior3/5

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

Annotations already provide readOnlyHint=true, so the agent knows it's a safe read. The description adds that it uses a REST GET endpoint, but does not disclose additional behavioral details like what happens if the id is invalid or rate limits. The value added beyond annotations is minimal.

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?

The description is only two sentences, front-loaded with the key action, and contains no unnecessary words. Every part serves a purpose.

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 simple get-by-id tool with one parameter and annotations indicating read-only, the description is complete enough. No output schema is needed as the return values are implied by the resource type.

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 100%, with the id parameter described as 'Appointment id.' The description does not add extra meaning beyond what the schema already provides, so baseline 3 is appropriate.

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?

The description clearly states 'Get a single appointment by its id', which identifies a specific verb (get) and resource (appointment by id). It distinguishes from sibling tools like acuity_list_appointments which returns multiple appointments.

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?

The description implies usage when you have a specific appointment id, but does not explicitly mention when not to use or contrast with alternatives. However, for a simple get-by-id operation, the context is sufficiently clear.

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

acuity_get_meGet account infoA
Read-only
Inspect

Get the authenticated Acuity account's profile (name, email, timezone, plan, currency). Acuity REST: GET /me.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

The description adds detail beyond the readOnlyHint annotation by listing the specific fields returned, and no contradictory or missing behavioral traits are present.

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?

The description is two concise sentences with no wasted words. It front-loads the purpose and includes the API reference efficiently.

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 tool with no parameters and no output schema, the description fully covers what the tool does and what it returns, making it complete for an agent to use.

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?

There are no parameters, so the baseline score of 4 applies. The description does not need to add parameter semantics.

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?

The description clearly states it retrieves the authenticated account's profile with specific fields (name, email, timezone, plan, currency). It is distinct from sibling tools which deal with appointments, clients, etc.

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?

The context of retrieving account info is clear, and there are no sibling tools for the same purpose, so no explicit alternatives are needed. However, it does not explicitly state when not to use it.

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

acuity_list_appointmentsList appointmentsB
Read-only
Inspect

List appointments scheduled on the account, with optional filters. Acuity REST: GET /appointments.

ParametersJSON Schema
NameRequiredDescriptionDefault
maxNoMax appointments to return.
emailNoFilter by client email.
maxDateNoOnly appointments on/before this date (YYYY-MM-DD or ISO datetime).
minDateNoOnly appointments on/after this date (YYYY-MM-DD or ISO datetime).
canceledNoIf true, return canceled appointments (default false).
lastNameNoFilter by client last name.
directionNoSort order by datetime. ASC (default) or DESC.
firstNameNoFilter by client first name.
calendarIDNoFilter to a specific calendar id.
appointmentTypeIDNoFilter to a specific appointment type id.
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the description adds little beyond confirming it's a read operation. No additional behavioral traits disclosed.

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 sentences, front-loaded with the verb, no waste. Efficiently communicates purpose and mentions the REST endpoint.

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?

Given 10 parameters all documented in schema and no output schema, the description is adequate but doesn't explain return values or pagination beyond the max parameter.

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%, and the description does not add meaning beyond what's already in the schema. Baseline score is appropriate.

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 clearly states the tool lists appointments and mentions optional filters, but does not explicitly differentiate from sibling tools like 'acuity_get_appointment' for single appointments.

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?

No guidance on when to use this tool vs alternatives (e.g., get_appointment for a single appointment). The description only states what it does without usage context.

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

acuity_list_appointment_typesList appointment typesA
Read-only
Inspect

List the account's appointment types (services and classes), including price, duration and calendars. Acuity REST: GET /appointment-types.

ParametersJSON Schema
NameRequiredDescriptionDefault
includeDeletedNoIf true, also include deleted/inactive appointment types.
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the read-only behavior is clear. The description adds extra context about included fields (price, duration, calendars) and the underlying API endpoint, but does not disclose potential edge cases or other behaviors beyond that.

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?

The description is concise, consisting of two sentences. It front-loads the main purpose and then adds a useful REST endpoint reference. Could be slightly more streamlined, but overall efficient.

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 simple read-only tool with one optional boolean parameter, the description is fairly complete. It explains the output scope and endpoint. However, it lacks mention of pagination or ordering, though these may not apply.

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 100% with the only parameter (includeDeleted) having a clear description. The tool description adds no further parameter information beyond the schema, so it meets the baseline but not more.

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?

The description clearly states it lists appointment types, including price, duration, and calendars. It uses a specific verb ('List') and resource ('appointment types'), distinguishing it from siblings that deal with appointments, clients, etc.

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?

No guidance is provided on when to use this tool versus alternatives like acuity_list_appointments or other list tools. There is no mention of exclusions or best practices.

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

acuity_list_blocksList blocked-off timesA
Read-only
Inspect

List blocked-off (unavailable) time ranges on the account's calendars. Acuity REST: GET /blocks.

ParametersJSON Schema
NameRequiredDescriptionDefault
maxNoMax blocks to return.
maxDateNoOnly blocks on/before this date (YYYY-MM-DD or ISO datetime).
minDateNoOnly blocks on/after this date (YYYY-MM-DD or ISO datetime).
calendarIDNoFilter to a specific calendar id.
Behavior3/5

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

Annotations already mark readOnlyHint=true. The description adds that it lists 'unavailable time ranges', consistent with read-only, but does not reveal additional behaviors like pagination or response format.

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 short sentences with no waste. Every word earns its place.

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?

For a simple list tool with no output schema, the description is brief but sufficient for basic understanding. However, it lacks details on return structure or behavior.

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 description adds no value beyond schema. 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?

The description clearly states the verb 'List' and the resource 'blocked-off (unavailable) time ranges on the account's calendars'. It distinguishes from sibling list tools by specifying 'blocked-off' and 'calendars'.

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?

No guidance is provided on when to use this tool versus alternatives like availability classes. The description lacks context for usage.

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

acuity_list_calendarsList calendarsA
Read-only
Inspect

List the account's calendars (staff/resources appointments can be booked on). Acuity REST: GET /calendars.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

Annotations already indicate readOnlyHint=true. The description adds that it corresponds to a GET request and specifies the resource (calendars for staff/resources), which goes beyond the annotation.

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 concise sentences, front-loaded with the main purpose and a REST endpoint reference. No unnecessary words.

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 simple read-only list with no parameters, the description is sufficient. However, it lacks details on ordering or pagination, though these may not be applicable.

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?

No parameters are defined; schema coverage is 100% as there are no params. The description correctly does not add parameter info, earning baseline score for zero parameters.

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?

The description clearly states the tool lists the account's calendars and notes they are for staff/resources appointments. It distinguishes from sibling tools like acuity_list_appointments.

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?

No guidance on when to use this tool versus alternatives. The description only states what it does, not when it should be chosen over other list tools.

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

acuity_list_clientsList clientsA
Read-only
Inspect

List clients on the account, optionally filtered by a search string (name/email/phone). Acuity REST: GET /clients.

ParametersJSON Schema
NameRequiredDescriptionDefault
searchNoOptional search string to match client name, email, or phone.
Behavior2/5

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

Annotations include readOnlyHint: true, and the description aligns with that. The description adds the REST endpoint but no additional behavioral context beyond what annotations already provide. For a read-only listing tool, this is minimal.

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?

The description is a single sentence that states the main action and optional filter. It is front-loaded and concise, with no redundant information.

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?

Given the low complexity (one optional parameter, no output schema, read-only), the description is sufficient for an agent to understand the tool's purpose and basic usage. Could mention return format but not necessary.

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 has 100% description coverage with one parameter 'search'. The description adds that search matches 'name/email/phone', which clarifies the parameter's purpose beyond the schema's own description.

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?

The title 'List clients' and description 'List clients on the account, optionally filtered by a search string (name/email/phone)' clearly state the operation and resource. The mention of optional search distinguishes it from other list tools.

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?

The description implies usage for listing clients with optional search, but does not explicitly state when to use this tool over alternatives like acuity_list_appointments or acuity_list_calendars. No when-not or alternatives are provided.

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

acuity_list_formsList intake formsA
Read-only
Inspect

List the account's custom intake forms and their fields. Acuity REST: GET /forms.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

Annotations already declare readOnlyHint=true. Description adds that fields are included in output, but no additional behavioral context (e.g., pagination, authentication, rate limits).

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 short sentences with no filler. The REST endpoint reference is concise and helpful. Front-loaded with action and resource.

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 no-parameter read-only list tool, the description fully covers purpose, scope ('account-wide'), and output hint ('their fields'). No gaps given complexity.

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?

No parameters exist, and schema description coverage is 100% (empty schema). Baseline 4 applies per guidelines; description adequately covers that the tool has no parameters.

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?

Description uses specific verb 'List' and resource 'custom intake forms and their fields', clearly distinguishing from sibling list tools like acuity_list_appointments or acuity_list_clients.

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?

No explicit when-to-use or when-not-to-use guidance provided. Does not reference alternative tools, leaving agent to infer context from name alone.

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

acuity_list_labelsList labelsA
Read-only
Inspect

List the appointment labels (colored tags) defined on the account. Acuity REST: GET /labels.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

Annotations already provide readOnlyHint=true, and description is consistent. However, description adds no extra behavioral context (e.g., response structure or side effects) beyond the API endpoint mention.

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 short sentences, no wasted words, front-loaded with action and resource.

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 simple, parameterless tool with no output schema, the description is complete: it states what it lists and references the API.

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?

No parameters exist, so schema coverage is 100%. Baseline for 0 parameters is 4; description adds no extra parameter info but isn't required to.

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?

Purpose is clear: 'List the appointment labels (colored tags) defined on the account.' The verb 'List' is specific, and the resource 'labels' is distinct from sibling tools like list_appointments or list_clients.

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?

No explicit guidance on when to use this tool vs alternatives. Usage is implied but not elaborated; no exclusions or alternative suggestions are provided.

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

acuity_list_ordersList ordersA
Read-only
Inspect

List store orders (product / package / gift-certificate purchases). Acuity REST: GET /orders.

ParametersJSON Schema
NameRequiredDescriptionDefault
maxNoMax orders to return.
emailNoFilter orders by buyer email.
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the tool is known to be read-only. The description adds the REST endpoint reference but no further behavioral traits like pagination behavior or authentication needs.

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?

Single sentence that efficiently conveys the tool's purpose without any redundant information.

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

Completeness2/5

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

Despite the tool's simplicity, the description lacks context about the return format or behavior. No output schema exists, so the description should provide more information about what is returned, but it does not.

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 100% with descriptions for each parameter. The description adds no additional meaning beyond the schema, so baseline score of 3 is appropriate.

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?

Description clearly states the tool lists store orders, specifies types (product/package/gift-certificate), and references the underlying REST endpoint. Distinguishes from sibling tools about other resources (appointments, clients, etc.).

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?

No explicit guidance on when to use or not use this tool. It is implied for listing store orders, but no mention of alternatives or prerequisites.

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

acuity_list_productsList productsA
Read-only
Inspect

List the account's products / packages / gift certificates for sale. Acuity REST: GET /products.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

Annotations already declare readOnlyHint=true, so the description's 'List' verb is consistent. It adds the scope ('account's') but no additional behavioral details like pagination or response structure.

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?

One sentence with the action followed by the REST endpoint. No wasted words, front-loaded with the key purpose.

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?

Given no output schema, the description does not explain the return format, which could help agents interpret results. It covers the input well but lacks output expectations.

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?

No parameters exist, so schema coverage is 100%. The description adds context by specifying what is listed (products/packages/gift certificates), which is useful but baseline is already 4 for zero parameters.

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?

The description clearly states 'List the account's products / packages / gift certificates for sale.' It uses a specific verb and resource, and distinguishes from sibling list tools by specifying the type of items listed.

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?

No guidance on when to use this tool versus alternatives. With many sibling 'list' tools, the description does not provide context for selection or mention any prerequisites or limitations.

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

acuity_reschedule_appointmentReschedule appointmentA
Destructive
Inspect

RESCHEDULES an existing appointment to a new time (and optionally a new calendar). This MODIFIES the calendar and, unless suppressed, may send update emails. Acuity REST: PUT /appointments/{id}/reschedule.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesAppointment id to reschedule (required).
adminNoIf true, reschedule as admin (bypasses availability checks).
noEmailNoIf true, suppress reschedule emails.
datetimeYesNew start time in ISO 8601 with offset, e.g. '2026-08-16T10:00:00-0400' (required).
calendarIDNoMove the appointment to this calendar id.
Behavior4/5

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

Annotations declare destructiveHint: true, so the description does not need to restate destructiveness. However, it adds valuable context: 'MODIFIES the calendar and, unless suppressed, may send update emails', which goes beyond the annotation. No contradiction.

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?

The description is a single, front-loaded sentence followed by the REST endpoint. Every word is purposeful, with no redundancy or 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?

Given 5 parameters, 2 required, no output schema, and the destructiveHint annotation, the description adequately covers the action and side effects (email). It does not explain return values, but that is acceptable without an output schema.

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 baseline is 3. The description mentions 'new time' and 'new calendar' but does not add significant meaning beyond the schema's parameter descriptions.

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?

The description explicitly states 'RESCHEDULES an existing appointment to a new time (and optionally a new calendar)', clearly identifying the verb and resource. It distinguishes from siblings such as acuity_cancel_appointment and acuity_create_appointment.

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?

The description implies use for changing time/calendar and mentions email side effects, but provides no explicit when-to-use or when-not-to-use guidance, nor does it compare with alternatives like cancel or create.

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.