Skip to main content
Glama

claw.cleaning

Server Details

Book a San Francisco apartment cleaning. $40/hr, weekends 8am-6pm PT, SF only.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
GetColby/claw-cleaning
GitHub Stars
0

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.3/5 across 4 of 4 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool has a distinct and non-overlapping purpose: check_availability lists slots, check_booking_status retrieves customer bookings, initiate_booking starts a booking with conditional logic, and force_checkout_booking forces a checkout URL. The descriptions clearly differentiate their roles, eliminating any ambiguity in tool selection.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with snake_case (e.g., check_availability, initiate_booking). This uniformity makes the tool set predictable and easy to understand, enhancing usability for agents.

Tool Count5/5

With 4 tools, the set is well-scoped for a cleaning booking server, covering core operations like availability checking, booking initiation, status retrieval, and a specialized checkout override. Each tool serves a necessary function without redundancy or bloat.

Completeness4/5

The tool set provides strong coverage for the cleaning booking domain, including availability, booking creation, status checking, and handling payment failures. A minor gap exists in not having tools for updating or canceling bookings, but agents can likely work around this given the server's focus on core workflows.

Available Tools

4 tools
check_availabilityAInspect

List available cleaning slots. Saturdays and Sundays only, 8 AM – 6 PM PT, San Francisco only. Omit date for the next 8 upcoming weekend days.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoOptional YYYY-MM-DD date (must be Saturday or Sunday).
Behavior4/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 effectively describes key behavioral traits: time constraints (Saturdays/Sundays 8 AM–6 PM PT), geographic limitation (San Francisco only), default behavior when 'date' is omitted (next 8 upcoming weekend days), and the read-only nature implied by 'List'. It doesn't mention rate limits or error conditions, but provides substantial operational context.

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 perfectly concise and front-loaded. The first sentence establishes the core purpose, followed by specific constraints and parameter guidance. Every sentence earns its place with essential operational information, and there's zero wasted verbiage or redundancy.

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

Completeness4/5

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

For a single-parameter tool with no annotations and no output schema, the description provides excellent context about constraints, defaults, and operational scope. It doesn't describe the return format or structure, which would be helpful given no output schema, but covers most other aspects well for this complexity level.

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

Parameters4/5

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

The schema has 100% description coverage for the single optional parameter, but the description adds valuable semantic context beyond the schema. It explains the default behavior when 'date' is omitted (next 8 upcoming weekend days) and reinforces that dates must be Saturday or Sunday, which complements the schema's description. This additional guidance enhances parameter understanding.

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 specific action ('List available cleaning slots') and resource ('cleaning slots'), with precise scope constraints (weekends only, specific hours, San Francisco only). It distinguishes from potential siblings like 'check_booking_status' (status checking) or 'initiate_booking' (booking creation) by focusing solely on availability listing.

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 this tool ('List available cleaning slots') and includes implicit exclusions (only weekends, specific hours/location). However, it doesn't explicitly state when NOT to use it or name specific alternatives among the sibling tools, which would be needed for a perfect score.

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

check_booking_statusAInspect

List the bookings for a customer by email, with payment/calendar status for each. Returns most recent first. Covers both first-time (Stripe Checkout) and repeat (direct charge) bookings. Stripe search indexing can lag a few seconds behind a brand-new booking.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesCustomer email used during checkout.
Behavior4/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 effectively adds context beyond basic functionality: it specifies the return order ('most recent first'), covers different booking types, and warns about Stripe search indexing lag ('can lag a few seconds behind a brand-new booking'), which are valuable behavioral traits not inferable from the schema alone.

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 appropriately sized and front-loaded, starting with the core purpose. Each sentence adds value: the first states the action and scope, the second covers ordering and booking types, and the third provides a critical warning about indexing lag. There is minimal waste, though it could be slightly more structured.

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 tool's moderate complexity (1 parameter, no output schema, no annotations), the description is fairly complete. It covers purpose, behavior, and limitations, but lacks details on error handling or response format. With no output schema, it could benefit from more information on return values, but it provides sufficient context for basic use.

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 schema description coverage is 100%, so the schema already documents the 'email' parameter. The description adds marginal value by clarifying the email is 'used during checkout', but this is redundant with the schema's description. Baseline 3 is appropriate as the schema does the heavy lifting for parameter documentation.

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 with specific verbs ('List the bookings') and resources ('for a customer by email'), and distinguishes it from siblings by specifying it provides 'payment/calendar status for each' and covers 'both first-time (Stripe Checkout) and repeat (direct charge) bookings', unlike availability or booking initiation tools.

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 context by mentioning 'customer by email' and 'most recent first', but does not explicitly state when to use this tool versus alternatives like 'check_availability' or 'initiate_booking'. It provides some guidance on scope but lacks explicit when/when-not instructions or named alternatives.

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

force_checkout_bookingAInspect

Like initiate_booking, but always returns a Stripe checkout URL even for returning customers. Use this when a returning customer's saved card was declined and you want to give them a fresh browser checkout to try another card.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesYYYY-MM-DD. Must be Saturday or Sunday.
nameYesCustomer's full name.
emailYesCustomer email.
hoursYesNumber of hours (1–8). $40/hour.
addressYesFull street address. Must be in San Francisco, CA.
startTimeYes24h HH:MM, between 08:00 and 18:00 PT.
Behavior4/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 discloses key behavioral traits: it returns a Stripe checkout URL (output behavior), is intended for returning customers with declined cards (context), and forces a fresh browser checkout (action). However, it doesn't mention potential side effects like creating a booking record or authentication needs, leaving some gaps for a mutation tool.

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

Conciseness5/5

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

The description is two sentences, front-loaded with the core purpose and followed by usage guidance. Every sentence earns its place by providing essential information without redundancy. It's appropriately sized and structured for clarity.

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

Completeness4/5

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

Given the tool's complexity (mutation with 6 required parameters) and no annotations or output schema, the description is mostly complete. It explains the purpose, usage, and behavioral context well. However, it lacks details on what the tool does beyond returning a URL (e.g., if it creates a booking record) and any error handling, which could be useful for an agent.

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 all 6 parameters. The description adds no parameter-specific information beyond what the schema provides. According to the rules, with high schema coverage (>80%), the baseline is 3 even with no param info in the description, which applies here.

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: 'always returns a Stripe checkout URL even for returning customers.' It specifies the verb ('returns'), resource ('Stripe checkout URL'), and distinguishes it from sibling 'initiate_booking' by explaining the different behavior for returning customers. This is specific and avoids tautology.

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?

The description explicitly states when to use this tool: 'Use this when a returning customer's saved card was declined and you want to give them a fresh browser checkout to try another card.' It names the alternative ('initiate_booking') and provides clear context for when to choose this tool over it, making usage guidance comprehensive.

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

initiate_bookingAInspect

Start a booking. Behavior depends on the customer's payment history:

  • First-time customer (no saved card for this email): returns { status: "checkout_required", checkoutUrl }. Share the URL; the customer pays once in their browser and their card is saved for next time.

  • Returning customer (has a saved card): charges the card on file immediately, creates the calendar event, and returns { status: "booked" }. No URL needed.

  • Charge failure on a returning customer: returns { error, code, requiresAction }. Tell the customer the card was declined and offer to retry — a retry will fall back to a fresh checkout URL they can use with a different card. Always show the customer a full booking preview (date, start, hours, address, total, email) and get explicit confirmation before calling this tool.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesYYYY-MM-DD. Must be Saturday or Sunday.
nameYesCustomer's full name.
emailYesCustomer email. Used to identify repeat customers and deliver the calendar invite.
hoursYesNumber of hours (1–8). $40/hour.
addressYesFull street address. Must be in San Francisco, CA.
startTimeYes24h HH:MM, between 08:00 and 18:00 PT.
Behavior5/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 thoroughly describes behavioral traits: payment flow variations (first-time vs. returning customers), outcomes (checkout URL, booked status, error handling), and critical constraints (preview and confirmation requirement). This covers mutation, authentication needs (via email), and error handling beyond what a schema would provide.

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 appropriately sized and front-loaded, starting with the core purpose and then detailing behavioral logic in bullet points. Every sentence adds value, such as explaining payment flows and prerequisites, with no redundant information. Minor improvements could include tighter phrasing, but it remains efficient and well-structured.

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 complexity (booking initiation with payment logic), no annotations, and no output schema, the description provides complete context. It covers behavioral outcomes, error handling, prerequisites, and usage guidelines, compensating for the lack of structured fields. This ensures an agent has sufficient information to invoke the tool correctly.

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

Parameters3/5

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

The input schema has 100% description coverage, documenting all parameters clearly (e.g., date format, time range, address location). The description does not add specific parameter semantics beyond the schema, such as explaining how email is used for identification or pricing details, but it implies context (e.g., email for repeat customers). Baseline 3 is appropriate as the schema does the heavy lifting.

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

Purpose5/5

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

The description explicitly states the tool's purpose as 'Start a booking' and elaborates on the booking initiation process with specific behavioral outcomes based on customer payment history. It clearly distinguishes this from sibling tools like check_availability (which checks availability), check_booking_status (which checks status), and force_checkout_booking (which forces checkout), making the verb+resource distinction precise.

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?

The description provides explicit guidance on when to use this tool: 'Always show the customer a full booking preview (date, start, hours, address, total, email) and get explicit confirmation before calling this tool.' It also implies when not to use it (e.g., without confirmation or preview) and references alternatives indirectly through sibling tools, ensuring clear context for usage.

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.