Skip to main content
Glama

Find available services (earliest openings)

find_available_services
Read-only

Checks up to five top matching eligible Kirah businesses for earliest current availability within an exact ISO-8601 window of up to 14 days. Returns checked status and a partial-coverage flag.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYesThe consumer's service need in plain words — identical semantics to search_businesses.query.
locationNoOptional place text ('City, ST', ZIP, bare city/state) OR explicit coordinates 'lat,lng' — identical semantics to search_businesses.location.
tenant_modeNoThe authoritative demo eligibility filter, with the same semantics as search_businesses. include_demos is the default and returns real and demo candidates; real_only excludes demos; demos_only returns only clearly labeled demonstration candidates.include_demos
include_demoNoBack-compat alias: true is equivalent to tenant_mode 'include_demos' and false to 'real_only'. When omitted, tenant_mode defaults to include_demos. Every demo candidate carries demo:true and a demo_notice. Supplying both include_demo and tenant_mode with disagreeing demo-inclusion is invalid_tenant_mode.
radius_milesNoRadius in miles (default 25) — operative when the location resolves to coordinates (2.6 semantics).
earliest_afterNoExact ISO 8601 instant the window opens (default: now). Natural-language times are rejected (invalid_earliest_after).
candidate_limitNoHow many top-matching businesses get LIVE availability checks (invalid_candidate_limit outside 1-5). This bounds the whole fan-out: businesses beyond it are never touched, and partial:true says so.
earliest_beforeNoExact ISO 8601 instant the window closes (default: earliest_after + 14 days). Must be after earliest_after and at most 14 days after it (invalid_earliest_before).
max_price_centsNoOnly candidate services with a parseable price at or under this amount are considered.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already cover read-only, open-world, and non-destructive behavior. The description adds meaningful behavioral context: bounded fan-out to up to five businesses, an exact ISO-8601 window capped at 14 days, and a partial-coverage signal instead of pretending results are exhaustive. It does not discuss rate limits or auth, but those are less critical for a read-only opener-style 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 one tight, front-loaded sentence: it states what is checked, the candidate bound, the window rule, and the key return signal. There is no filler, no restatement of the tool name, and no wasted words.

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 comprehensive input schema, the presence of an output schema, and annotations that establish safety and open-world behavior, the description supplies the high-level invocation model an agent needs: what is searched, how many candidates are touched, the window format, and partial-coverage semantics. It is complete for a read-only tool of this complexity.

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?

All nine parameters have full schema descriptions, defaults, constraints, and error semantics, so the baseline is 3. The description does not add parameter-level meaning beyond what the schema already documents; it mostly summarizes candidate_limit and window behavior already present in the schema.

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

Purpose5/5

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

The description opens with a concrete operation ('Checks up to five top matching eligible Kirah businesses for earliest current availability') and specifies scope, window constraints, and return behavior ('checked status and a partial-coverage flag'). This clearly distinguishes it from pure search or listing siblings like search_businesses, search_services, and list_services.

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 use case is reasonably implied—find earliest openings across several matching businesses—but the description never explicitly says when to prefer this over get_availability or search_services, nor gives a when-not-to-use caveat. An agent can infer the intended usage, but the guidance is not explicit.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.1/5.0
Disambiguation4/5

Each booking lifecycle tool is clearly distinct, and the search/availability tools are generally separated by scope. The closest pair is find_available_services and get_availability, but their descriptions sufficiently distinguish cross-business availability checks from per-service calendar lookups.

Naming Consistency5/5

All tool names follow a consistent snake_case verb_noun pattern, such as create_booking, get_availability, list_services, and reschedule_booking. The verbs are predictable and communicate the action clearly.

Tool Count5/5

Ten tools is a well-scoped size for a local services booking server. Each tool addresses a distinct part of the workflow without unnecessary redundancy or bloat.

Completeness4/5

The tool set covers the core booking journey: discovery, availability, booking creation, status checks, rescheduling, and cancellation. A minor gap is the lack of a list-bookings endpoint, though payment is explicitly handled outside MCP, so core functionality remains intact.

Resources