Skip to main content
Glama

Server Details

Booking-focused MCP server for real home services in Greater London, including furniture assembly, wall mounting, handyman, electrical, and smart home jobs.

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 DescriptionsB

Average 3.3/5 across 20 of 20 tools scored. Lowest: 2.7/5.

Server CoherenceA
Disambiguation3/5

Some tools overlap in purpose, such as check_availability vs get_customer_availability and the various verification entry points. Descriptions clarify the context of each, but an agent could still misselect without careful reading.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern with snake_case, e.g., check_availability, create_booking_request, get_booking_status. This makes the naming predictable and easy to navigate.

Tool Count3/5

With 20 tools, the server is on the heavier side but the scope is broad, covering booking, customer verification, payments, and provider matching. The count feels slightly high but each tool serves a distinct step in the workflow.

Completeness4/5

The tool surface covers the full booking lifecycle from availability and quote to payment and final creation. Notable gaps include lack of update or cancel booking operations, but the core flow is well covered.

Available Tools

20 tools
check_availabilityCInspect

Use when the user asks about dates, timing, or whether a service can likely be booked soon.

ParametersJSON Schema
NameRequiredDescriptionDefault
postcodeYes
service_typeYes
preferred_dateNo
time_preferenceNo
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only says the tool is used for checking date/timing questions, but doesn't disclose what it returns (boolean, list of slots, etc.), whether it mutates anything, or any side effects. This is insufficient for a tool with no annotation safety profile.

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 short sentence, no redundant text. It is concise but at the expense of necessary detail, making it under-specified rather than appropriately sized.

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

Completeness2/5

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

With 4 parameters, no output schema, and no annotations, the description fails to cover key aspects like return value, parameter usage, and relation to sibling tools. For a check-like tool, users need to know whether it returns a boolean, available dates, etc., which is entirely absent.

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

Parameters2/5

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

Schema has 4 parameters with 0% description coverage. Description only vaguely references 'dates and timing' (preferred_date/time_preference) and 'service' (service_type), but completely omits the required postcode parameter. It does not explain any parameter semantics or formats.

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

Purpose3/5

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

The description tells when to use the tool but not what it actually does. It implies availability checking via 'whether a service can likely be booked soon,' but lacks an explicit verb and resource. It does not distinguish from siblings like check_service_area or get_customer_availability.

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?

Starts with 'Use when the user asks about dates, timing, or whether a service can likely be booked soon,' giving a clear trigger condition. However, it does not mention when not to use it or alternative tools.

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

check_service_areaAInspect

Use when the user provides a London postcode or asks whether TaskMan covers their area.

ParametersJSON Schema
NameRequiredDescriptionDefault
postcodeYes
service_typeNo
Behavior2/5

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

With no annotations, the description carries the full burden, but it only says 'covers their area' without disclosing behavior such as whether it's a read-only lookup, how service_type affects results, or what response format to expect. This is a significant transparency gap for a tool with no annotation support.

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

Conciseness5/5

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

A single, front-loaded sentence that clearly communicates the tool's purpose and use case. Every word earns its place, and there is no redundant information.

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

Completeness3/5

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

For a simple check tool with one required parameter, the description is adequate but incomplete. It covers the primary use case but omits details about the optional service_type parameter and the return value, which are relevant for a complete understanding. The lack of annotations and output schema makes this a notable gap.

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

Parameters2/5

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

Schema coverage is 0%, so the description must compensate, but it only implicitly mentions the postcode parameter in the usage context. The optional service_type parameter with its enum values is not explained at all, leaving the agent without guidance on how to use it or whether it modifies coverage results.

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 checks if TaskMan covers a London postcode, using a specific verb and resource. It distinguishes from siblings like check_availability by focusing on area coverage rather than service availability.

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 provides when-to-use scenarios: when the user provides a London postcode or asks about coverage. It does not mention when not to use or alternatives, but the context is clear enough for an agent to select this tool appropriately.

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

create_booking_requestCInspect

Use when the user is ready to submit details for a real TaskMan of London booking request.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailNo
phoneYes
sourceNochatgpt_app
postcodeYes
photos_urlNo
service_typeYes
task_summaryYes
customer_nameYes
preferred_dateNo
idempotency_keyNo
time_preferenceNo
consent_to_contactYes
Behavior2/5

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

No annotations are provided, so the description carries full burden. It only says 'real' to imply this is a committed booking, but omits side effects, whether confirmation is required, idempotency behavior, or any other behavioral traits an agent would need to anticipate.

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

Conciseness2/5

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

The description is a single short sentence, which is efficient, but it is under-specified rather than concise. It lacks essential detail, so it does not earn a high score for structure.

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

Completeness1/5

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

Given the complexity (12 parameters, no output schema, no annotations), the description is severely incomplete. It does not explain what a booking request entails, what 'real' means in workflow, or any post-call expectations.

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

Parameters1/5

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

Schema description coverage is 0% and the description adds no parameter meanings. With 12 parameters, the agent receives no guidance beyond raw names, types, and enums, which is insufficient for confident invocation.

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 implies a specific action: submitting details for a real TaskMan of London booking request. It identifies the resource and the intent clearly enough, though it does not explicitly distinguish from the sibling tool create_customer_booking.

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

Usage Guidelines4/5

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

It provides a clear trigger condition ('when the user is ready') and hints at the context (real booking request). However, it does not mention exclusions or alternative tools, so it loses a point for lack of explicit 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.

create_customer_bookingBInspect

Use after verification, detail collection, and confirmed paid payment session to create a booking scoped to the verified customer.

ParametersJSON Schema
NameRequiredDescriptionDefault
address_idNo
contact_idNo
photos_urlNo
service_typeYes
task_summaryYes
session_tokenYes
preferred_dateNo
idempotency_keyNo
time_preferenceNo
consent_to_contactNo
payment_session_idYes
Behavior3/5

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

With no annotations provided, the description carries the full burden for behavioral disclosure. It reveals that this is a write operation (creating a booking) and that it requires prior payment and verification, which is useful. However, it does not disclose side effects, idempotency, failure conditions, or return behavior. The preconditions are helpful but not comprehensive.

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 entire description is one sentence, front-loaded with the most important usage context. There is zero fluff. However, given the tool's complexity (11 parameters), a single sentence may be too terse to carry all necessary guidance, so it loses one point for under-specification.

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

Completeness2/5

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

This tool has 11 parameters, no annotations, no output schema, and zero schema documentation. The description only provides order-of-operations context. It does not explain return values, error handling, idempotency behavior, or how the many parameters interact. For such a complex creation tool, the description is substantially incomplete.

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

Parameters2/5

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

The schema has zero description coverage, and the tool description provides no information about any of the 11 parameters. It only implies that session_token and payment_session_id are related to verification and payment, but this is not explicit. With no parameter explanation anywhere, the agent is left to guess the meaning of fields like task_summary, preferred_date, and idempotency_key.

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: 'create a booking scoped to the verified customer.' It uses a specific verb and resource, and the 'verified customer' qualifier hints at the tool's distinct role among siblings. However, it does not explicitly differentiate from the similar sibling 'create_booking_request', so it misses full sibling distinction.

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 provides explicit preconditions: 'Use after verification, detail collection, and confirmed paid payment session.' This tells the agent when it is appropriate to invoke the tool. It does not mention when not to use it or point to alternatives, but the context is clear enough for a 4.

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

find_servicesBInspect

Use when the user needs help identifying which TaskMan of London service fits their job, especially for vague home-service requests in London.

ParametersJSON Schema
NameRequiredDescriptionDefault
areaNo
queryNo
urgencyNo
Behavior2/5

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

No annotations are provided, so the description carries the full burden of disclosing behavioral traits. It only states the purpose and does not mention whether the tool is read-only, what it returns, any side effects, or limitations. This lack of behavioral detail is a significant gap for a tool with no annotation support.

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 a single sentence, front-loaded with the trigger phrase 'Use when.' It is concise and free of fluff. However, it is somewhat under-specified, which limits its helpfulness, but the structure itself is appropriate.

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

Completeness2/5

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

Given the tool has three parameters, no annotations, and no output schema, the description is incomplete. It covers the trigger scenario but omits input semantics, output expectations, and any behavior details. A tool of this complexity needs more contextual information to be fully usable.

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

Parameters1/5

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

Schema description coverage is 0%, and the description provides no information about the parameters (area, query, urgency). It does not explain what these inputs mean, how they should be formatted, or how they affect the tool's behavior. The description adds zero value beyond the raw schema definitions.

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 tool's function: identifying which TaskMan of London service fits a user's job. It also provides context about vague home-service requests, which helps distinguish it from other tools like check_service_area or list_service_types. However, it could be more explicit about the output format, which prevents a perfect score.

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 when the user needs help identifying which service fits their job,' giving a clear trigger condition. It further clarifies the target scenario ('especially for vague home-service requests in London'). It does not mention alternatives or exclusions, but the guidance is sufficient for a basic use case.

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

get_booking_payment_statusAInspect

Use to check whether a booking payment session is pending, paid, failed, canceled, or expired before attempting booking creation.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_tokenYes
payment_session_idYes
Behavior3/5

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

No annotations are provided, so the description carries full responsibility. It states that the tool 'checks' statuses, implying a read-only operation, and adds useful context about timing. However, it does not disclose any potential side effects, error conditions, or what happens if the session is invalid, leaving some behavioral gaps.

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

Conciseness5/5

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

A single, well-structured sentence that front-loads the action ('Use to check') and wastes no words. It is concise and to the point.

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?

The description covers the core purpose and timing but does not explain the return value format in detail (no output schema exists). It indirectly indicates the response will reflect one of the listed statuses, but it could be more explicit about what the agent should expect. Given the tool's simplicity and the presence of clear statuses, this is adequate but not fully complete.

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

Parameters2/5

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

Schema description coverage is 0%, and the description does not mention session_token or payment_session_id at all. While the parameter names are somewhat self-explanatory, the description adds no meaning about their origins, relationships, or usage, failing to compensate for the schema's lack of 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 checks the status of a booking payment session, listing five specific statuses (pending, paid, failed, canceled, expired). The verb 'check' and resource 'booking payment session' are precise, and it distinguishes from siblings like get_booking_status and start_booking_payment.

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 provides explicit timing context: 'before attempting booking creation.' It does not name alternatives or exclusions, but the context is clear enough to understand when this tool should be used in the booking flow.

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

get_booking_statusBInspect

Use when the user already has a TaskMan booking request and wants an update.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailNo
phoneNo
booking_request_idYes
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the tool provides an update, without mentioning whether it is read-only, how it handles missing or invalid booking_request_id, or what the response format is. The presence of optional email and phone parameters suggests possible verification, but this is not explained.

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 a single concise sentence that front-loads the usage condition. Every word contributes to the core idea, but it could be more precise by stating the action (e.g., 'Retrieves the status of a TaskMan booking request') rather than only framing it as a use case.

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

Completeness2/5

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

For a tool with no output schema and no annotations, the description is incomplete. It does not explain what 'update' entails (e.g., possible status values) or how the optional email and phone parameters are used in the lookup. The tool is simple, but the description leaves too many gaps for the agent to call it correctly with confidence.

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

Parameters1/5

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

The description provides no information about the three parameters. With schema description coverage at 0%, the description fails to explain the purpose of email and phone, which are optional, or clarify that booking_request_id is the primary identifier. This leaves the agent without meaningful guidance beyond the raw 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 tool provides an update on an existing TaskMan booking request, distinguishing it from siblings like get_booking_payment_status. However, it frames the purpose as a usage trigger rather than an explicit action, leaving the exact nature of the 'update' (status retrieval) implicit.

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

Usage Guidelines4/5

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

It explicitly says 'Use when the user already has a TaskMan booking request and wants an update,' giving a clear condition for when to invoke it. It implies not to use for creating or availability checks, but it does not mention specific alternatives like get_booking_payment_status as exclusions.

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

get_customer_availabilityAInspect

Use after verification to check availability for a verified customer at a selected saved address.

ParametersJSON Schema
NameRequiredDescriptionDefault
address_idNo
service_typeYes
session_tokenYes
preferred_dateNo
time_preferenceNo
Behavior3/5

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

The description mentions the prerequisite of verification and implies a non-destructive read operation via 'check'. However, without annotations, it omits details about response format, error conditions, or side effects, leaving some behavioral ambiguity.

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, unambiguous sentence, front-loaded with the key usage condition ('after verification'). No filler words.

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

Completeness2/5

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

Given 5 parameters, no output schema, and no annotations, the description is too brief to provide a complete understanding. It lacks information about return values, error handling, and how the parameters interact.

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

Parameters2/5

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

The input schema has zero description coverage, and the tool description only loosely refers to a 'verified customer' and 'selected saved address', which likely map to session_token and address_id. It does not explain preferred_date, time_preference, or service_type, requiring the agent to infer from enums and patterns alone.

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 checks availability for a verified customer at a selected saved address, using the specific verb 'check' and resource 'availability'. It distinguishes from sibling check_availability by adding the context of verification and saved address.

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 provides explicit sequencing ('after verification') and specifies the target scenario (verified customer, selected saved address). It does not name alternative tools or exclusion criteria, 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.

get_customer_profileAInspect

Use after verification to load scoped customer profile details from CRM for booking.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_tokenYes
Behavior2/5

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

With no annotations, the description must disclose behavioral traits, but it only says 'load' and 'scoped' without explaining what scoping entails, whether the operation is side-effect-free, or how errors are handled. The lack of detail on return data or failure modes leaves the agent under-informed.

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 front-loads the key information: when to use, what it does, and for what purpose. No filler or redundant content.

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?

The tool is simple (one parameter, no output schema), and the description covers the main purpose and timing. However, it lacks specifics about what 'scoped customer profile details' includes, potential error conditions, and the absence of an output schema means the agent cannot anticipate the return structure.

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?

The description does not mention the only parameter, session_token, but the phrase 'after verification' implies the token is a verification artifact, adding some semantic context. However, with schema description coverage at 0%, the compensation is minimal and the parameter's purpose remains implicit.

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 action ('load'), resource ('scoped customer profile details from CRM'), and context ('for booking'), which distinguishes it from siblings like get_customer_availability or list_customer_addresses. The verb 'load' precisely implies a read operation.

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?

Provides an explicit precondition ('Use after verification') and a clear purpose ('for booking'), which guides when to call this tool. It does not name alternatives, but the context is specific enough to avoid confusion with other booking-related tools.

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

get_quote_estimateCInspect

Use when the user asks about likely cost, ballpark pricing, or whether a task needs a custom quote.

ParametersJSON Schema
NameRequiredDescriptionDefault
brandNo
postcodeNo
item_typeNo
wall_typeNo
item_countNo
service_typeYes
task_summaryYes
preferred_dateNo
photos_providedNo
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It only says 'use when' and does not reveal what the tool actually does—whether it calculates an estimate, returns a range, requires any prerequisites, or is read-only. The agent must infer behavior from the name.

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 a single, front-loaded sentence with no fluff. It is concise and easy to scan, but it sacrifices substance; however, as a brief usage trigger it is appropriately sized.

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

Completeness1/5

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

Given 9 parameters, no output schema, and no annotations, a one-sentence usage trigger is wholly inadequate. The description omits critical context such as return format, required parameter semantics, and any side effects, making the tool poorly specified for an agent to invoke correctly.

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

Parameters1/5

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

Schema description coverage is 0%, and the description provides no information about any of the 9 parameters. It does not explain service_type, task_summary, or optional fields like wall_type or photos_provided, leaving the agent to guess based on parameter names only.

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 indicates the tool's intended use case, tying it to cost questions and ballpark pricing. It effectively distinguishes it from sibling tools like find_services or create_booking_request by focusing on quote estimates, though it relies on the tool name for the action verb.

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 states when to use: when the user asks about likely cost, ballpark pricing, or whether a task needs a custom quote. It does not mention alternatives or exclusions, but the trigger scenarios are clear enough to guide tool selection.

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

list_customer_addressesBInspect

Use after verification to list saved addresses linked to the verified customer.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_tokenYes
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It does not state that the operation is read-only, what happens on invalid session_token, or the return format. The only behavioral hint is the dependency on verification, which is insufficient.

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, front-loaded sentence that communicates the essential usage condition and purpose with no wasted words. It is concise and well-structured.

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

Completeness2/5

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

The tool is simple (one parameter, no output schema), but the description omits return value details, error behavior, and the exact role of session_token. Given the lack of annotations and schema descriptions, this description leaves too much unsaid for reliable invocation.

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

Parameters1/5

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

The schema has no descriptions for the single parameter session_token (0% coverage), and the description does not explain its purpose or origin. The context implies it might be related to verification, but the description does not explicitly connect session_token to the verification step.

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 action (list) and resource (saved addresses) with a specific scope (linked to the verified customer). It also includes a usage prerequisite (after verification), making the purpose unambiguous and distinct from the sibling 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?

The description explicitly says 'Use after verification', providing a clear temporal condition for when to use this tool. It does not, however, mention when not to use it or compare it to alternatives like get_customer_profile, so it falls short of full guidance.

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

list_service_typesAInspect

Use after verification to show supported service types before collecting booking details.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_tokenYes
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It implies a verification prerequisite but does not explain what happens if the token is invalid, what the response format is, or what 'supported' means. The bare 'show' gives no details on output or side effects.

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

Conciseness5/5

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

A single, actionable sentence with no filler. It front-loads the most important usage guidance ('after verification') and states the core function. Perfectly concise for the information it conveys.

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

Completeness3/5

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

For a one-parameter tool with no output schema or annotations, the description gives the essential purpose and workflow position, but lacks detail on return structure, the meaning of 'supported', and how it relates to sibling tools like find_services. It is minimally viable but leaves gaps.

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 schema description coverage at 0%, the description is the only source of parameter meaning. It hints that 'session_token' is tied to verification ('after verification'), but does not explicitly link the parameter to that step or explain its role beyond the schema's type/length constraints. This adds some but not full value.

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 that the tool 'show supported service types' and provides a workflow position ('after verification', 'before collecting booking details'). However, it does not explicitly distinguish itself from the sibling tool 'find_services', which might also list/retrieve services.

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 gives explicit when-to-use context: 'Use after verification' and 'before collecting booking details'. It does not mention alternatives or exclusions, but the workflow phase is clear enough for an agent to sequence it correctly.

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

match_providersAInspect

Use when an agent needs a single deterministic provider-matching result for assignment. Returns an ordered_candidates array sorted best-to-worst, where the first can_assign=true candidate is the assignee.

ParametersJSON Schema
NameRequiredDescriptionDefault
urgencyYes
location_idNo
service_typeYes
area_postcodeYes
preferred_dateNo
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It does add important behavior: the output is an ordered_candidates array sorted best-to-worst, with the first can_assign=true candidate as assignee. However, it does not state whether the operation is read-only, whether it requires any prerequisites, or what happens when no candidate can be assigned. This is a moderate gap in transparency.

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 concise, dense sentences. It front-loads the purpose and immediately explains the output structure and selection rule. Every word earns its place, with no filler or redundancy.

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?

Given the tool has 5 parameters, no output schema, and no annotations, the description is rather sparse. It explains the core output behavior and when to use the tool, but it does not clarify how parameters like service_type, area_postcode, or urgency affect matching, nor does it mention edge cases or relationships to sibling tools like check_availability or find_services. It is minimally viable but leaves gaps.

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

Parameters1/5

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

The input schema has 5 parameters with 0% description coverage. The description does not mention any parameters, their roles, or how they influence the matching logic. Since the schema coverage is extremely low, the description was expected to compensate but fails completely, leaving the agent to infer parameter semantics solely from names and enums.

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: it provides a single deterministic provider-matching result for assignment. It distinguishes itself from siblings like find_services by emphasizing the deterministic, assignment-oriented nature. The verb 'match' is explicit in the name and the description elaborates on the resource (providers) and the specific output format.

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 gives a clear usage condition: 'Use when an agent needs a single deterministic provider-matching result for assignment.' This implies when the goal is assignment rather than merely listing or checking availability. However, it does not explicitly mention when not to use it or name alternative tools, so it falls short of a perfect 5.

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

start_booking_paymentBInspect

Use after collecting booking details to create a Stripe checkout payment session before final booking submission.

ParametersJSON Schema
NameRequiredDescriptionDefault
address_idNo
contact_idNo
service_typeYes
task_summaryYes
session_tokenYes
preferred_dateNo
deposit_amount_minorNo
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It does state that the tool 'creates' a payment session, indicating it has side effects. However, it does not describe further implications such as whether a charge is initiated, idempotency concerns, or what happens after the session is created. The sequencing context is useful, but more behavioral detail is needed for full transparency.

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 one sentence of 17 words, clearly stating purpose and timing without fluff. It earns its place by providing high-level context. However, the brevity contributes to the lack of parameter and behavioral information, so it is not a perfect score. It is efficient but under-specified.

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

Completeness2/5

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

Given the tool's complexity (7 parameters, no annotations, no output schema, 0% schema coverage), this minimal description is insufficient. It does not explain the relationship between parameters, what the function returns, or how the payment session integrates with the booking flow. An agent would lack critical context to invoke the tool correctly, especially compared to sibling tools that appear more fully described.

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

Parameters1/5

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

The input schema has 7 parameters and 0% description coverage. The description does not mention or explain any parameter, leaving the agent to infer the meaning of 'session_token', 'deposit_amount_minor', 'address_id', etc. solely from the schema. Since the schema lacks descriptions, the tool description must compensate, and it fails entirely to do so.

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 action: 'create a Stripe checkout payment session.' It includes a specific verb and resource, and distinguishes this from related tools like get_booking_payment_status by describing the exact point in the flow ('after collecting booking details... before final booking submission'). This is unambiguous and differentiates it from 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?

The description gives clear timing instructions: 'Use after collecting booking details' and 'before final booking submission.' This tells the agent when to call the tool, but it does not explicitly mention when not to use it or name alternative tools. Since it lacks exclusions or alternative references, it scores a 4 rather than a 5.

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

start_customer_verificationAInspect

Use when an existing customer wants to verify identity (OTP or magic link) before assistant-led booking.

ParametersJSON Schema
NameRequiredDescriptionDefault
identifierYes
method_preferenceNoauto
channel_preferenceNoauto
Behavior2/5

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

No annotations are present, so the description must disclose behavioral traits itself. It states the tool verifies identity but does not disclose whether it sends messages, creates tokens, or has side effects. The response format and next steps are also omitted, leaving the agent uncertain about the outcome of calling this 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?

The description is a single, front-loaded sentence that immediately states when to use it. No wasted words, and it reads naturally.

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

Completeness2/5

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

Given three parameters, no output schema, and no annotations, the description is too minimal. It provides the triggering context but not the tool's behavior, return value, or how it relates to the subsequent verification steps (e.g., verify_customer_otp). The agent lacks critical information to complete the flow.

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

Parameters2/5

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

The input schema provides no descriptions (0% coverage), so the description must explain the parameters. It only hints that OTP and magic link are relevant to method_preference, but does not explain identifier, the meaning of 'auto' defaults, or channel_preference. This is a significant gap for an agent to construct a valid call.

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 identifies the tool as starting customer identity verification, with a specific use case (existing customer, before assistant-led booking). The verb 'use when' plus the resource make the purpose unambiguous, and it distinguishes from sibling verification tools by implying this is the initiation step.

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

Usage Guidelines4/5

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

It explicitly states the condition under which to use the tool: when an existing customer wants to verify identity via OTP or magic link before booking. It does not list alternative tools or exclusions, but the 'before assistant-led booking' context provides clear situational guidance.

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

start_trusted_phone_sessionBInspect

Use in trusted telephony flows when the caller number is already verified by the channel provider and you need a short-lived booking session without OTP.

ParametersJSON Schema
NameRequiredDescriptionDefault
identifierYes
Behavior2/5

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

With no annotations, the description carries the full burden for disclosing behavior. It reveals the session is 'short-lived' and requires no OTP, but it omits side effects, prerequisites beyond number verification, what the identifier represents, and whether the tool creates a booking or just a session. This leaves substantial ambiguity about the tool's actual 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 a single, focused sentence that front-loads the primary use case and includes no filler. Every word contributes to the intended scenario.

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

Completeness2/5

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

The description specifies the trigger condition but fails to explain what the session does, how it fits into the booking flow, or what the identifier means. Given the lack of an output schema and the presence of many sibling booking tools, an agent would struggle to use this tool correctly without additional information.

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

Parameters1/5

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

The schema provides only a name and length constraints for 'identifier', with zero description coverage. The tool description does not explain what the identifier is (e.g., caller phone number, session token), leaving the agent without any semantic guidance for the parameter.

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 identifies the tool's purpose: starting a trusted phone booking session without OTP when the caller number is already verified. It specifies the verb ('start'), the resource ('trusted phone session'), and the distinguishing condition (no OTP), which separates it from OTP-based verification 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?

The description provides explicit use context: 'Use in trusted telephony flows when the caller number is already verified...' This tells the agent when to apply the tool, though it does not explicitly state exclusions or name alternative tools. The context is clear enough for the intended scenario.

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

tag_contactBInspect

Use to add CRM tags to the verified customer for booking workflow tracking.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsYes
session_tokenYes
Behavior2/5

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

With no annotations, the description carries the full burden, but it only states the action without disclosing side effects (e.g., whether tags are appended or replaced, any prerequisites beyond 'verified', or error behavior). This is a significant gap for a write operation.

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

Conciseness5/5

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

The description is a single, short sentence that is front-loaded with the action. Every word serves a purpose, and it avoids unnecessary detail.

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

Completeness2/5

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

For a simple two-parameter tool with no output schema and no annotations, the description covers only the basic action. Missing details include return value, tag replacement behavior, and any authentication prerequisites beyond the session token. The description is too minimal to be fully self-contained.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not explain the parameters ('tags', 'session_token') or their formats beyond what the schema already provides. The description adds no value to parameter understanding, failing to compensate for the lack of 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 states a specific verb ('add') and resource ('CRM tags to the verified customer'), clearly distinguishing it from sibling tools like 'update_contact_note' or 'create_booking_request'. The purpose is unambiguous.

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

Usage Guidelines4/5

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

It provides clear context ('for booking workflow tracking') suggesting it should be used during the booking flow after the customer is verified. No explicit exclusions or alternatives are given, but the context is sufficient for selection.

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

update_contact_noteAInspect

Use to append an internal CRM note for the verified customer during or after booking.

ParametersJSON Schema
NameRequiredDescriptionDefault
noteYes
session_tokenYes
Behavior3/5

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

With no annotations, the description carries the behavioral burden. It discloses that the operation is an append (non-destructive), requires a verified customer, and is internal. However, it lacks details on permissions, failure modes, or response behavior, which are important for a mutation tool with no 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, front-loaded sentence that efficiently communicates the tool's purpose and context. Every word contributes value, with no unnecessary filler.

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

Completeness2/5

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

For a tool with no annotations, no output schema, and zero parameter descriptions, the description is too sparse. It omits meanings for session_token and note, potential errors, and any post-condition, leaving the agent with insufficient information for correct use.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not explain either parameter. The names 'note' and 'session_token' are somewhat self-explanatory, but the description adds no meaning beyond the schema's type constraints. This is a significant gap for an agent to invoke correctly.

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 action ('append an internal CRM note'), the resource ('CRM note'), and the context ('for the verified customer during or after booking'). This distinguishes it from sibling tools like tag_contact, which likely adds tags, and update_* tools that might overwrite.

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 provides clear context for when to use the tool: 'during or after booking' and 'for the verified customer.' It does not explicitly mention alternatives or when-not-to-use, but the context is specific enough to guide selection.

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

verify_customer_otpAInspect

Use after sending an OTP challenge, to verify the one-time passcode and open a short-lived booking session.

ParametersJSON Schema
NameRequiredDescriptionDefault
otp_codeYes
challenge_idYes
Behavior3/5

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

With no annotations, the description carries the burden of behavioral disclosure. It reveals a key side effect: opening a short-lived booking session. However, it omits details like failure behavior, whether the OTP is consumed, session duration, or security requirements, which would be valuable.

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, front-loaded sentence that conveys when to use the tool and what it accomplishes. Every word earns its place; no redundant or filler content.

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

Completeness3/5

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

For a 2-parameter tool with no output schema and no annotations, the description is adequate but incomplete. It states the outcome (opening a short-lived session) but does not mention what the agent receives in response or any error/edge-case behavior, leaving room for improved completeness.

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

Parameters2/5

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

Schema description coverage is 0%, and the description does not explicitly explain either parameter. It indirectly references challenge_id via 'OTP challenge' and otp_code via 'one-time passcode,' but lacks direct semantics or format details beyond the schema constraints.

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 verifies a one-time passcode and opens a short-lived booking session, with a specific verb ('verify') and resource ('customer OTP'). It also distinguishes from siblings like verify_magic_link_token and start_customer_verification by focusing on OTP verification after a challenge.

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 after sending an OTP challenge,' providing clear temporal context for when to invoke it. It does not explicitly list alternatives or when-not-to-use, but the context is sufficient to differentiate from related tools.

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!

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    GTM signal intelligence suite for AI agents. Six tools: hiring signals, tech stack detection, company-to-LinkedIn resolution, ICP scoring, job board scanning, and a combined signals aggregator. Built for outbound sales workflows.
    11
    737
    1
    MIT
  • F
    license
    -
    quality
    C
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources