Skip to main content
Glama

Server Details

Agenda SP — events and cultural agenda for São Paulo: shows, exhibitions, and things to do.

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
Uptime
94.6% over 75 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4/5.0

Scored across 19 tools

Disambiguation5/5

The tools cover distinct resource/action pairs, and the potentially confusable booking tools are clearly separated: venue appointment booking, restaurant reservation request, paid event ticket hold, and free event RSVP each have explicit different semantics. Read-only listing tools like list_booking_services and list_pricing_plans also target clearly different information despite sharing the venue-scoped pattern.

Naming Consistency5/5

All tools use snake_case and follow a predictable verb_noun or verb_resource pattern. Minor variations like rsvp_event still fit the convention cleanly, and no camelCase or mixed-style names appear.

Tool Count3/5

At 19 tools, the surface is on the heavy side for a single MCP server, even though the tools span multiple distinct Wix modules. Each tool has a purpose, but the count is high enough that a narrower, more modular server split might reduce context burden.

Completeness4/5

The set covers discovery, venue details, events, movies/showtimes, booking, reservations, RSVPs, forms, FAQ, reviews, loyalty, and site context quite thoroughly. There are minor lifecycle gaps, especially around cancelling or retrieving the status of bookings, reservations, RSVPs, or ticket holds, but core workflows are present.

Available Tools

19 tools
create_bookingAInspect

Book an appointment slot at a venue (Wix Bookings). NOTHING IS BOOKED UNTIL THE CUSTOMER PAYS: this returns a checkout URL, and the booking stays off the venue's calendar until a human opens that URL and completes payment on the venue's own site. Tell the user they must open the link. Call get_availability immediately before this — the slot is re-validated server-side and a taken slot is rejected. The contact email is NOT verified at this step; the checkout is what confirms it.

NameRequiredDescriptionDefault
contactYesWho the booking is for. All three are required by the venue to confirm or reschedule.
endDateYesSlot end as an ISO instant, exactly as returned by get_availability.
serviceIdYesService ID from list_booking_services (called with the same place_slug).
startDateYesSlot start as an ISO instant, exactly as returned by get_availability.
place_slugYesVenue place slug from search_places.
resourceIdNoOptional staff/resource ID from the slot, when the user picked a specific professional.

TDQS

A4.7/5.0
Behavior5/5

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

Discloses behavior that no annotation could convey: the booking is not on the venue's calendar until payment completes, the slot is re-validated server-side and can be rejected as taken, and the contact email is unverified at this step. This directly shapes how an agent must present the result to a user.

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 tight sentences, front-loaded with the critical 'NOTHING IS BOOKED UNTIL THE CUSTOMER PAYS' caveat, followed by prerequisites and the user-facing instruction. Every sentence carries information an agent would otherwise get wrong.

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?

With no output schema, the description supplies the return value (checkout URL), the pre-call prerequisite, the post-call human action, and the failure mode (slot taken). It is complete enough to call correctly and to explain the result without further documentation.

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 the baseline is 3; the description adds meaning by explaining that startDate/endDate are re-validated against availability and that contact email is not treated as verified here. It does not explain the optional resourceId path, which keeps it below the top of the scale.

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 — booking an appointment slot at a venue (Wix Bookings) — and immediately clarifies the outcome (a checkout URL, not a confirmed booking). This distinguishes it from create_checkout and request_reservation rather than restating the name.

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 ordering prerequisite ('Call get_availability immediately before this') and a mandatory human follow-up ('Tell the user they must open the link'). It does not compare against alternatives such as request_reservation or create_checkout, so the routing guidance is strong but not complete.

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

get_availabilityA
Read-onlyIdempotent
Inspect

Get available time slots for a bookable service on a given date (Wix Bookings). Pass the serviceId from list_booking_services and a date in YYYY-MM-DD. Pass the same place_slug you used there — slot times are returned in the VENUE's timezone, which is not necessarily the directory's.

NameRequiredDescriptionDefault
dateYesDate in YYYY-MM-DD format.
serviceIdYesService ID from list_booking_services.
place_slugNoVenue place slug — use the same one passed to list_booking_services.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive behavior, so safety is covered. The description adds a genuinely useful trait beyond that: slot times are returned in the VENUE's timezone, which is not necessarily the directory's — a non-obvious behavior an agent would likely get wrong.

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, front-loaded with the purpose, then prerequisites, then the timezone caveat. No filler sentences and nothing redundant with structured fields.

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 return-value burden and does address the key return detail (slot times plus their timezone). It does not describe the shape of the slot list or behavior when no slots exist, which is a minor gap for an otherwise complete definition.

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 the baseline is 3, but the description adds real meaning: it names the source of serviceId (list_booking_services) and explains that place_slug must match the earlier call because it governs the returned timezone. That links a parameter to an observable output behavior rather than just restating the schema.

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 — 'Get available time slots for a bookable service on a given date' — and scopes it to Wix Bookings. This clearly separates it from list_booking_services, get_event_tickets, and the booking-creation siblings.

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?

Explicitly routes the agent to call list_booking_services first and reuse its serviceId and place_slug, which conveys the intended call sequence. It stops short of stating exclusions (e.g. what to do for multi-day ranges or unavailable dates), so it's clear but not fully exhaustive.

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

get_event_ticketsA
Read-onlyIdempotent
Inspect

Get ticket types and prices for a specific event (Wix Events). Pass the event slug from list_events. Returns ticket names, prices, sale status, and how many are left.

NameRequiredDescriptionDefault
event_slugYesEvent slug from list_events.

TDQS

A4.1/5.0
Behavior4/5

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

The annotations already declare this as safe, read-only, idempotent, and non-destructive. The description adds useful return-value context by naming ticket names, prices, sale status, and remaining counts, though it does not discuss authorization or edge-case behavior.

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 tightly written sentences with the action and scope front-loaded. Every phrase adds either workflow context or expected return information.

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 one-parameter read tool with no output schema, the description covers the required input source and summarizes the returned fields. Annotations already cover safety, so an agent has enough to call it 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 description coverage is 100%, and the description repeats the schema's guidance that event_slug comes from list_events. It does not add format, validation, or example details beyond the schema.

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 and resource: get ticket types and prices for a specific event. It also names the return fields, making clear this is an information-retrieval tool rather than a booking or RSVP action.

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 the prerequisite that the event slug comes from list_events, which implies the workflow context. However, it does not explicitly say when to use this versus related siblings like reserve_event_tickets or get_availability.

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

get_loyalty_infoA
Read-onlyIdempotent
Inspect

Get the loyalty/rewards program details for this site (Wix Loyalty). Returns program name, points currency name, and tier structure with required points per tier.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds real value by disclosing the shape of the payload (program name, points currency name, tier structure with required points per tier), which is not in any structured field since there is no output schema. It stops short of covering auth requirements or behavior when loyalty is disabled.

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 action and scope, followed by the return fields. Nothing is redundant with the name and 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?

With no output schema, the description carries the burden of explaining returns and it does so adequately by listing the three field groups. A minor gap remains around edge cases (e.g., site without a loyalty program), but for a zero-param read tool this is close to sufficient.

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 no parameters, so there is nothing for the description to disambiguate; baseline 4 applies. No spurious parameter talk clutters the definition.

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 ('Get the loyalty/rewards program details for this site') and names the backing product (Wix Loyalty). No sibling tool covers loyalty, so there is no ambiguity to resolve, and the description even enumerates the returned fields.

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: an agent can infer it should call this when it needs loyalty program configuration. There is no explicit when-to-use/when-not framing, no mention of what to do if the program is not enabled, and no alternative named — but with zero parameters and one obvious purpose, little guidance is genuinely needed.

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

get_placeA
Read-onlyIdempotent
Inspect

Get full details for a specific place by its URL slug, including opening hours, a precomputed open_now boolean, amenity attributes (slugs), the same delivery deep-link array search_places returns, ratings, address, and neighborhood.

NameRequiredDescriptionDefault
slugYesURL slug of the place.

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, non-destructive and closed-world, so the safety profile is settled. The description goes further with genuinely non-obvious behavior: `open_now` is precomputed (not raw hours the agent must reason over), `attributes` are slugs requiring resolution, and `delivery` deep-links match search_places output. It omits error behavior for an unknown slug, which keeps it off a 5.

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?

One sentence, front-loaded with verb + resource + identifying key before the field enumeration, so an agent can stop reading early if that's all it needs. The return-field list is dense but each item is a distinct piece of information rather than 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?

With one parameter, rich annotations, and no output schema, the description carries the return-shape burden and does so by enumerating the notable fields. What's missing is edge behavior (invalid/unknown slug) and any hint about cost or rate limits, but nothing essential to calling it correctly is absent.

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% — the single `slug` parameter has both a description ('URL slug of the place.') and an example. The description adds only the word 'URL slug' in prose, no format, casing, or sourcing guidance 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.

Purpose5/5

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

Specific verb + resource ('Get full details for a specific place by its URL slug') followed by an explicit inventory of what the response contains. The mention that the `delivery` array is 'the same ... search_places returns' anchors it against the sibling list tool, so an agent can tell a single-record detail fetch from a search 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 Guidelines3/5

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

Usage is only implied: the phrase 'by its URL slug' tells the agent it needs a slug, which signals a follow-up call after search_places. There is no explicit when-to-use / when-not statement and no named alternative for the detail-lookup case (search_places is referenced only as a format comparison, not as a routing alternative).

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

get_reviewsB
Read-onlyIdempotent
Inspect

Get published reviews for this site (Wix Reviews). Returns reviewer name, rating, title, and content.

NameRequiredDescriptionDefault
limitNoMax reviews to return (default 10, max 50).

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds real value by enumerating returned fields and implying a publication-status filter, but says nothing about pagination, ordering, or what happens when a site has no reviews.

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 filler: the first defines scope and source, the second defines the payload. Nothing is buried or repeated.

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 one optional parameter, full schema coverage, annotations covering safety, and no output schema, the description supplies the missing return-shape information. Only the 'published' filter semantics and ordering behavior remain unstated.

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%: the single `limit` parameter documents its default (10) and maximum (50). The description adds no additional meaning about limit, so the schema carries the full burden and 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 verb and resource (get published reviews for this site) plus the source system (Wix Reviews), so the agent knows exactly what it retrieves. It does not name any sibling for contrast, but no sibling in the list covers reviews, so confusion risk is low.

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?

The description gives no when-to-use framing, no prerequisites, and no exclusions. The only implicit guidance is the word 'published', which hints that unpublished/draft reviews are excluded but never states it outright.

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

get_showtimesA
Read-onlyIdempotent
Inspect

Get showtimes for a specific movie at cinemas in this neighborhood, for a given date. Returns each cinema with session times, format (e.g. "Laser", "3D"), and language (Dublado/Legendado). Requires movies_enabled on this site.

NameRequiredDescriptionDefault
dateNoDate in YYYY-MM-DD format. Defaults to today (BRT).
movie_slugYesMovie slug from list_movies.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, closed-world and non-destructive, so the safety bar is lower. The description still adds genuine value by disclosing the return shape (cinemas with session times, format, language) in the absence of an output schema, plus the movies_enabled dependency and a written-language detail (Dublado/Legendado).

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: scope first, then return shape, then prerequisite. Every clause carries information and nothing is buried or repeated.

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 2-parameter read with no output schema, the description supplies the two things an agent cannot infer: what comes back and the site-level feature gate. Minor residual gaps (behaviour when movies_enabled is off, how 'this neighborhood' is resolved) keep 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 coverage is 100%, so both parameters and the YYYY-MM-DD / today-BRT default are already documented. The description restates 'for a given date' and 'a specific movie' without adding format or edge-case semantics, 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 verb and resource (get showtimes) with scope: one movie, cinemas in this neighborhood, a given date. That makes the tool's job unmistakable. It does not name a sibling or contrast itself with a near-neighbour like get_availability, so it falls 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 Guidelines3/5

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

The prerequisite 'Requires movies_enabled on this site' is a real usage condition, and 'for a specific movie' implies a slug sourced elsewhere (list_movies appears only in the schema). There is no explicit when-not-to-use or alternative routing, so guidance is implied 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_site_infoA
Read-onlyIdempotent
Inspect

Returns basic information about this neighborhood directory: name, locale, domain, description, canonical URLs for key sections, plus the current LOCAL TIME and CURRENT WEATHER at the neighborhood (temperature, condition). Use this for any "what time is it there" or "what's the weather like" context.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, closed-world, non-destructive, so the safety profile is covered. The description adds useful payload disclosure: that time and weather are live/current values computed at call time rather than cached directory metadata, which is a behavioral trait the annotations do not convey. It doesn't mention freshness window or caching, so not a 5.

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 primary return payload and finished with the concrete use cases. No filler and no repetition of the name.

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?

With no parameters, no output schema, and annotations covering the safety profile, the description's job is to tell the agent what it will get — and it enumerates the returned fields including the two dynamic values an agent might not expect. Nothing needed to invoke it correctly 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?

Zero parameters, so per the baseline this sits at 4. The description correctly signals a no-argument call and adds nothing misleading about inputs.

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?

A specific verb (returns) plus a clearly bounded resource (basic site/neighborhood info), with an explicit enumeration of what comes back: name, locale, domain, description, canonical URLs, plus local time and current weather. No sibling tool overlaps this surface, so differentiation is unnecessary.

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 closing sentence gives concrete trigger conditions ("what time is it there", "what's the weather like"), which is stronger than a vague context hint. It stops short of stating when not to use it or naming an alternative, but no sibling actually competes for this job.

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

list_booking_servicesA
Read-onlyIdempotent
Inspect

List a venue's services — what it offers, with price and duration. Pass place_slug (from search_places) to list the services of a specific VENUE — a salon, clinic or studio listed in this directory; that is what you want in almost every case, and it is the only form whose serviceId works with create_booking. Omitting place_slug lists the directory site's own services instead, which most sites do not have. Returns name, description, price, duration in minutes, and bookableViaMcp. Services are listed for EVERY venue, including those with no online booking system — check bookableViaMcp: when it is false, id is null and you cannot book through create_booking, so point the user at bookingUrl or the venue's page instead.

NameRequiredDescriptionDefault
place_slugNoVenue place slug from search_places. Strongly recommended — without it you get the directory's own services, not a venue's.

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare readOnly, idempotent, non-destructive, and closed-world behavior. The description adds substantial context beyond that: returned fields, the bookableViaMcp flag, the fact that services exist even for non-bookable venues, and what id=null means for create_booking.

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 front-loaded with the core purpose and then layers in the critical parameter distinction and return-value caveat. It is somewhat dense and repeats the venue-vs-directory distinction, but every major sentence carries useful operational information.

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?

Given no output schema and simple annotations, the description covers the purpose, the key parameter behavior, return fields, and the booking limitation caused by bookableViaMcp=false. Nothing essential for correct invocation 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?

With one parameter and 100% schema description coverage, the baseline is 3. The description meaningfully expands on the schema by explaining that place_slug selects a venue rather than the directory site and that only this form's serviceId works with create_booking.

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: listing a venue's services with price and duration. It clearly distinguishes the venue-specific form from the directory-site fallback, so an agent can immediately understand what this tool returns.

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 names search_places as the source for place_slug, says this is what you want in almost every case, and explains why omitting it usually returns unwanted directory-site services. It also ties the venue-specific serviceId to create_booking, giving clear guidance on when and how to use the tool.

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

list_eventsA
Read-onlyIdempotent
Inspect

List upcoming events in this neighborhood with date, venue, price, and URL. Events within the next 7 days include a weatherForecast (condition + min/max temperature) for the event day — use it to tell users e.g. "the event is at X and it will be raining". Pass filter to narrow by time or price; filter: "agora" answers "what can I go to right now" and is resolved live on every call, which no cached page can do.

NameRequiredDescriptionDefault
limitNoMax events to return (default 20, max 50).
filterNoNarrow the list: "agora" = on stage at this exact moment (season runs and day-granular sources are excluded, because their stored window says nothing about whether a session is on right now); "hoje"/"amanha"/"fim-de-semana" = running on those days, including multi-day runs; "gratis" = free to attend, including externally-ticketed events priced at 0.
upcoming_onlyNoOnly return upcoming or in-progress events (default true).

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), and the description adds real value beyond them: events within 7 days carry a weatherForecast with condition and min/max temperature, and `agora` is resolved live per call rather than from a cached page. It does not discuss result freshness trade-offs or rate behavior, keeping it at 4.

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-loaded with the core action and returned fields, then usage and the weather-forecast detail. Mostly efficient, though the closing clause 'which no cached page can do' is mildly promotional rather than informative.

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?

There is no output schema, so the description must carry the return shape — it does by naming date, venue, price, URL, and the weatherForecast structure. With only three optional parameters and full schema coverage, this is nearly complete; a brief note on ordering or result count behavior would close the remaining gap.

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 schema already documents limit, filter enum values, and upcoming_only in detail. The description restates the `filter` purpose and the live-resolution behavior of `agora`, which adds some intent but largely overlaps the enum descriptions — 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?

States a specific verb and resource ('List upcoming events in this neighborhood') and enumerates the returned fields (date, venue, price, URL, plus weatherForecast), so an agent can distinguish it from ticket-oriented siblings like get_event_tickets or reserve_event_tickets 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 usage context: pass `filter` to narrow by time or price, and `filter: "agora"` is framed around the specific question 'what can I go to right now'. It does not explicitly name sibling alternatives (get_event_tickets, rsvp_event) or state when not to use this tool, so it stops short of a 5.

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

list_faqsA
Read-onlyIdempotent
Inspect

Get all FAQ questions and answers for this site (Wix FAQ). Grouped by category. Use this to answer common questions about the site — opening hours, parking, policies, etc.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare the safe, idempotent, closed-world read profile, so the description only needed to add context. It does so by disclosing that the full set is returned ('all') and that results come grouped by category — return-shape information the annotations do not provide. Absent any note on result size or pagination, it stops short of 5.

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: scope and return grouping first, intended use second. Every clause carries information the 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 parameters and no output schema, the description adequately covers what the call returns (Q&A pairs, grouped by category) and why to call it. The only omitted detail is rough result volume or whether large sites paginate.

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. The description correctly implies no filtering input is needed by framing the call as fetching the whole FAQ set for the site.

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 and resource: 'Get all FAQ questions and answers for this site (Wix FAQ)'. No sibling tool covers FAQs, so the agent can distinguish it without opening the schema, though it does not explicitly contrast with any list_* sibling.

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?

'Use this to answer common questions about the site — opening hours, parking, policies, etc.' gives a concrete use case with examples, which is stronger than implied usage. It stops short of naming exclusions or alternatives, but no plausible alternative exists among the siblings.

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

list_formsA
Read-onlyIdempotent
Inspect

List available contact/signup forms on this site (Wix Forms). Returns form name, ID, and field definitions (label, type, required). Use before submit_form to discover which fields to fill.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent and non-destructive behavior, so safety is covered. The description earns credit by disclosing what the call actually returns (form name, ID, field definitions with label/type/required), which matters since there is no output schema.

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 and no wasted words. The purpose is front-loaded, and the return contents and the submit_form handoff follow immediately.

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?

There is no output schema, so the description has to carry the return shape, which it does (name, ID, field definitions with label/type/required). Notes on permissions or pagination are missing, but for a simple read-only enumeration that is not a real 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?

The tool takes zero parameters and the schema is an empty object, so there is nothing to disambiguate. The description correctly implies no input is required and adds the useful note that field definitions come back in the response.

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) plus resource (contact/signup forms) and scopes it to this site, naming the underlying product (Wix Forms). This clearly distinguishes it from siblings like list_profiles or list_categories because it says exactly what kind of forms are returned.

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 final clause gives explicit sequencing guidance: call this before submit_form to learn which fields to fill. That is a concrete when-to-use rule tied to a named sibling, though no when-not-to-use condition is given.

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

list_moviesA
Read-onlyIdempotent
Inspect

List movies available in this neighborhood (only on sites with movies_enabled). Returns now-showing films (with actual showtimes at local cinemas), coming-soon films, and streaming availability. Includes title, genres, TMDB rating, runtime, and detail URL.

NameRequiredDescriptionDefault
limitNoMax movies to return (default 20, max 100).
statusNoFilter by status. "now_showing" = films with upcoming showtimes at local cinemas. "coming_soon" = unreleased or not yet playing locally. "streaming" = available on streaming services in Brazil. "all" = full catalog (default).

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, non-destructive behavior, so the description focuses on what is returned: now-showing films with local showtimes, coming-soon films, streaming availability, and key metadata fields. It adds the site feature-gate constraint but does not describe pagination or ordering behavior.

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 three compact sentences: scope is front-loaded, followed by return categories and included fields. Every sentence contributes useful information without repetition 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?

With no output schema, the description appropriately explains the return composition and included fields. Combined with fully documented parameters and safety annotations, it is nearly complete, though it omits details like result ordering or pagination behavior beyond the limit 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 coverage is 100%, so both parameters are already fully documented in the input schema. The description mentions the return categories that correspond loosely to the status enum but does not add syntax, defaults, or other meaning beyond what the schema provides.

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 and resource ('List movies') and clearly scopes it to a neighborhood and sites with movies_enabled. It does not explicitly differentiate from siblings such as get_showtimes, though the catalog-focused framing is reasonably distinct.

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 site prerequisite ('only on sites with movies_enabled') is useful context, and the return categories imply when to use the tool. However, it does not state when to use this instead of get_showtimes or other sibling tools, leaving alternatives implicit.

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

list_pricing_plansA
Read-onlyIdempotent
Inspect

List membership or subscription plans (Wix Pricing Plans). Pass place_slug (from search_places) to list the plans of a specific VENUE — a gym, studio or clinic listed in this directory (e.g. its monthly/annual membership); that is what you want in almost every case. Omitting place_slug lists the directory site's own plans instead, which most sites do not have. Returns plan name, description, price, billing cycle, perks, and a direct checkout URL.

NameRequiredDescriptionDefault
place_slugNoVenue place slug from search_places. Strongly recommended — without it you get the directory's own plans, not a venue's.

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already establish read-only, idempotent, non-destructive behavior. The description adds useful context beyond annotations by explaining the data-scope effect of omitting `place_slug` and by listing the returned fields such as billing cycle and checkout URL.

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 tightly structured sentences: purpose first, then parameter guidance, then return contents. There is no filler, and the most important usage constraint is front-loaded.

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 single optional-parameter, read-only list tool, the description covers purpose, usage condition, omission behavior, and return fields. With annotations handling safety and no output schema needed, nothing material 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%, and the schema already calls `place_slug` strongly recommended. The description adds meaning by tying it to `search_places`, giving venue examples, and emphasizing that omitting it returns the directory's own plans rather than a venue's.

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 ('List membership or subscription plans') and clarifies the Wix Pricing Plans context. It also distinguishes the two possible scopes — venue plans vs. directory-site plans — so an agent can tell exactly what this tool returns.

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 says to pass `place_slug` from `search_places` and that this is 'what you want in almost every case.' It also names the fallback behavior when the parameter is omitted, giving clear when-to-use and when-not-to-use guidance.

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

request_reservationAInspect

Request a table at a restaurant. THE RESTAURANT IS NOT NOTIFIED YET: the request is held and a confirmation email is sent to the address you provide, and only when that person clicks the link does the restaurant receive it. Tell the user to check their inbox — the link expires in 24 hours. Use a real address belonging to the person you are acting for; the confirmation link is deliberately not returned to you. This is a request, not a confirmed booking: the restaurant confirms out of band.

NameRequiredDescriptionDefault
nameYesName the table is under.
emailYesThe guest's own email — the confirmation link is sent here.
phoneNoOptional phone number for the restaurant to reach the guest.
messageNoOptional note (occasion, dietary needs, seating preference).
partySizeYesNumber of people (1–30).
place_slugYesRestaurant place slug from search_places.
requestedAtYesDesired date and time as an ISO instant. Must be in the future.

TDQS

A4.5/5.0
Behavior5/5

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

Discloses the full two-phase flow: the restaurant is not notified until the guest clicks the emailed link, the link expires in 24 hours, and the link is deliberately withheld from the agent. These are critical behavioral facts not derivable from the annotations, and they are consistent with readOnlyHint=false and destructiveHint=false.

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-loaded with the core action and the most surprising fact (no notification yet), followed by operational instructions. The "request, not a confirmed booking" sentence partially restates the opening caps-lock warning, a small redundancy, but every other sentence carries non-obvious 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?

For a 7-parameter mutation with no output schema, the description covers the critical gaps: side effects, the out-of-band confirmation, link expiry, and why no confirmation handle is returned. It does not say what the tool actually returns on success (e.g. request id or pending status), leaving that to inference.

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 the baseline is 3; the description adds meaning by constraining email to "a real address belonging to the person you are acting for" and explaining that the confirmation link goes there and is not returned to the caller. It adds nothing about place_slug, requestedAt, or partySize beyond the schema.

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?

Opens with a specific verb+resource ("Request a table at a restaurant") and immediately scopes it against the confirmed-booking sibling by stating "This is a request, not a confirmed booking." An agent can distinguish it from create_booking without opening either 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: use the acting user's real email, tell them to check their inbox, link expires in 24 hours, and the restaurant confirms out of band. It never names create_booking explicitly as the alternative for a confirmed booking, so the routing is implied rather than spelled out.

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

reserve_event_ticketsAInspect

Hold tickets for an event sold through this site (Wix Events) and return a checkout URL. THE HOLD IS TEMPORARY AND NOTHING IS PAID: the tickets are not the user's until a human opens the URL and completes checkout, and the hold expires on its own if they don't. Max 10 tickets and 10 ticket types per reservation. Only works for events this site sells directly — for events sold elsewhere (Sympla, Ingresse, Sesc), use the event's own ticketUrl instead.

NameRequiredDescriptionDefault
ticketsYesTicket types and quantities to hold.
event_slugYesEvent slug from list_events.

TDQS

A4.9/5.0
Behavior5/5

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

Annotations only say readOnlyHint=false and destructiveHint=false; the description adds the critical semantic that the hold is temporary, nothing is paid, the tickets are not the user's until a human completes checkout, and the hold auto-expires. That is exactly the behavior an agent needs beyond the structured hints.

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-loads the action and the single most consequential caveat (temporary, unpaid hold), then limits, then the out-of-scope fallback. No filler sentences; capitalization is used deliberately for the risk that matters most.

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?

No output schema exists, yet the description tells the agent the call returns a checkout URL — the one return value that matters. Combined with the hold semantics, scope limits, and the per-item ID sourcing from get_event_tickets in the schema, an agent has everything needed to invoke correctly.

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 description coverage is already 100%, so the baseline is 3. The description adds a real constraint not present in the schema — the 10 ticket / 10 ticket-type cap per reservation — which meaningfully shapes how the tickets array must be populated.

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+resource ('Hold tickets for an event sold through this site') plus the return value (a checkout URL), and names the platform (Wix Events). It is clearly distinguishable from siblings like rsvp_event, create_checkout, or get_event_tickets.

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 defines the boundary condition: works only for events this site sells directly, and directs the agent to the event's own ticketUrl for events sold elsewhere (Sympla, Ingresse, Sesc). It also states the hard limits (max 10 tickets / 10 ticket types), so the agent knows when not to call it.

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

rsvp_eventAInspect

RSVP to a free event on this site (Wix Events). NOBODY IS ON THE GUEST LIST YET: a confirmation email goes to the address you provide, and the RSVP is only submitted when that person clicks the link (expires in 24 hours). Tell the user to check their inbox. Use a real address belonging to the person you are acting for — the confirmation link is deliberately not returned to you.

NameRequiredDescriptionDefault
emailYesThe guest's own email — the confirmation link is sent here.
lastNameYesGuest last name.
firstNameYesGuest first name.
event_slugYesEvent slug from list_events.

TDQS

A4.2/5.0
Behavior5/5

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

Discloses the full non-obvious mechanic that annotations cannot convey: nobody is on the guest list, a confirmation email is sent, the RSVP only commits after the recipient clicks, the link expires in 24 hours, and the link is deliberately not returned. This is exactly the behavioral context an agent needs to avoid telling a user the RSVP succeeded.

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 critical warning is front-loaded and every sentence carries an instruction (flow, expiry, inbox prompt, email constraint). The all-caps emphasis and the slightly redundant 'Tell the user to check their inbox' cost it a little polish but not 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 4-parameter mutation with no output schema, the description covers the whole commitment flow and the key caveat that the confirmation link is not returned. It leaves open what the call itself returns (presumably a pending/unconfirmed status), which would complete the picture.

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, and the description adds a real constraint beyond the schema: the email must belong to the person being acted for, and it is where the confirmation link goes. It does not elaborate on event_slug beyond the schema's 'from list_events' note.

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 ('RSVP to a free event on this site (Wix Events)') and scopes it to free events, which implicitly separates it from paid-ticket siblings. It never names reserve_event_tickets or request_reservation explicitly, so an agent must infer the boundary itself.

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 operational guidance: use a real address belonging to the person you act for, tell the user to check their inbox, and note the 24-hour expiry. It lacks an explicit 'use this instead of X when Y' comparison against the sibling reservation tools, which keeps it off a 5.

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

search_placesA
Read-onlyIdempotent
Inspect

Search for places (restaurants, cafes, shops, etc.) in this neighborhood. The q match is accent-insensitive and typo-tolerant ("acai" finds "Açaí", "restaurnt" finds "Restaurante"), ranked by relevance. Compose filters for multi-condition queries: category, neighborhood, open_now (true = open at this exact moment), and attributes (amenity slugs, ALL must match). Each result includes a precomputed open_now boolean, an attributes array (amenity slugs), a delivery array of curated delivery-app deep-links (ifood, rappi, 99food, uber-eats — each { platform, url }), rating, and structured hours (Google Maps periods: day 0=Sun–6=Sat, time "HHMM"). Amenity slugs are listed on the attributes parameter.

NameRequiredDescriptionDefault
qNoFree-text term matched against place name and address — accent-insensitive and typo-tolerant.
limitNoMax results to return (default 20, max 100).
categoryNoFilter by category label. Case-insensitive substring match.
open_nowNoWhen true, return only places open at the current local time (computed server-side from their opening hours).
attributesNoAmenity slugs a place must ALL have. Common slugs: wifi, outdoor-seating, wheelchair, dog-friendly, delivery, takeaway, reservations, live-music, vegan, gluten-free.
neighborhoodNoFilter by neighborhood name. Case-insensitive substring match.

TDQS

A4/5.0
Behavior5/5

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

With annotations already covering the safety profile (readOnly, idempotent, closed-world), the description still adds substantial behavior: accent-insensitive and typo-tolerant matching with worked examples, relevance ranking, and the ALL-must-match semantics for attributes. It also discloses the full result shape — precomputed open_now, attributes array, curated delivery deep-links per platform, rating, and Google Maps-style hours with day/time encoding — which is critical since no output schema exists.

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-loaded with purpose, then match semantics, then filter composition, then return shape — a sensible progression. The closing sentence is dense (six distinct return fields in one breath) but every clause carries information an agent needs given the absent output schema.

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?

Six optional parameters with no output schema, so the description must carry the return-value burden — and it does, enumerating open_now, attributes, delivery links, rating, and hours structure. Combined with filter-composition guidance, nothing an agent needs to call this 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 coverage is 100%, so every parameter is already documented in structured form, and the description largely restates it (open_now = open at this exact moment, attributes = ALL must match, accent/typo tolerance for q). The one addition — that amenity slugs are listed on the attributes parameter — is marginal. Baseline 3 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?

Opens with a specific verb+resource+scope: 'Search for places (restaurants, cafes, shops, etc.) in this neighborhood.' The parenthetical examples and neighborhood scoping make the domain unmistakable. It never names the adjacent siblings (get_place for a single place, search_dishes for menu items), so it falls 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 Guidelines3/5

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

Offers one genuine usage cue — 'Compose filters for multi-condition queries' — which tells the agent how to combine parameters. But there is no when-to-use/when-not guidance and no mention of get_place or search_dishes as alternatives, so the agent must infer the routing itself.

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

submit_formAInspect

Submit a form on behalf of the user (Wix Forms). Call list_forms first to get the formId and field keys. Returns a submissionId on success.

NameRequiredDescriptionDefault
fieldsYesKey-value pairs matching the field keys from list_forms.
formIdYesForm ID from list_forms.

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare non-read-only, non-idempotent, non-destructive behavior, so the safety profile is covered. The description adds that it acts on the user's behalf and that a submissionId is returned, but says nothing about side effects (notifications, email confirmations) or what happens with unknown field keys — context that matters for a mutation tool.

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, front-loaded with the action, then the prerequisite, then the return value. No filler and nothing repeated 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 two-parameter tool with a nested object and full schema coverage, the definition covers action, prerequisite, and return value. It could still clarify failure behavior (malformed/unknown field keys) and whether submissions are visible elsewhere, but the essentials are present.

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 both formId and fields are documented in the schema, including an example of the key-value shape. The description only restates that formId and field keys come from list_forms, adding no syntax or validation detail beyond the schema.

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 (Submit) and resource (a form, Wix Forms) and scopes it as acting on behalf of the user. It also names the prerequisite discovery tool (list_forms), which separates it from the many read/list siblings in this toolset.

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?

"Call list_forms first to get the formId and field keys" gives an explicit ordering constraint and names the alternative to use for discovery. It stops short of saying when NOT to use this (e.g., previewing a form, editing an existing submission), so it is not a full when/when-not pair.

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. 5 tool updates
    • Changedget_availability2 fields changed
      • changedInput schema / properties / date / description
        Previous value: -"Date in YYYY-MM-DD format (e.g. \"2026-06-25\")."New value: +"Date in YYYY-MM-DD format."
      • addedInput schema / properties / date / examples
        Added value: +[
        +  "2026-06-25"
        +]
    • Changedget_place2 fields changed
      • changedInput schema / properties / slug / description
        Previous value: -"URL slug of the place, e.g. \"cafe-example\"."New value: +"URL slug of the place."
      • addedInput schema / properties / slug / examples
        Added value: +[
        +  "cafe-example"
        +]
    • Changedget_showtimes2 fields changed
      • changedInput schema / properties / movie_slug / description
        Previous value: -"Movie slug from list_movies (e.g. \"o-corvo-1016084\")."New value: +"Movie slug from list_movies."
      • addedInput schema / properties / movie_slug / examples
        Added value: +[
        +  "o-corvo-1016084"
        +]
    • Changedsearch_places4 fields changed
      • changedInput schema / properties / attributes / description
        Previous value: -"Amenity slugs a place must ALL have, e.g. [\"wifi\",\"outdoor-seating\"]. Common slugs: wifi, outdoor-seating, wheelchair, dog-friendly, delivery, takeaway, reservations, live-music, vegan, gluten-free."New value: +"Amenity slugs a place must ALL have. Common slugs: wifi, outdoor-seating, wheelchair, dog-friendly, delivery, takeaway, reservations, live-music, vegan, gluten-free."
      • addedInput schema / properties / attributes / examples
        Added value: +[
        +  [
        +    "wifi",
        +    "outdoor-seating"
        +  ]
        +]
      • changedInput schema / properties / category / description
        Previous value: -"Filter by category label (e.g. \"Café\"). Case-insensitive substring match."New value: +"Filter by category label. Case-insensitive substring match."
      • addedInput schema / properties / category / examples
        Added value: +[
        +  "Café",
        +  "Restaurante"
        +]
    • Changedsubmit_form2 fields changed
      • changedInput schema / properties / fields / description
        Previous value: -"Key-value pairs matching the field keys from list_forms. Example: { \"field_1\": \"João\", \"field_2\": \"joao@email.com\" }"New value: +"Key-value pairs matching the field keys from list_forms."
      • addedInput schema / properties / fields / examples
        Added value: +[
        +  {
        +    "field_1": "João",
        +    "field_2": "joao@email.com"
        +  }
        +]
  2. 9 tool updates
    • Removedcreate_checkout
    • Removedget_restaurant_menus
    • Removedlist_blog_posts
    • Removedlist_categories
    • Removedlist_guides
    • Removedlist_offers
    • Removedlist_products
    • Removedlist_profiles
    • Removedsearch_dishes
  3. 1 tool update
    • Changedreserve_event_tickets1 field changed
      • addedInput schema / properties / tickets / items / properties / pricingOptionId
        Added value: +{
        +  "description": "Required when the ticket type lists pricingOptions in get_event_tickets: the id of the option the customer chose.",
        +  "type": "string"
        +}
  4. 1 tool update
    • Changedlist_pricing_plans1 field changed
      • addedInput schema / properties / place_slug
        Added value: +{
        +  "description": "Venue place slug from search_places. Strongly recommended — without it you get the directory's own plans, not a venue's.",
        +  "type": "string"
        +}
  5. 1 tool update
    • Changedsearch_places2 fields changed
      • addedInput schema / properties / attributes
        Added value: +{
        +  "description": "Amenity slugs a place must ALL have, e.g. [\"wifi\",\"outdoor-seating\"]. Common slugs: wifi, outdoor-seating, wheelchair, dog-friendly, delivery, takeaway, reservations, live-music, vegan, gluten-free.",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedInput schema / properties / open_now
        Added value: +{
        +  "description": "When true, return only places open at the current local time (computed server-side from their opening hours).",
        +  "type": "boolean"
        +}
  6. 28 tool updates
    • First observedcreate_booking
    • First observedcreate_checkout
    • First observedget_availability
    • First observedget_event_tickets
    • First observedget_loyalty_info
    • First observedget_place
    • First observedget_restaurant_menus
    • First observedget_reviews
    • First observedget_showtimes
    • First observedget_site_info
    • First observedlist_blog_posts
    • First observedlist_booking_services
    • First observedlist_categories
    • First observedlist_events
    • First observedlist_faqs
    • First observedlist_forms
    • First observedlist_guides
    • First observedlist_movies
    • First observedlist_offers
    • First observedlist_pricing_plans
    • First observedlist_products
    • First observedlist_profiles
    • First observedrequest_reservation
    • First observedreserve_event_tickets
    • First observedrsvp_event
    • First observedsearch_dishes
    • First observedsearch_places
    • First observedsubmit_form

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI assistants to search current public children's activities in Florianópolis, Brazil, read organization profiles and their published groups with schedules and prices, and obtain a canonical link for requesting a visit. All five tools are read-only, publicly accessible over Streamable HTTP with no API key, and never submit a request or confirm a booking.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to search cultural events and activities in Madrid, Spain over the next ~100 days, filtering by keyword, free admission, and date window, and returns venue, address, geo, audience, and price details.
    10 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources