Skip to main content
Glama

Appty

Server Details

Find open slots on any appty link and book solo providers. Providers manage bookings by API key.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP ยท MCP 2025-11-25
URL

TDQS

A3.9/5.0

Scored across 11 tools

Disambiguation4/5

Most tools target distinct actions and resources, such as booking, canceling, rescheduling, listing, and sending payment requests. However, send_invoice and send_pay_link both request payment from clients and could be confused without careful reading, though their descriptions clarify the boundary.

Naming Consistency4/5

Tools overwhelmingly use consistent snake_case verb_noun naming, e.g. book_session, cancel_booking, list_bookings, send_invoice. who_owes is the one outlier, using a question-like phrase rather than a verb_noun pattern.

Tool Count5/5

With 11 tools, the set is well-scoped for an assistant that manages provider bookings, clients, slots, and payment requests. Each tool covers a meaningful operation without excessive surface area.

Completeness4/5

The core lifecycle is covered: finding slots, booking, canceling, rescheduling, listing bookings/clients, checking balances, and sending payment requests. Minor gaps exist, such as no single-booking retrieval or client create/update tools, but agents can likely work around them.

Available Tools

11 tools
book_sessionBook a sessionA
Destructive
Inspect

Book a client into a service at a start time, the same way the dashboard books. Returns a preview first and only acts when confirm=true. A past start is saved as completed with no email. A future start emails the usual confirmation. No money moves through the assistant. Any pay link is only a request the client pays on Appty.

ParametersJSON Schema
NameRequiredDescriptionDefault
startYesSession start, ISO 8601. Does not have to be an open public slot.
confirmNoSet true only after the caller has seen a preview and wants it done. Anything else, including the string "true", is a preview and changes nothing.
client_idYesClient id from list_clients.
service_idYesService id. One-off shells are refused.

TDQS

A4.1/5.0
Behavior4/5

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

The annotations already flag readOnlyHint=false, destructiveHint=true and openWorldHint=true, and the description adds real content on top: confirm gating, the no-email/completed behavior for past starts, the email sent for future starts, and the explicit "no money moves through the assistant" clarification of the pay-link side effect. It never explains why the operation is flagged destructive (e.g. overwriting an existing booking or overlapping sessions), which is the one behavioral 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?

Five short sentences with no filler, and the most important semantics (preview-then-confirm, then side effects) are front-loaded. Slightly dense on the money/pay-link framing, but every sentence 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 4-parameter mutation tool with no output schema, the description covers the confirmation contract and the email/side-effect outcomes well. It stops short of describing what the preview actually returns or what happens on conflicts, which the agent would need to interpret the preview call.

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 each parameter (start, confirm, client_id, service_id) is already documented in the schema with equivalent or greater detail. The description adds only marginal framing (the confirm gate, dashboard parity) rather than new parameter meaning, so the 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?

"Book a client into a service at a start time, the same way the dashboard books" gives a precise verb (book), resource (session/service), and actor (client), and is immediately distinguishable from the sibling tools like cancel_booking, reschedule_booking and find_open_slots.

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?

It clearly states the preview-first workflow ("Returns a preview first and only acts when confirm=true") and the past-vs-future start distinction, which tells the agent when the write actually happens. It does not, however, name alternatives such as reschedule_booking for moving an existing booking or find_open_slots for slot discovery.

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

cancel_bookingCancel a bookingA
Destructive
Inspect

Cancel one booking under the provider's cancellation policy and email the client. Returns a preview first and only acts when confirm=true. No money moves through the assistant. Any refund or fee is applied by Appty, the same as the dashboard. The client pays anything still due on Appty.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNo
confirmNoSet true only after the caller has seen a preview and wants it done. Anything else, including the string "true", is a preview and changes nothing.
booking_idYes

TDQS

A4.1/5.0
Behavior5/5

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

Annotations already declare destructiveHint=true and openWorldHint=true, but the description adds real context beyond them: a preview-then-confirm two-step, an outbound email to the client, and the clarification that no money moves through the assistant (refunds/fees applied by Appty, client pays remainder on Appty). That is exactly the added behavioral context a mutation tool needs.

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?

Front-loads the action, then the confirm gate, then the money caveats, so the most important facts come first. The last three sentences all orbit the same 'Appty handles money' point and could be tightened into one without losing meaning.

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 destructive, open-world tool with no output schema, the description covers the safety-critical items: the preview requirement, the client email side effect, and where money is handled. It leaves open what the preview contains and what 'reason' is used for, which is a modest gap.

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

Parameters2/5

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

Schema description coverage is only 33%: confirm is thoroughly documented in the schema (including the string "true" edge case) and the description merely restates that gate, while 'reason' (maxLength 500) is explained in neither place. With low coverage the description should compensate for the undocumented parameters and it does not.

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 ('Cancel one booking') plus the governing policy and a concrete side effect ('email the client'). This is unmistakably distinct from siblings like reschedule_booking, book_session, and list_bookings, so an agent can route without opening any 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 an explicit operational gate: it 'returns a preview first and only acts when confirm=true', which tells the agent exactly how to sequence the call. It stops short of naming when not to use it or pointing to an alternative tool (e.g. reschedule_booking for a date change).

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

find_open_slotsFind open slotsA
Read-only
Inspect

Open start times for a public service, using the same slot rules as the booking page. from_date and to_date are YYYY-MM-DD and at most 31 days apart. Each start is ISO 8601 with the provider's offset, plus a provider-local label.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesBooking link slug, the part after getappty.com/
to_dateYesLast day to include, YYYY-MM-DD. At most 31 days after from_date.
timezoneNoIANA zone the dates are in. Defaults to the provider's zone. Slot labels stay in the provider's zone.
from_dateYesFirst day to include, YYYY-MM-DD
service_idYesService id from get_provider

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=false, so the safety profile is covered. The description adds real value beyond that: the return shape (ISO 8601 with the provider's offset plus a provider-local label) and the hard 31-day window constraint. It doesn't mention auth requirements, rate limits, or behavior for non-public/unknown services.

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, zero filler, with the core purpose front-loaded before the date and return-format details. Every clause carries information an agent needs.

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?

With no output schema, the description correctly compensates by describing the returned start format. Combined with 100% schema coverage on the 5 params, an agent has enough to call it. Missing edge-case behavior (empty results, unknown slug/service, whether a non-public service errors) keeps it from a 5.

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 largely restates schema facts (YYYY-MM-DD format, 31-day max span), and the timezone/label behavior it mentions is already in the timezone parameter's own description. Only the ISO-8601-offset return detail is net-new, and that is a return-value concern.

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+resource ('Open start times for a public service') and scopes it to a public booking context, which implicitly separates it from the booking/mutation siblings like book_session. It stops short of naming any alternative tool explicitly, so an agent still infers the read-vs-write boundary rather than reading it.

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?

'using the same slot rules as the booking page' implies the intended context (checking availability before booking), but there is no explicit when-to-use/when-not or routing to book_session or get_provider. Usage is inferable rather than stated.

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

get_providerGet providerA
Read-only
Inspect

Public booking page for a provider slug: name, headline, time zone, currency, services, upcoming group sessions, and the booking URL. No client data.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesBooking link slug, the part after getappty.com/

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds real value beyond that: it scopes the data as public-facing (the booking page) and explicitly excludes client data, which tells the agent what is safe to surface. It stops short of describing error behavior for an unknown or inactive slug.

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?

Two sentences, front-loaded with the resource identity and followed by the return-field list; every clause carries information, and the field enumeration is load-bearing given there is no output schema. Slightly list-heavy but not padded.

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?

With no output schema, the description usefully enumerates the returned fields, and the single required parameter is fully documented in the schema. What is missing is any note on behavior for an invalid slug or an unpublished provider, but for a simple read of one entity this is close to 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% and the slug field is documented as 'the part after getappty.com/'. The description only restates 'for a provider slug' without adding format, casing, or slug-resolution semantics, so it does nothing beyond the schema. Baseline 3 applies.

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 states a specific resource (a provider's public booking page, keyed by slug) and enumerates the payload: name, headline, time zone, currency, services, upcoming group sessions, booking URL. It contrasts with the sibling set implicitly via 'No client data', which separates it from list_clients/who_owes, but no sibling is named explicitly.

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 word 'Public' and the absence of any session/booking mutation implies this is a read-only lookup of a provider's outward-facing profile, which is enough to infer usage. However, there is no explicit statement of when to reach for this versus get_booking_link or find_open_slots, and no mention of prerequisites or failure cases.

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

list_bookingsList bookingsB
Read-only
Inspect

This provider's bookings. Omit from and to for upcoming sessions. Never includes pay or manage tokens.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoInclude sessions starting before this ISO 8601 time.
fromNoInclude sessions starting at or after this ISO 8601 time. When from and to are both omitted, this is now.
limitNoDefault 50. Maximum 100.
statusNo

TDQS

B3.3/5.0
Behavior4/5

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

Annotations already cover readOnly, non-destructive, and closed-world. The description adds real value beyond them: it discloses that results never contain pay or manage tokens, which is a meaningful output-boundary fact that keeps an agent from expecting link credentials here. It stops short of describing ordering or pagination behavior.

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 scoping and exclusion facts appear immediately. The opening fragment is clipped enough to read as an incomplete sentence rather than a polished statement.

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 read-only list tool with no output schema, the description covers the key negative fact about returned content but omits the default limit (50, capped at 100) and the purpose of the status filter. An agent can call it correctly, but result-set size and filtering behavior remain under-explained.

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 75%, so the schema already documents from, to, and limit well. The description's "omit from and to for upcoming sessions" largely restates the schema's own note that an omitted from defaults to now, adding only mild practical framing and nothing about the status enum filter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The phrase "This provider's bookings" names the resource and scope but supplies no verb of its own โ€” the listing action is only inferable from the tool name and title. It does not distinguish itself from siblings such as find_open_slots or get_booking_link, whose results would overlap with a naive reading of "bookings".

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?

"Omit from and to for upcoming sessions" gives one concrete default-behavior rule for the time filters. However, there is no guidance on when to choose this tool over siblings like find_open_slots (availability) or get_booking_link (single-booking detail), so the routing decision is only implied.

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

list_clientsList clientsB
Read-only
Inspect

This provider's clients: id, name, email, phone, billing currency, and default pay mode.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoDefault 50. Maximum 100.
queryNoCase-insensitive match on the client's name or email.

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, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds the returned field set, which is genuine extra context, but says nothing about ordering, pagination/truncation, or whether all clients are returned.

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?

A single short sentence with no filler, front-loading the resource before the field list. It is a noun-phrase fragment rather than a full sentence, but nothing is wasted.

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, enumerating return fields is valuable and partially compensates. However, it omits pagination behavior and result ordering, and gives no usage context, leaving gaps for a listing tool whose siblings overlap on client data.

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%, so limit (default 50, max 100) and query (case-insensitive name/email match) are fully documented in the schema. The description adds nothing about these parameters, so the baseline 3 applies.

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 names the resource ('this provider's clients') and enumerates the fields it returns, which lets an agent tell it apart from siblings like list_bookings or who_owes. It never uses an explicit verb, relying on the name/title for the 'list' action, so it falls just short of a 5.

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?

There is no statement of when to use this tool versus alternatives (e.g., who_owes for balances or get_provider for the provider record), and no prerequisites or exclusion conditions. Usage is only implied by the resource name.

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

reschedule_bookingReschedule a bookingA
Destructive
Inspect

Move a booking to an open slot. The client is not emailed. Returns a preview first and only acts when confirm=true. No money moves through the assistant.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNoSet true only after the caller has seen a preview and wants it done. Anything else, including the string "true", is a preview and changes nothing.
new_startYesNew start, ISO 8601. Must be an open slot for this booking's length.
booking_idYes

TDQS

A4.5/5.0
Behavior5/5

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

Adds substantive behavior beyond the annotations: the client is not emailed, money does not move through the assistant, and the operation is a preview until confirm=true. These are exactly the side-effect facts an agent needs before mutating a booking, and they are consistent with destructiveHint=true / readOnlyHint=false.

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?

Four short sentences, front-loaded with the action, then the two behavioral caveats and the confirmation gate. No filler; every sentence carries information an agent needs.

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 three-parameter mutation with no output schema, this is complete: it covers the mutation, its side effects (no email, no money), and the two-phase preview/commit contract. Nothing required to call it safely 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 coverage is 67% and the confirm parameter is already documented thoroughly in the schema, including the 'string true' edge case. The description reinforces the confirm gate but adds no syntax or constraint detail beyond the schema, so it sits at the baseline rather than compensating for the undocumented booking_id.

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 ('Move a booking to an open slot'), which cleanly separates it from siblings like book_session, cancel_booking, and find_open_slots. An agent can tell what it does and what it does not do (cancel, create) without opening the 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 clear operating context: the slot must be open for the booking's length, and the call is preview-first. It does not name the alternative path (e.g. find_open_slots to obtain a valid new_start) or any when-not-to-use condition, so it stops short of explicit routing guidance.

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

send_invoiceSend an invoiceA
Destructive
Inspect

Create one invoice per currency for a client's sessions (by id or by calendar month) and email it. Returns a preview first and only acts when confirm=true. No money moves through the assistant. The invoice only sends a request the client pays on Appty.

ParametersJSON Schema
NameRequiredDescriptionDefault
periodNoCalendar month YYYY-MM in the provider's time zone. Uninvoiced sessions in that month.
confirmNoSet true only after the caller has seen a preview and wants it done. Anything else, including the string "true", is a preview and changes nothing.
client_idYes
booking_idsNoSessions to put on the invoice. Pass this or period.

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already flag destructiveHint=true and openWorldHint=true, but the description adds real behavioral detail beyond them: a preview-first two-step flow gated on strict confirm=true, client-facing email being sent, and the clarification that no funds move through the assistant. That is exactly the context an agent needs before firing a destructive operation.

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?

Four short sentences, front-loaded with the core action and immediately followed by the preview/confirm safety model. Every clause carries information; nothing is restated from the title or 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 destructive, schema-rich tool with no output schema, the description covers the essential risk model (preview then confirm), the side effect (email dispatched), and the boundary (no money movement). It stops short of describing what the preview contains or how multiple currencies are surfaced, which is a minor gap.

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 coverage is 75% and the schema already documents period, confirm, and booking_ids thoroughly. The description still adds meaning by framing period vs booking_ids as mutually alternative selection modes (id-based or calendar-month) and clarifying the per-currency invoice granularity that no single parameter expresses.

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 precise verb+resource and scope: create one invoice per currency for a client's sessions, by booking id or calendar month, then email it. The 'no money moves through the assistant' clause also distinguishes it in spirit from send_pay_link, so an agent can tell what this tool is without opening the 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 clear invocation context: it returns a preview first and only acts when confirm=true, and it explains the two input modes (by id or by calendar month). It does not explicitly compare itself to siblings like send_pay_link or who_owes, so no exclusion guidance is present.

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

who_owesWho owesA
Read-only
Inspect

Unpaid balances for this provider, grouped by client and currency. Same figures as the dashboard who-owes page.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false, openWorldHint=false), so the bar is lower. The description adds real context beyond them: results are scoped to 'this provider' and the response is grouped by client and currency, which tells the agent what shape of data comes back.

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 core deliverable (unpaid balances, grouped) is front-loaded and the dashboard-equivalence note follows as supporting context.

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?

With no output schema, the description carries the return-value burden and partially does so by naming the grouping dimensions, but it does not describe fields returned per group or whether zero-balance clients are included.

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?

Zero parameters, so there is nothing for the description to disambiguate โ€” baseline 4 applies. The implicit 'this provider' scoping is stated, which is the only context a parameterless call needs.

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 resource and scope: unpaid balances for this provider, grouped by client and currency. An agent can distinguish it from list_bookings/list_clients without opening a schema, though it never names a 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 Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'same figures as the dashboard who-owes page' line implies the reporting/collections use case, but there is no explicit when-to-use guidance and no statement of when another tool (e.g. list_clients or list_bookings) would be preferable.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 11 tool updates
    • First observedbook_session
    • First observedcancel_booking
    • First observedfind_open_slots
    • First observedget_booking_link
    • First observedget_provider
    • First observedlist_bookings
    • First observedlist_clients
    • First observedreschedule_booking
    • First observedsend_invoice
    • First observedsend_pay_link
    • First observedwho_owes

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Enables AI agents to look up businesses, find free appointment slots, book, list and cancel appointments at salons, barbershops, nail and brow studios and clinics. Works read-only without a customer login by returning a pre-filled booking link, and can also run against a built-in demo with sample businesses.
    5
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Book a table, an appointment or a place in a class at a real local business. Live availability, instant confirmation, no account and no API key. Eight tools: search, fetch, get_business, check_availability, create_booking, check_booking, cancel_booking and request_listing. Guest emails in eight languages. Hosted at https://g-guest.app/api/mcp
    8
    6 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources