Skip to main content
Glama

HairDora Salon Scheduling

List salon payments

list_payments
Read-onlyIdempotent

Use this when someone asks what payments their salon took, whether a client paid, or how much came in over a period. Returns payment records with id, client and salon ids, date, amount, currency and status for any date window and all salons unless one is given, newest first, up to 100 (no card details). Not for charging or refunding a client.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of payments to return (default 20, maximum 100)
endTimeNoOnly payments ending before this ISO 8601 time
salonIdNoOnly payments at this salon, by an id from the user's salon list; every salon when absent
clientIdNoOnly payments from this client, by an id from the client list
startTimeNoOnly payments starting at or after this ISO 8601 time

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
countYes
hasMoreYes
paymentsYesPayment records, newest first; this tool cannot charge, refund or move funds. Cardholder data, processor and customer ids, credentials, errors, discounts, staff commission splits, operator notes and organization data are excluded.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / clientId / description
      Previous value: -"Filter by a client id returned by list_clients"New value: +"Only payments from this client, by an id from the client list"
    • changedInput schema / properties / salonId / description
      Previous value: -"Filter by a salon id returned by list_salons"New value: +"Only payments at this salon, by an id from the user's salon list; every salon when absent"
    • addedOutput schema / properties / payments / description
      Added value: +"Payment records, newest first; this tool cannot charge, refund or move funds. Cardholder data, processor and customer ids, credentials, errors, discounts, staff commission splits, operator notes and organization data are excluded."
  2. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety is covered structurally. The description adds real value beyond them: results are 'newest first', capped at 100, scoped to all salons unless one is given, and notably exclude card details — a meaningful data-sensitivity disclosure. It stops short of describing pagination beyond the limit cap.

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?

Front-loaded with the triggering question, then the returned shape, scope, ordering, cap and exclusion in a single dense passage. Every clause carries information — no filler, no restatement of the title.

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?

An output schema exists, so field-by-field return documentation is not strictly required, yet the description still names the key fields, which helps selection. Combined with the scope defaults, ordering, cap and card-detail exclusion, an agent has enough to call this correctly; only pagination/truncation behavior past the 100 cap is left unaddressed.

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 of the five parameters (limit, endTime, salonId, clientId, startTime) is already documented with defaults, ISO 8601 format and id patterns. The description only restates the date window, salon scoping and the 100 cap, adding no format, boundary, or default nuance the schema does not already carry.

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 (list) and resource (salon payments) and immediately enumerates what the returned records contain: id, client and salon ids, date, amount, currency, status. It also draws an explicit boundary ('Not for charging or refunding a client'), so an agent can separate this read tool from payment-mutation intents without opening a 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 concrete triggering situations: 'when someone asks what payments their salon took, whether a client paid, or how much came in over a period', and an explicit exclusion for charging/refunding. It does not name an alternative sibling (e.g. list_appointments) for adjacent questions, but no sibling overlaps on payment data, so the routing is clear.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources