Skip to main content
Glama

Teres — Booking for AI Agents

Server Details

Teres is the discovery and booking layer for AI agents. Search for real service businesses (barbershops, salons, spas, and more), check live availability, and create bookings directly in their existing systems — no API key required. Businesses connect their Square, and every MCP-compatible agent can find and book with them instantly. One of the first booking servers in the MCP registry.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

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

MCP client
Glama
MCP server

Full call logging

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

Tool access control

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

Managed credentials

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

Usage analytics

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

100% free. Your data is private.
Tool DescriptionsA

Average 4.2/5 across 10 of 10 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool targets a distinct operation: business search, info, services, availability, booking CRUD, and reviews. No overlap or ambiguity.

Naming Consistency5/5

All tools follow a consistent verb_noun snake_case pattern (e.g., search_businesses, create_booking, cancel_booking).

Tool Count5/5

10 tools is perfectly scoped for a booking system, covering discovery, booking lifecycle, and reviews without being excessive.

Completeness5/5

Covers the full workflow: search, business details, services, availability, create/retrieve/cancel/reschedule bookings, and reviews. No obvious gaps.

Available Tools

10 tools
cancel_bookingCancel bookingA
Destructive
Inspect

Cancel an existing booking. Requires both the confirmation code and customer email. Before cancelling, present the cancellation policy to the user for confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
customer_emailYesThe email address used when booking
confirmation_codeYesThe 8-character confirmation code from the booking

Output Schema

ParametersJSON Schema
NameRequiredDescription
statusYes
end_timeNo
booking_idNo
staff_nameNo
start_timeYes
location_idNo
service_nameNo
business_nameNo
customer_nameNo
customer_emailNo
confirmation_codeYes
agent_instructionsNo
cancellation_policyNo
Behavior4/5

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

Annotations already indicate destructiveHint=true. The description adds valuable behavioral context: requiring both identifiers and mandating user confirmation of the cancellation policy before execution. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with no extraneous information. The action and prerequisites are front-loaded, making it easy to scan.

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

Completeness4/5

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

Given the output schema exists and annotations cover safety, the description covers prerequisites and the critical workflow step (confirming policy). It is complete for a cancellation tool, though success behavior is not described (likely covered by output schema).

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

Parameters3/5

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

Schema coverage is 100%, so the schema already describes both parameters sufficiently. The description does not add new meaning beyond emphasizing that both are required, which is already in the schema.

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

Purpose4/5

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

The description clearly states the action (cancel an existing booking) and the required inputs. It distinguishes from siblings implicitly (cancel vs. create/reschedule), but does not explicitly contrast with alternative tools.

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?

Description specifies prerequisites (confirmation code and email) and provides a workflow instruction (present cancellation policy before proceeding). It does not explicitly state when not to use this tool, but the context is clear.

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

create_bookingCreate bookingAInspect

Create a new booking/appointment at a business. Requires customer information (name and email) and a selected time slot. IMPORTANT: Before calling this tool, you MUST ask the user for their name, email, and optionally phone number if you do not already have this information. Do not guess or fabricate customer details. Returns a booking confirmation with a unique booking_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
notesNoOptional booking notes
customerYesCustomer contact information
staff_idNoOptional preferred staff member ID
service_idYesThe service ID (from list_services)
start_timeYesAppointment start time in ISO 8601 UTC (e.g., '2026-04-05T14:00:00Z')
location_idYesThe UUID of the location to book with
idempotency_keyYesUnique key to prevent duplicate bookings

Output Schema

ParametersJSON Schema
NameRequiredDescription
statusYes
end_timeNo
booking_idNo
staff_nameNo
start_timeYes
location_idNo
service_nameNo
business_nameNo
customer_nameNo
customer_emailNo
confirmation_codeYes
agent_instructionsNo
cancellation_policyNo
Behavior4/5

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

Annotations already indicate non-destructive, non-read-only nature. The description adds context about required customer info prompting and returns a booking confirmation with unique ID, but does not contradict annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with critical information front-loaded, zero waste. Every sentence adds value.

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 output schema exists (implied by 'Returns a booking confirmation'), the description covers prerequisites, required parameters, and return value adequately. No missing context for an agent to use it 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 coverage is 100%, so baseline 3. The description adds meaning by emphasizing customer fields (name, email) and explaining idempotency_key prevents duplicates, and start_time format—going beyond schema descriptions.

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

Purpose5/5

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

The description clearly states the tool creates a new booking/appointment, specifying required customer information and time slot. It distinguishes from sibling tools like cancel_booking and reschedule_booking by focusing solely on creation.

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 instructs the agent to ask the user for name, email, and optionally phone before calling, and warns against fabricating details. This provides clear when-to-use guidance.

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

get_availabilityGet availabilityA
Read-only
Inspect

Check available time slots for a specific service at a business. All datetimes are in UTC.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax slots to return (1-100, default 20)
cursorNoPagination cursor from previous response
date_toYesEnd of date range — either 'YYYY-MM-DD' or full ISO 8601 UTC timestamp
staff_idNoOptional staff member ID to filter availability
date_fromYesStart of date range — either 'YYYY-MM-DD' or full ISO 8601 UTC timestamp
service_idYesThe service ID (from list_services)
location_idYesThe UUID of the location

Output Schema

ParametersJSON Schema
NameRequiredDescription
slotsYes
next_cursorYes
agent_instructionsNo
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the reading nature is clear. The description adds value by stating that datetimes are in UTC, which is useful behavioral context. No contradictions, but the description could mention pagination or other behaviors.

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, no wasted words. Front-loads the purpose immediately. Perfectly concise while covering key context (UTC).

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 an output schema present, the description doesn't need to detail return values. However, it omits mention of pagination (cursor, limit) and date range constraints, which are important for correct usage. The description is sufficient but could be more complete.

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

Parameters3/5

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

Schema description coverage is 100%, so baseline is 3. The description does not add extra meaning beyond the schema; it repeats the generic purpose. The parameters are well-documented in the schema, so the description's contribution is minimal.

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

Purpose5/5

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

The description clearly states the tool's purpose: check available time slots for a specific service at a business. It uses a specific verb ('Check') and identifies the resource ('available time slots'), effectively distinguishing it from sibling tools like create_booking or get_booking.

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

Usage Guidelines3/5

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

The description implies usage when checking availability but provides no explicit guidance on when to use this tool versus alternatives (e.g., list_services for service IDs). No 'when not to use' or context about prerequisites.

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

get_bookingGet bookingA
Read-only
Inspect

Get details of an existing booking. Requires both the confirmation code and the customer's email address for verification — like an airline confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
customer_emailYesThe email address used when booking
confirmation_codeYesThe 8-character confirmation code from the booking

Output Schema

ParametersJSON Schema
NameRequiredDescription
statusYes
end_timeNo
booking_idNo
staff_nameNo
start_timeYes
location_idNo
service_nameNo
business_nameNo
customer_nameNo
customer_emailNo
confirmation_codeYes
agent_instructionsNo
cancellation_policyNo
Behavior4/5

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

Annotations already indicate read-only, and the description confirms it. It adds the verification requirement context, which is beyond what annotations provide. No contradictions.

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, no filler. The key information is front-loaded and every sentence serves a purpose.

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 an output schema and good annotations, the description covers the core purpose and verification need. Not every edge case is mentioned, but it is sufficient for a simple read tool.

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 fully documents both parameters. The description does not add new semantics beyond restating the requirement already evident from the 'required' field.

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 uses the specific verb 'get details' and the resource 'existing booking', clearly distinguishing it from sibling tools like 'create_booking' or 'cancel_booking'. The analogy to an airline confirmation adds clarity.

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 states the prerequisites (confirmation code and email) but does not explicitly indicate when not to use this tool or mention alternative tools for different scenarios.

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

get_business_infoGet business infoA
Read-only
Inspect

Get detailed information about a specific business location, including name, address, phone, timezone, hours, photos, ratings, cancellation policy, and connected platforms.

ParametersJSON Schema
NameRequiredDescriptionDefault
location_idYesThe UUID of the location to look up

Output Schema

ParametersJSON Schema
NameRequiredDescription
faqsNo
hoursNo
phoneNo
staffNo
photosNo
addressNo
websiteNo
timezoneNo
platformsNo
location_idYes
price_rangeNo
rating_countNo
business_nameNo
location_nameNo
rating_averageNo
agent_instructionsNo
cancellation_policyNo
Behavior4/5

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

Annotations already declare readOnlyHint=true, so the safety profile is clear. The description adds valuable behavioral context by listing the output fields (address, hours, ratings, etc.), going beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that immediately conveys the tool's purpose and key outputs without any redundancy.

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 the simple tool with one parameter, read-only annotation, and presence of an output schema, the description adequately covers what the tool does and what it returns. No gaps for an agent to understand usage.

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 100% schema description coverage, the schema already sufficiently documents the single parameter location_id as a UUID. The tool description adds no additional parameter-specific meaning.

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

Purpose5/5

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

The description clearly states the tool retrieves detailed information about a specific business location, listing the types of data included. It distinguishes from sibling tools like get_reviews or search_businesses that focus on subsets or searches.

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 implicitly indicates use when a specific location_id is known, but does not explicitly contrast with alternatives like search_businesses for when to search first. No direct when-not guidance.

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

get_reviewsGet reviewsA
Read-only
Inspect

Get reviews for a business location. Returns anonymous ratings and comments from verified bookings. Use this to help users decide between businesses during discovery.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax reviews to return (1-50, default 10)
cursorNoPagination cursor from previous response
location_idYesThe UUID of the location

Output Schema

ParametersJSON Schema
NameRequiredDescription
reviewsYes
location_idYes
next_cursorYes
rating_countYes
rating_averageYes
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds beyond that by stating the data is anonymous and comes from verified bookings, providing additional behavioral context. No contradictions.

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 concise with three sentences, no wasted words. The most important information is front-loaded, making it efficient for an AI agent to parse.

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 the simplicity of the tool and the presence of annotations and output schema, the description is complete. It covers purpose, usage context, and data characteristics without missing critical information.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description mentions the type of data returned ('anonymous ratings and comments') but does not add new meaning to the parameters beyond what the schema already provides.

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

Purpose5/5

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

The description clearly states the verb 'get' and the resource 'reviews for a business location'. It explains that it returns anonymous ratings and comments from verified bookings, and it distinguishes from siblings by specifying its use in helping users decide between businesses during discovery.

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 gives a clear context for use ('to help users decide between businesses during discovery'), but it does not explicitly state when not to use this tool or mention alternatives. The context is implied from sibling tools, but lacks explicit exclusions.

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

list_servicesList servicesA
Read-only
Inspect

List all services offered by a business. Returns service details including name, duration, price, and whether each service is bookable online.

ParametersJSON Schema
NameRequiredDescriptionDefault
location_idYesThe UUID of the location

Output Schema

ParametersJSON Schema
NameRequiredDescription
servicesYes
agent_instructionsNo
Behavior3/5

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

Annotations already provide safety info (readOnlyHint=true, destructiveHint=false). The description adds no behavioral details beyond stating it returns service details, which is adequate but minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, clear and concise, with no unnecessary words. Information 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?

Given the tool's simplicity (one required param, output schema exists), the description adequately covers scope and return fields.

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 has 100% coverage for the single parameter (location_id). The description does not add extra semantics beyond what the schema provides, so 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 clearly states it lists all services for a business and specifies returned fields (name, duration, price, bookable). It distinguishes from sibling tools like get_availability or get_business_info.

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

Usage Guidelines4/5

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

The description implies usage when a list of services is needed, but does not explicitly mention when not to use or contrast with alternatives among siblings.

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

reschedule_bookingReschedule bookingAInspect

Reschedule an existing booking to a new time. The confirmation code stays the same. Requires both the confirmation code and customer email. Check availability first with get_availability to find open slots.

ParametersJSON Schema
NameRequiredDescriptionDefault
staff_idNoOptional: change to a different staff member
customer_emailYesThe email address used when booking
new_start_timeYesNew appointment start time in ISO 8601 UTC (e.g., '2026-04-08T14:00:00Z')
confirmation_codeYesThe 8-character confirmation code from the booking

Output Schema

ParametersJSON Schema
NameRequiredDescription
statusYes
end_timeNo
booking_idNo
staff_nameNo
start_timeYes
location_idNo
service_nameNo
business_nameNo
customer_nameNo
customer_emailNo
confirmation_codeYes
agent_instructionsNo
cancellation_policyNo
Behavior3/5

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

Annotations already indicate readOnlyHint=false and destructiveHint=false, so the description's confirmation that the code stays same adds useful context. However, it omits details like whether the old slot is freed or if notifications are sent. With annotations present, the description adds moderate value beyond the 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?

The description is concise with three sentences, each serving a purpose: core action, invariant, prerequisites, and advisory step. No redundant information.

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

Completeness4/5

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

Given the annotations, full schema coverage (100%), and presence of an output schema, the description is adequate. It covers purpose, prerequisites, and a usage hint. It could mention error conditions or side effects but remains complete for a moderate-complexity tool.

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%, providing baseline 3. The description does not add meaning beyond what the schema already offers for parameters like new_start_time format or staff_id optionality. It does not elaborate on any parameter semantics.

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

Purpose5/5

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

The description clearly states the verb 'Reschedule' and the resource 'existing booking', and specifies that the confirmation code stays the same. It distinguishes from siblings like cancel_booking and create_booking by emphasizing modification rather than cancellation or new creation.

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

Usage Guidelines4/5

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

The description explicitly advises to check availability first using get_availability, providing clear context for when to use this tool. It also lists required inputs (confirmation code and customer email), though it could explicitly mention alternatives like create_booking or cancel_booking.

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

search_businessesSearch businessesA
Read-only
Inspect

Search for businesses that can be booked instantly. When a user wants to find or book a service (haircut, massage, salon, etc.), use this tool FIRST — it returns businesses with real-time availability that can be booked immediately, including photos, ratings, hours, and pricing. Supports nearby search when latitude/longitude are provided.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results to return (1-100, default 20)
queryNoSearch term (business name, service type, etc.). Omit to list all businesses.
cursorNoPagination cursor from previous response
latitudeNoUser's latitude for nearby search. Use with longitude.
locationNoCity, state, or zip code to search near
longitudeNoUser's longitude for nearby search. Use with latitude.
radius_kmNoSearch radius in kilometers (default 50, max 200). Only used with lat/lng.
service_typeNoType of service (e.g., 'haircut', 'massage')

Output Schema

ParametersJSON Schema
NameRequiredDescription
locationsYes
next_cursorYes
agent_instructionsNo
Behavior4/5

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

Annotations already declare read-only and non-destructive behavior. The description adds value by revealing that it returns businesses with real-time availability, photos, ratings, hours, and pricing, alongside the 'can be booked instantly' trait. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no wasted words. The first sentence delivers the core purpose, the second explains when to use and what it returns. Perfectly front-loaded and scannable.

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

Completeness4/5

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

Given the output schema exists, the description doesn't need to detail return values. It covers the essential: what it searches, when to use (first), and key features (nearby search, included data). Minor omission: no mention of pagination cursor or how location/radius interact, but overall sufficient.

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 the description doesn't need to detail each parameter. However, it adds context for latitude/longitude by explicitly stating 'nearby search when latitude/longitude are provided.' This supplements the schema descriptions.

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

Purpose5/5

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

The description clearly states the tool searches for businesses that can be booked instantly, with specific examples (haircut, massage, salon). It distinguishes from siblings by indicating it should be used FIRST for finding/bookable services, unlike get_business_info or get_availability which serve different purposes.

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

Usage Guidelines4/5

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

The description explicitly says 'use this tool FIRST' when a user wants to find or book a service, and mentions support for nearby search with lat/lng. While it doesn't list specific exclusions or alternatives, the guidance is clear and actionable.

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

submit_reviewSubmit reviewAInspect

Submit a review for a completed booking. The user must have a confirmed booking at this business. Ask the user for their rating (1-5 stars) and an optional comment. Do not submit a review without the user explicitly providing a rating.

ParametersJSON Schema
NameRequiredDescriptionDefault
ratingYesRating from 1 to 5 stars
commentNoOptional text review or comment
customer_emailYesThe email address used when booking
confirmation_codeYesThe 8-character confirmation code from the booking

Output Schema

ParametersJSON Schema
NameRequiredDescription
ratingYes
commentYes
messageYes
review_idYes
Behavior4/5

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

Description accurately describes the write operation and adds context about requiring explicit rating. Annotations already indicate non-read-only, non-destructive, so credits for additional behavioral detail are granted.

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 concise sentences with no filler. Front-loaded with the main action. Every sentence adds essential 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 schema coverage, output schema existence, and annotations, the description fully covers key constraints and usage context. No gaps identified.

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 covers all parameters (100% coverage). Description adds context beyond schema: rating must be explicitly provided by user, confirmation code is from booking, email is from booking. This adds meaning without redundancy.

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

Purpose5/5

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

Description clearly states it submits a review for a completed booking, using a specific verb and resource. It distinguishes from siblings like get_reviews which list reviews.

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?

Description specifies the prerequisite (confirmed booking) and instructs not to submit without explicit rating. However, it lacks explicit guidance on when to use alternatives like get_reviews.

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

Discussions

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

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources