Skip to main content
Glama

Server Details

Servizi, giornate speciali e prenotazioni della Farmacia Santa Croce.

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.5/5.0

Scored across 14 tools

Disambiguation4/5

The two booking paths (book for logged-in users vs request_booking+confirm_booking for anonymous) and the two availability/list pairs (service vs special event) could initially look overlapping, but descriptions explicitly state when to use each (e.g. 'Se la persona ha già una sessione usa book'). Boundaries are well-clarified, with only minor residual risk around book/request_booking/confirm_booking.

Naming Consistency4/5

Most tools follow a clear verb_noun snake_case pattern (complete_login, get_service_availability, list_special_events, cancel_my_booking, start_registration). A couple deviate with bare verbs (book, logout) and confirm_booking breaks the start/complete pairing slightly, but the convention is broadly readable and consistent.

Tool Count5/5

14 tools is well-scoped for a pharmacy booking domain: two auth flows (start/complete login and registration plus logout), a booking flow, availability lookups, and listings. Each tool earns its place with no obvious redundancy.

Completeness4/5

The surface covers the full lifecycle for its stated scope: registration/login/logout, service and special-event discovery, availability, booking, and cancellation of special-event bookings. The main gap is that service bookings cannot be cancelled or rescheduled (explicitly punted to contacting the pharmacy), which is a documented business constraint rather than an accidental hole.

Available Tools

14 tools
bookPrenotaAInspect

Prenota a nome del cliente che ha effettuato l'accesso, senza codice. Conferma servizio, data e ora con la persona prima di chiamarlo.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoSolo per i servizi: data AAAA-MM-GG (da domani)
kindYes"service" per un servizio, "special_event" per una giornata speciale
slugYesSlug del servizio o della giornata speciale
timeYesOrario HH:MM tra quelli restituiti dalle availability
session_tokenYessession_token restituito da complete_login o complete_registration

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare this is a non-read-only, non-idempotent, non-destructive write. The description adds real behavioral context beyond that: the booking is attributed to the logged-in session and needs no code, and the human must confirm details first. It does not, however, disclose what happens on duplicate calls (relevant given idempotentHint=false) or what the tool returns.

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; the identity/no-code constraint is front-loaded and the confirmation precondition follows. Every clause 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 mutation tool with annotations covering the write profile and no output schema, the essentials are present. The gap is flow positioning: with request_booking and confirm_booking among siblings, the description never clarifies whether 'book' is immediate or provisional, which leaves an agent guessing about the multi-step booking sequence.

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 parameters are already fully documented (date only for services, time must come from availability, slug, session_token source). The description adds no parameter-level detail beyond what the schema carries, so the baseline of 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 gives a specific verb and resource ('Prenota' / book a slot) and adds two distinguishing facts: it acts on behalf of the logged-in client and requires no code. It does not, however, differentiate itself from closely named siblings such as request_booking and confirm_booking, so an agent cannot fully disambiguate the booking flow from the text alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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

It gives an operational precondition ('Conferma servizio, data e ora con la persona prima di chiamarlo'), which is useful procedural guidance, but says nothing about when to choose this tool over request_booking, confirm_booking, or the availability tools. Usage is only implied through the sibling set.

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

cancel_my_bookingAnnulla prenotazioneA
DestructiveIdempotent
Inspect

Annulla una prenotazione futura a una giornata speciale del cliente che ha effettuato l'accesso. Le prenotazioni dei servizi si modificano contattando la farmacia.

ParametersJSON Schema
NameRequiredDescriptionDefault
booking_idYesbooking_id da list_my_bookings
session_tokenYessession_token restituito da complete_login o complete_registration

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, idempotentHint=true and non-read-only, so the safety profile is covered. The description adds real context beyond that: only FUTURE bookings are cancellable and the operation is scoped to the authenticated customer's own special-event bookings, which prevents wrong-target invocations.

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 tight sentences with the core action front-loaded and no filler. Slight deduction because the second sentence uses "si modificano" (are modified) where "si annullano" would be expected, mildly blunting the exclusion statement.

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 two-parameter, fully documented, destructive cancel tool with annotations covering the safety profile and no output schema, the description supplies the scope, the subject restriction and one relevant exclusion. It omits reversibility/refund behavior and error cases, which keeps it short of exhaustive.

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% - both booking_id and session_token are documented in the schema, including their provenance (list_my_bookings, complete_login/complete_registration). The description adds no additional parameter meaning, so the baseline of 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 gives a specific verb ("Annulla") plus a bounded resource ("una prenotazione futura a una giornata speciale") and explicitly limits it to the logged-in customer's own bookings. It also carves out service bookings, which differentiates it from the booking-related siblings, though no sibling is named directly.

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?

Usage is implied rather than stated: the future-date and logged-in-customer framing tells the agent when the tool applies, and the service-booking sentence functions as a partial exclusion. However, no explicit "use this when..." guidance or alternative among the sibling tools (e.g. list_my_bookings to obtain the id) is given.

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

complete_loginCompleta accessoAInspect

Completa l'accesso con il codice WhatsApp. Restituisce un session_token. Se più persone condividono il numero, indicare first_name.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesCodice di 6 cifre ricevuto via WhatsApp
first_nameNoSolo se richiesto: nome della persona che accede
request_idYesrequest_id restituito dal passo precedente

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, and idempotentHint=false, so the agent knows this mutates auth state. The description usefully adds that a session_token is issued and that first_name is conditionally required for shared numbers, but says nothing about code expiry, retry behavior, or failure modes.

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, zero filler, with the core action and return value front-loaded and the conditional parameter caveat appended last.

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 3-parameter auth-completion tool with full schema coverage and no output schema, the description covers the action, the returned token, and the conditional parameter. It could add a word on code validity/expiry, but nothing essential is missing.

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 100%, so baseline is 3, but the description adds rationale the schema lacks: first_name is needed specifically when multiple people share the phone number, versus the schema's terse "Solo se richiesto". This meaningfully clarifies when to supply the optional parameter.

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 ("Completa l'accesso con il codice WhatsApp") and notes the return value (session_token). The verb "completa" implicitly pairs with the sibling start_login as the second step, though it never names that sibling explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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

The description implies this is the step following the one that produced request_id, and it states the condition for supplying first_name (shared phone number). It does not explicitly contrast with start_login or say what to do if the code is invalid/expired.

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

complete_registrationCompleta registrazioneAInspect

Completa la registrazione con il codice WhatsApp. Restituisce un session_token per gli strumenti dell'account.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesCodice di 6 cifre ricevuto via WhatsApp
request_idYesrequest_id restituito dal passo precedente

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false and destructiveHint=false, so the safety profile is covered. The description adds one genuinely useful behavioral fact beyond them – that a session_token is returned for account tools – but says nothing about single-use codes, failure/retry behaviour, or expiry, which matter for a non-idempotent mutation.

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 zero padding: the action is front-loaded and the return value follows. Nothing is repeated and nothing needs to be trimmed.

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 naming the returned session_token and its purpose. For a two-parameter, fully-documented tool this is nearly complete; only the flow prerequisite (a prior start_registration call) is left implicit.

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 both parameters (code, request_id) are already documented in the schema with their formats and provenance. The description's "codice WhatsApp" overlaps the schema's "Codice di 6 cifre ricevuto via WhatsApp" without adding new meaning, so 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?

"Completa la registrazione con il codice WhatsApp" states a specific verb (complete) and resource (registration), and pairs naturally with the sibling start_registration. It is clear what the tool does, but it never explicitly differentiates itself from start_registration or complete_login, so an agent must infer the pairing from the name alone.

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?

Usage is only implied: the name and "completa" suggest this is the second step of a flow begun by start_registration, and the schema's request_id text ("restituito dal passo precedente") reinforces it. However the description itself states no when-to-use condition, no prerequisite, and names no alternative, so the agent has to reconstruct the flow.

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

confirm_bookingConferma prenotazioneAInspect

Secondo passo di request_booking: conferma con il codice ricevuto dalla persona via WhatsApp.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesCodice di 6 cifre ricevuto via WhatsApp
request_idYesrequest_id restituito dal passo precedente

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare that this is a non-read-only, non-idempotent, non-destructive mutation. The description adds workflow context beyond that: it requires the request_id from the previous step and a 6-digit code delivered via WhatsApp, implying a user-verification step. It does not describe success/failure outcomes or permissions, but with annotations covering the safety profile this is a solid contribution.

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?

A single sentence that is front-loaded with the workflow position and the key requirement. There is no wasted wording; every element (second step, request_booking, code from WhatsApp) is necessary and immediately usable.

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 two-parameter mutation tool with detailed annotations and no output schema, the description provides sufficient context: it identifies the preceding step, the required code source, and the overall purpose. It could mention what happens after confirmation (e.g., final booking state) but nothing essential for calling the tool correctly 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 description coverage is 100%, so both parameters are already fully documented in the schema. The description mentions the code received via WhatsApp, which mirrors the schema's own description, and adds no new syntax, format, or constraint details beyond what the schema provides. Baseline 3 is appropriate when the schema does the heavy lifting.

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 states a specific verb (conferma) and resource (prenotazione), and explicitly positions the tool as the second step of request_booking, which differentiates it from the sibling request_booking. An agent can tell what it does and where it fits in the workflow 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?

It clearly says this is the second step of request_booking and requires a code received via WhatsApp, giving strong contextual guidance on when to call it. It does not name alternatives or state when not to use it, but the prerequisite is explicit enough to guide correct invocation.

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

get_service_availabilityOrari liberi di un servizioA
Read-only
Inspect

Orari liberi di un servizio in una data (da domani fino a 90 giorni).

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesData AAAA-MM-GG
serviceYesSlug del servizio (da list_services)

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint=false, so safety is covered. The description adds the tomorrow-to-90-days window, a genuine behavioral limit not present in the annotations. It still omits return shape and any auth/rate-limit notes.

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 short sentence with the resource and the date-window constraint front-loaded; nothing is wasted.

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 two-parameter read tool with full schema coverage and read-only annotations, the definition is nearly sufficient. The main remaining gap is that no output schema exists and the description does not clarify what a 'free slot' result looks like.

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 both parameters (date format, service slug source) are documented there. The description adds no syntax or format detail beyond the schema, so 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?

States a clear verb-resource pairing (free time slots for a service on a given date), so the agent knows this is an availability lookup rather than a booking action. It does not explicitly distinguish itself from the sibling get_special_event_availability, so it stops short of the top score.

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 parenthetical 'da domani fino a 90 giorni' gives a real constraint on the valid date window, which is useful context. However, it never says when to prefer this tool over get_special_event_availability or how it relates to the booking flow, leaving usage implied.

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

get_special_event_availabilityOrari liberi di una giornata specialeC
Read-only
Inspect

Orari ancora liberi di una giornata speciale.

ParametersJSON Schema
NameRequiredDescriptionDefault
eventYesSlug della giornata (da list_special_events)

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the agent knows this is a safe, closed-world read. The description adds nothing beyond that: it does not say the availability is real-time, whether results can change, or what the response contains. 'Ancora' vaguely hints the slots are still open, but that is thinner than needed even with the lower annotation-backed bar.

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 padding, and the resource is front-loaded. It is efficient, though its brevity reflects under-specification rather than disciplined editing.

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 one-parameter read-only query, the annotations and schema cover the safety profile and the input, and the phrase 'free slots' hints at the return content. However, with no output schema and no usage routing to sibling tools, the description leaves the agent without enough to confidently choose this tool over get_service_availability.

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% and the single 'event' parameter is fully documented in the schema, including a pointer to list_special_events for obtaining the slug. The description adds no additional meaning about the parameter, so the baseline 3 applies when the schema carries the full burden.

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

Purpose2/5

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

The description 'Orari ancora liberi di una giornata speciale' essentially restates the title verbatim, adding only the word 'ancora' (still). It conveys the resource (free slots for a special event) but no distinct verb or action, and it does not distinguish itself from the sibling get_service_availability, which reads almost identically. This is close to tautology.

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 get_service_availability, list_special_events, or the booking flow (request_booking/book). The only hint of context is the schema note pointing to list_special_events for the slug, which is in the schema, not the description. No when/when-not guidance is provided.

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

list_my_bookingsLe mie prenotazioniB
Read-only
Inspect

Prenotazioni future del cliente che ha effettuato l'accesso.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_tokenYessession_token restituito da complete_login o complete_registration

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 and openWorldHint=false, so the safety profile is covered by structured data. The description adds one useful behavioral fact — it returns only future bookings, not past ones — but says nothing about ordering, pagination, or what happens when the client has none.

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 clause with no wasted words, and the key scope (future, my) is front-loaded. It reads as a fragment rather than a sentence, but nothing padding-like is present.

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 one-parameter read-only list tool with annotations covering safety and no output schema, the description is minimally adequate. It conveys what is returned and for whom, but is thin on return shape and edge cases.

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?

With a single parameter at 100% schema coverage, the schema already explains that session_token comes from complete_login or complete_registration. The description adds no parameter-level detail, so the baseline of 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 a specific resource (prenotazioni) scoped to the authenticated client (del cliente che ha effettuato l'accesso) and adds a temporal filter (future). This is enough to separate it from cancel_my_booking and book, though the listing verb itself is only implied by the tool name rather than stated.

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 when-to-use guidance, no mention of prerequisites beyond the implied login, and no routing to alternatives such as get_service_availability or cancel_my_booking. The agent must infer both the trigger and the boundaries on its own.

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

list_servicesServizi prenotabili
Read-only
Inspect

Elenco dei servizi della farmacia prenotabili online (slug, durata, prezzo, giorni).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

list_special_eventsGiornate specialiB
Read-only
Inspect

Giornate speciali in programma (screening, consulenze…) con data e fascia oraria.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare this is a read-only, non-open-world operation, so the safety profile is covered. The description adds that results carry a date and time slot, which is useful return-shape context, but says nothing about ordering, filtering, or whether past events are included.

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 compact sentence with the key information front-loaded. No filler, though the trailing parenthetical is slightly informal and the ellipsis makes the enumeration of event types open-ended.

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 burden of describing return content and does so adequately (date and time slot for each special event). For a parameterless listing tool this is close to sufficient, missing only ordering or scope details such as whether only upcoming events are returned.

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?

The tool takes zero parameters, so the baseline is 4. There is nothing for the description to disambiguate, and it correctly does not invent parameter behavior.

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 (giornate speciali / special events) with examples of what they are (screening, consulenze) and what data accompanies them (date and time slot). It implicitly reads as a listing operation, though it never uses an explicit verb and does not explicitly distinguish itself from the sibling get_special_event_availability.

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 such as get_special_event_availability, list_services, or the booking tools. The usage context is only inferable from the noun phrase 'in programma'.

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

logoutEsciA
Idempotent
Inspect

Chiude la sessione aperta con complete_login / complete_registration.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_tokenYessession_token restituito da complete_login o complete_registration

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, idempotentHint=true, and destructiveHint=false, so the mutation/repeat-safety profile is covered. The description adds the prerequisite context (session comes from login/registration) but says nothing about token invalidation, error behavior, or whether other sessions are affected.

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?

A single, front-loaded sentence with zero filler that conveys purpose, prerequisite, and counterpart tools in one line.

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 one-parameter, non-destructive, idempotent logout with full schema coverage and annotations on safety, the description is nearly sufficient. Only post-call behavior (token invalidation, failure modes) is unaddressed, which is minor here.

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 single parameter's origin is already documented in the schema as 'restituito da complete_login o complete_registration'. The description adds no extra syntax or format detail, so the baseline 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 states a specific verb ('Chiude') and resource ('la sessione'), and it explicitly ties the session to the sibling tools that create it (complete_login / complete_registration). An agent can distinguish this from other siblings 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?

It clearly implies when to use the tool: after a session was opened via complete_login or complete_registration. It does not explicitly state when-not or what to do if no session exists, but the context is clear from the login/registration pairing.

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

request_bookingRichiedi prenotazione (senza accesso)AInspect

Prenotazione senza account o senza accesso: invia un codice WhatsApp al cellulare della persona. Il posto è riservato solo dopo confirm_booking. Se la persona ha già una sessione usa book.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoSolo per i servizi: data AAAA-MM-GG (da domani)
kindYes"service" per un servizio, "special_event" per una giornata speciale
slugYesSlug del servizio o della giornata speciale
timeYesOrario HH:MM tra quelli restituiti dalle availability
phoneYesCellulare con WhatsApp, es. +39 333 1234567
last_nameYesCognome della persona da prenotare
first_nameYesNome della persona da prenotare

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare non-readOnly, non-idempotent, open-world, non-destructive. The description adds real behavioral context beyond that: a WhatsApp verification code is sent to the phone, and the slot is held only after confirm_booking. It stops short of describing failure/retry behavior or code expiry, but the essential flow is 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?

Three tight sentences, all load-bearing: the core action, the mechanism, the finalization rule, and the sibling alternative. Front-loaded with the essential distinction (booking without access) before the routing advice.

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 7-param mutation tool with no output schema, the description covers the key flow (WhatsApp code, then confirm_booking) so the agent knows this call alone does not finalize a booking. It does not hint at what the response returns (e.g., a token needed for confirm), a minor gap but not essential to correct invocation.

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 every parameter (kind enum, slug, time, date, phone, names) is already documented in the schema, including the date-only-for-services rule. The description adds no parameter-level syntax or format detail beyond what the schema provides, so 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?

States a specific action (request a booking without account/login) and the mechanism (sends a WhatsApp code to the phone). It explicitly distinguishes itself from siblings confirm_booking (reservation not final until then) and book (for users with a session), so an agent can route correctly without opening schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

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

Explicitly gives the when-to-use condition (no account / no access) and names the alternative with its selecting condition ("Se la persona ha già una sessione usa book"). It also clarifies that the booking is only finalized via confirm_booking, so the agent understands this is a two-step flow.

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

start_loginAccessoAInspect

Accesso per chi è già cliente: invia un codice WhatsApp al cellulare registrato.

ParametersJSON Schema
NameRequiredDescriptionDefault
phoneYesCellulare registrato, es. +39 333 1234567

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, openWorldHint=true and idempotentHint=false, so the write/external nature is partly covered. The description does add real behavior — an outbound WhatsApp message to the stored number — but is silent on error behavior for unregistered numbers, rate limits, and whether re-invoking invalidates a prior code.

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?

A single sentence with zero filler, front-loading the audience constraint before the action. Nothing can be removed without losing meaning.

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 one fully documented parameter, annotations present and no output schema, the core is covered. However, for a multi-step authentication flow whose siblings include complete_login and start_registration, the description omits the sequencing an agent needs to chain calls correctly.

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 a single required 'phone' parameter whose description already gives format and example. The description only restates that the number must be the registered one, adding no format or validation detail beyond the schema, 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?

States a specific action and audience: it initiates login for existing customers by sending a WhatsApp code to the registered phone. The phrase 'per chi è già cliente' implicitly separates it from start_registration, but it never names the sibling it completes into (complete_login).

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 qualifier 'per chi è già cliente' implies the usage condition (existing customers vs. new registrations), but there is no explicit when-to-use statement, no mention of the required follow-up tool, and no exclusions or prerequisites such as the number having to exist in the system.

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

start_registrationRegistrazioneAInspect

Registra la persona al sito della farmacia: invia un codice WhatsApp al suo cellulare. Se è già registrata con quel numero e quel nome, il passo successivo effettua l'accesso.

ParametersJSON Schema
NameRequiredDescriptionDefault
phoneYesCellulare con WhatsApp, es. +39 333 1234567
last_nameYesCognome
first_nameYesNome

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false, but the description adds the key behavioral fact that this dispatch sends an external WhatsApp code to the phone — a real side effect an agent must know about. It also corroborates the non-idempotent nature (each call triggers a new code), though it says nothing about rate limits or failure modes.

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 action and its mechanism, no filler. The second sentence is slightly ambiguous in its referent ('il passo successivo' names no tool), which costs a point, but the size is appropriate.

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?

There is no output schema, so the description should orient the agent on what comes back and what to do next. It hints at a successor step but never names complete_registration, and it does not say what state or token the call yields, leaving the two-step flow implicit.

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%, including a formatted WhatsApp example for 'phone', so the schema carries the parameter documentation. The description adds a mild semantic nuance — that name and number together determine existing-user detection — but no format or validation details 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 verb+resource ('Registra la persona al sito della farmacia') and explains the concrete mechanism (invio di un codice WhatsApp). It distinguishes itself from the start_login flow indirectly by noting the already-registered case, but it never names start_login or complete_registration, so differentiation relies on inference.

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?

Usage is implied: this is the entry point for a new registration, and the description notes that an already-registered number/name will be handled by the following step. However, no explicit alternative ('use start_login if the user already has an account') or precondition is stated, leaving the agent to infer routing from siblings alone.

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. 14 tool updates
    • First observedbook
    • First observedcancel_my_booking
    • First observedcomplete_login
    • First observedcomplete_registration
    • First observedconfirm_booking
    • First observedget_service_availability
    • First observedget_special_event_availability
    • First observedlist_my_bookings
    • First observedlist_services
    • First observedlist_special_events
    • First observedlogout
    • First observedrequest_booking
    • First observedstart_login
    • First observedstart_registration

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources