Skip to main content
Glama

Bump to Baby — Maternity, Nursery & Baby Gear Store

Server Details

Explore baby prams, nursery furniture, and maternity essentials with live stock availability.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A3.6/5.0

Scored across 9 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: booking lifecycle operations (create, lookup, availability, reschedule, cancel) are separated from informational queries (studio info, pricing, gestational guide, FAQs). Overlap between check_booking_availability and lookup_booking_status is resolved by date-slot checking versus existing-appointment lookup. No pair appears to do the same thing.

Naming Consistency5/5

All tool names use predictable snake_case and generally follow a verb_noun pattern such as create_booking, cancel_booking, reschedule_booking, and get_studio_info. Read operations vary between get, check, and lookup, but the convention remains readable and consistent enough for an agent.

Tool Count5/5

Nine tools is well-scoped for a single-location ultrasound studio booking and information service. There are enough tools to cover discovery, availability, booking, lookup, rescheduling, and cancellation without excessive surface area.

Completeness4/5

The booking lifecycle is covered: availability checking, creation, lookup, rescheduling, and cancellation, alongside the main informational needs. Minor gaps exist around changing booking details other than date/time or managing customer records, but core workflows are present and workable.

Available Tools

9 tools
cancel_bookingCancel BookingC
Read-onlyIdempotent
Inspect

Cancel an upcoming booking with a reason. Updates booking status and sends cancellation notifications. When to use: Call this tool when you specifically need to execute 'cancel_booking' on Bump to Baby Store (bumptobabysa.co.za). Do NOT use this tool when another specialized tool fits better (use 'get_studio_info' or 'get_scan_packages_and_pricing' or 'get_gestational_guide' for their respective operations). Parameters: booking_id (required), reason (required). Behavior & Side Effects: Strictly read-only, idempotent query with zero state mutation; public unauthenticated access allowed; rate-limited to 60 requests/min per IP. Returns: Structured JSON object containing status, matched records or computed metrics, and canonical action URLs.

NameRequiredDescriptionDefault
reasonYesReason for cancellation (e.g. "Scheduling conflict", "Doctor scheduled medical scan instead") [Required: non-empty valid value must be supplied].
booking_idYesThe booking record ID to cancel [Required: non-empty valid value must be supplied].

TDQS

C2.4/5.0
Behavior1/5

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

The description says the tool 'Updates booking status and sends cancellation notifications', an irreversible mutation, while annotations declare readOnlyHint=true, destructiveHint=false and idempotentHint=true. The 'Behavior & Side Effects' section then claims 'Strictly read-only, idempotent query with zero state mutation', contradicting the description's own first sentence. An agent cannot determine whether calling this destroys data.

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 useful content is one sentence; the rest is boilerplate ('When to use', 'Parameters:', 'Returns:') plus a self-contradicting side-effects block. The contradiction is not merely verbose — it actively misleads, and the front-loaded mutation claim is immediately undercut later.

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?

There is no output schema, so the description must carry the return contract, and it does so only generically ('status, matched records or computed metrics, and canonical action URLs') — language that reads like it was written for a search tool, not a cancellation. Most critically, the safety profile is self-contradictory for an operation that plainly mutates a booking.

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

Parameters3/5

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

Schema coverage is 100%, and both properties carry their own descriptions with examples, so the schema does the heavy lifting. The description only restates the two parameter names and their required status, adding no format, ID-source, or reason-length guidance beyond the schema.

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

Purpose4/5

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

The opening sentence gives a specific verb and resource: cancel an upcoming booking, with a required reason. However, the sibling differentiation is boilerplate — it points away to unrelated info tools (get_studio_info, get_scan_packages_and_pricing) and never mentions reschedule_booking, the actual alternative for an unwanted time slot.

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

Usage Guidelines2/5

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

The 'When to use' clause is pure tautology — 'Call this tool when you specifically need to execute cancel_booking' — which restates the name instead of giving a condition. The 'do NOT use' list names three unrelated read tools and omits the genuinely competing siblings reschedule_booking and lookup_booking_status, so the agent gets no real routing signal.

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

check_booking_availabilityCheck Booking AvailabilityA
Read-onlyIdempotent
Inspect

Check real-time slot availability for baby scans on a specific date in Pretoria. Returns trading status, booked times, and open morning/afternoon appointment slots. When to use: Call this tool when you specifically need to execute 'check_booking_availability' on Bump to Baby Store (bumptobabysa.co.za). Do NOT use this tool when another specialized tool fits better (use 'get_studio_info' or 'get_scan_packages_and_pricing' or 'get_gestational_guide' for their respective operations). Parameters: date (required), service_type (optional). Behavior & Side Effects: Strictly read-only, idempotent query with zero state mutation; public unauthenticated access allowed; rate-limited to 60 requests/min per IP. Returns: Structured JSON object containing status, matched records or computed metrics, and canonical action URLs.

NameRequiredDescriptionDefault
dateYesTarget appointment date in YYYY-MM-DD format (e.g. "2026-09-12"). Required.
service_typeNoDesired service (e.g. "4D Scan", "Gender Scan", "2D Scan"). Optional.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, but the description adds genuinely new facts: public unauthenticated access and a 60 requests/min per-IP rate limit, which matter for retry/backoff planning. It also confirms zero state mutation, reinforcing rather than contradicting the annotations. The return description is somewhat generic boilerplate ('computed metrics', 'canonical action URLs') for what is really a slot list.

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

Conciseness3/5

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

The purpose is correctly front-loaded in the first sentence, but the 'When to use: Call this tool when you specifically need to execute check_booking_availability' line is pure filler, and the returns clause contains generic template language ('matched records or computed metrics') that earns no place. Roughly a third of the text is boilerplate.

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

Completeness4/5

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

There is no output schema, so the description must carry the return shape, and it does name the key payload elements (status, booked times, open morning/afternoon slots) alongside auth and rate-limit context. What is missing is any hint about the slot-list structure or timezone, which matters for a date-scoped availability query.

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 both parameters, including the YYYY-MM-DD format for date, are already documented in the schema. The description only restates 'date (required), service_type (optional)' and adds no disambiguation, such as how service_type affects which slots are counted or whether an omitted service_type defaults to all scan types. Baseline 3 is appropriate.

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

Purpose4/5

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

The opening sentence gives a specific verb, resource, domain and geography: real-time slot availability for baby scans on a given date in Pretoria, plus what is returned (trading status, booked times, open morning/afternoon slots). This clearly separates it from lookup_booking_status and create_booking. It falls short of a 5 because the later 'When to use' line merely restates the tool name rather than adding discrimination.

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 when not to use the tool and names concrete alternatives (get_studio_info, get_scan_packages_and_pricing, get_gestational_guide). However, the named alternatives are informational siblings, not the closest competing tool (lookup_booking_status), and the 'when to use' clause itself is tautological rather than stating the triggering condition (e.g. 'before creating or rescheduling a booking').

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

create_bookingCreate BookingAInspect

Book a non-diagnostic elective 2D/3D/4D ultrasound scan appointment directly at Bump to Baby Montana. Persists booking to Cloudflare D1 and triggers automated confirmation SMS & Email. When to use: Call this tool when you specifically need to execute 'create_booking' on Bump to Baby Store (bumptobabysa.co.za). Do NOT use this tool when another specialized tool fits better (use 'get_studio_info' or 'get_scan_packages_and_pricing' or 'get_gestational_guide' for their respective operations). Parameters: customer_name (required), customer_phone (required), customer_email (optional), service_type (required), date (required), time (required), gestation_weeks (optional), notes (optional). Behavior & Side Effects: Creates a live record/session in the backend database; no authentication required for public initiation; rate-limited to 60 requests/min per IP. Returns: Structured JSON object containing status, matched records or computed metrics, and canonical action URLs.

NameRequiredDescriptionDefault
dateYesAppointment date in YYYY-MM-DD format (e.g. "2026-09-15")
timeYesAppointment start time in 24-hour HH:MM format (e.g. "09:30", "14:00")
notesNoAny special requests (e.g. "Bringing grandma and big brother", "Secret gender reveal envelope"). Optional.
service_typeYesService package name: "Gender Scan (30min - R600)", "4D Scan (45min - R850)", or "2D Scan (30min - R500)" [Required: non-empty valid value must be supplied].
customer_nameYesFull name of the expectant parent (e.g. "Sarah van der Merwe") [Required: non-empty valid value must be supplied].
customer_emailNoEmail address for detailed appointment confirmation and calendar invite. Optional.
customer_phoneYesSouth African mobile number for SMS confirmation (e.g. "0821234567" or "+27821234567") [Required: non-empty valid value must be supplied].
gestation_weeksNoGestational age of pregnancy in weeks (must be 12 weeks or higher) [Optional: omit to use server default filter].

TDQS

A3.6/5.0
Behavior4/5

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

With annotations already declaring readOnlyHint=false, idempotentHint=false and destructiveHint=false, the description still adds real value: it names the persistence target (Cloudflare D1), states that confirmation SMS and email are triggered as side effects, notes no auth is required, and gives a rate limit of 60 req/min per IP.

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

Conciseness3/5

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

The core booking sentence and the side-effects sentences earn their place, but 'When to use' is generic filler and the trailing 'Returns' sentence reads like reused boilerplate ('matched records or computed metrics') that does not fit a booking creation tool.

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 mutating, non-idempotent, open-world tool with no output schema, the description covers the essentials an agent needs: side effects, auth posture, rate limits and persistence. The vague/generic return-value sentence is the only notable gap.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents formats, examples and required/optional status for all 8 parameters. The description's parameter list merely re-enumerates them with the same required/optional flags and adds nothing new.

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 opening sentence states a specific verb and resource: book a non-diagnostic elective 2D/3D/4D ultrasound appointment at a named studio. It is clearly distinguishable from lookup/cancel/reschedule siblings, though the sibling differentiation later degrades into boilerplate.

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

Usage Guidelines3/5

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

It gives a 'when to use' that largely restates the tool name, and it redirects only to read-only siblings (studio info, packages, gestational guide). It does not tell the agent to call check_booking_availability first, nor how this differs from cancel_booking/reschedule_booking, which are the closest-mutation alternatives.

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

get_gestational_guideGet Gestational GuideA
Read-onlyIdempotent
Inspect

Get recommended pregnancy week windows for each scan type (e.g. 14–16+ weeks for Gender Determination, 24–32 weeks for 4D/5D facial features, 12+ weeks minimum rule) plus preparation guidelines for optimal ultrasound clarity. When to use: Call this tool when you specifically need to execute 'get_gestational_guide' on Bump to Baby Store (bumptobabysa.co.za). Do NOT use this tool when another specialized tool fits better (use 'get_studio_info' or 'get_scan_packages_and_pricing' or 'check_booking_availability' for their respective operations). Parameters: gestation_weeks (optional). Behavior & Side Effects: Strictly read-only, idempotent query with zero state mutation; public unauthenticated access allowed; rate-limited to 60 requests/min per IP. Returns: Structured JSON object containing status, matched records or computed metrics, and canonical action URLs.

NameRequiredDescriptionDefault
gestation_weeksNoCurrent gestational age of pregnancy in weeks (e.g. 26). Optional.

TDQS

A3.6/5.0
Behavior4/5

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

The read-only/idempotent/no-mutation claims merely restate what readOnlyHint, idempotentHint and destructiveHint already declare, so they earn no credit. What does add value is the disclosure of unauthenticated public access and the rate limit of 60 requests/min per IP, which an agent cannot infer from any structured field. The 'Returns' sentence is generic boilerplate but the auth/rate-limit context is genuinely useful.

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

Conciseness3/5

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

The first sentence is excellent, front-loaded and dense with real information. Everything after it is template filler: the self-referential 'when to use' sentence, the generic sibling list, and a 'Returns' line that describes status/computed metrics/action URLs that this tool likely does not produce in that shape.

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 zero-required-param, read-only lookup with full annotation coverage and no output schema, the description supplies enough: it explains what data is returned conceptually, states access and rate limits, and covers the one optional input. The only gap is that it never says what happens when gestation_weeks is omitted (full table vs. nothing).

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

Parameters3/5

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

Schema description coverage is 100% and the single parameter already carries a clear description with an example (26 weeks). The description's 'Parameters: gestation_weeks (optional)' adds nothing beyond the schema, so the baseline of 3 applies.

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

Purpose4/5

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

The opening sentence gives a specific verb+resource (gestational week windows per scan type) and backs it with concrete domain examples — 14–16+ weeks for Gender Determination, 24–32 for 4D/5D, 12+ minimum. It does not differentiate against siblings within the purpose statement itself, but the intent 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 Guidelines3/5

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

The 'when to use' clause is circular — 'call this tool when you specifically need to execute get_gestational_guide' tells the agent nothing. The exclusion does name real siblings (get_studio_info, get_scan_packages_and_pricing, check_booking_availability), but only as a generic 'another tool fits better' pointer without stating the discriminating conditions, e.g. 'do not use this to price a scan — use get_scan_packages_and_pricing'.

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

get_scan_packages_and_pricingGet Scan Packages And PricingA
Read-onlyIdempotent
Inspect

Retrieve real-time ultrasound packages, scan durations, prices in South African Rand (ZAR), and full inclusions (thermal prints, high-definition digital videos/photos sent to phone, baby heartbeat recording). When to use: Call this tool when you specifically need to execute 'get_scan_packages_and_pricing' on Bump to Baby Store (bumptobabysa.co.za). Do NOT use this tool when another specialized tool fits better (use 'get_studio_info' or 'get_gestational_guide' or 'check_booking_availability' for their respective operations). Parameters: package_type (optional). Behavior & Side Effects: Strictly read-only, idempotent query with zero state mutation; public unauthenticated access allowed; rate-limited to 60 requests/min per IP. Returns: Structured JSON object containing status, matched records or computed metrics, and canonical action URLs.

NameRequiredDescriptionDefault
package_typeNoFilter by package category. Optional, defaults to "all".

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, and openWorld, so the description's restatement of 'strictly read-only, zero state mutation' is redundant. It does add genuinely new operational context: unauthenticated public access and a 60 requests/min per-IP rate limit, both of which an agent cannot infer from annotations.

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

Conciseness3/5

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

The first sentence is well front-loaded and informative. The remaining text is padded with a templated self-reference ('when you specifically need to execute...'), a generic returns sentence ('status, matched records or computed metrics'), and redundant read-only restatement that crowds out useful content.

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

Completeness4/5

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

With one optional parameter, full annotation coverage, and no output schema, the definition covers what the agent needs: what the data contains, access constraints, rate limits, and that a JSON response with URLs comes back. The return description is vague ('matched records or computed metrics'), but nothing essential for calling the tool correctly is missing.

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

Parameters3/5

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

Schema coverage is 100% and the single optional enum parameter is fully documented there, including the default of 'all'. The description only restates 'package_type (optional)' without explaining what the gender/4d/2d/heartbeat categories mean or how they change results, so it adds no value beyond the schema.

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

Purpose4/5

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

The opening sentence gives a specific verb ('Retrieve') plus concrete resources: ultrasound packages, scan durations, ZAR prices, and inclusions like thermal prints and heartbeat recordings. It is clearly differentiated from siblings in kind (pricing/packages vs. booking or studio info), though the sibling differentiation is delivered through a boilerplate template rather than real domain distinctions.

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

Usage Guidelines3/5

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

It provides an explicit do-not-use clause naming get_studio_info, get_gestational_guide, and check_booking_availability, which is better than nothing. However the positive 'when to use' guidance is circular ('when you specifically need to execute get_scan_packages_and_pricing'), and the alternatives are listed without saying which conditions actually select them.

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

get_studio_faqs_and_policiesGet Studio Faqs And PoliciesA
Read-onlyIdempotent
Inspect

Retrieve answers to frequently asked questions, clinic policies on bringing family/children, twins/multiples pricing, diagnostic disclaimers, and re-scan policies. When to use: Call this tool when you specifically need to execute 'get_studio_faqs_and_policies' on Bump to Baby Store (bumptobabysa.co.za). Do NOT use this tool when another specialized tool fits better (use 'get_studio_info' or 'get_scan_packages_and_pricing' or 'get_gestational_guide' for their respective operations). Parameters: none required (zero-argument query). Behavior & Side Effects: Strictly read-only, idempotent query with zero state mutation; public unauthenticated access allowed; rate-limited to 60 requests/min per IP. Returns: Structured JSON object containing status, matched records or computed metrics, and canonical action URLs.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the annotations, the description discloses that access is public and unauthenticated, the tool is rate-limited to 60 requests/min per IP, and it causes zero state mutation. These are useful operational details not present in the structured annotations.

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

Conciseness4/5

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

The description is front-loaded with the resource scope and keeps operational details in clearly labeled sentences. However, the 'when to use' sentence repeats the tool name in a tautological way, and the return-shape sentence is fairly generic.

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 zero-parameter read-only tool with rich annotations, the description covers purpose, routing, access constraints, rate limits, and a general return shape. It is sufficient for correct invocation, though the return description remains generic because no output schema is available.

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

Parameters4/5

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

The tool has zero parameters, so the schema already provides complete parameter semantics. The description correctly notes that no parameters are required, which is consistent but does not add significant meaning beyond the empty 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 uses a specific verb and resource ('Retrieve answers to frequently asked questions, clinic policies...') and enumerates the content covered, including family/children policies, twins/multiples pricing, diagnostic disclaimers, and re-scan policies. It also names sibling alternatives, so an agent can distinguish it from get_studio_info, get_scan_packages_and_pricing, and get_gestational_guide.

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?

It provides an explicit when-not rule ('Do NOT use this tool when another specialized tool fits better') and names the alternative tools to use instead. Although the 'when to use' sentence is somewhat circular, the content scope and sibling routing make the intended selection clear.

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

get_studio_infoGet Studio InfoA
Read-onlyIdempotent
Inspect

Retrieve official studio information for Bump to Baby in Montana, Pretoria including location, operating hours, contact phone, email, studio amenities, and elective scan philosophy. When to use: Call this tool when you specifically need to execute 'get_studio_info' on Bump to Baby Store (bumptobabysa.co.za). Do NOT use this tool when another specialized tool fits better (use 'get_scan_packages_and_pricing' or 'get_gestational_guide' or 'check_booking_availability' for their respective operations). Parameters: none required (zero-argument query). Behavior & Side Effects: Strictly read-only, idempotent query with zero state mutation; public unauthenticated access allowed; rate-limited to 60 requests/min per IP. Returns: Structured JSON object containing status, matched records or computed metrics, and canonical action URLs.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, open-world, but the description adds genuinely new context: public unauthenticated access and a 60 requests/min per-IP rate limit. Its weakness is the generic return statement ('matched records or computed metrics, canonical action URLs') which reads as boilerplate rather than describing this tool's actual payload.

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

Conciseness3/5

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

The core content and alternatives are front-loaded and useful, but the sentence 'Call this tool when you specifically need to execute get_studio_info on Bump to Baby Store' is tautological filler that restates the name, and the Returns sentence is generic padding.

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 zero-param read tool with no output schema, the description covers scope, access model, rate limits, and roughly what comes back. It stops short of naming the actual response fields (address, hours, phone) which would fully close the loop.

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

Parameters4/5

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

With zero parameters the baseline is 4, and the description correctly confirms it is a zero-argument query, matching the empty schema. No further parameter semantics are possible.

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

Purpose5/5

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

States a specific verb (Retrieve) and resource (official studio information) and enumerates the exact content: location, hours, phone, email, amenities, and elective scan philosophy. This is clearly distinguishable from siblings like pricing or FAQ tools.

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

Usage Guidelines5/5

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

Explicitly gives a when-to-use condition and an explicit when-not-to-use rule naming the three alternative tools (get_scan_packages_and_pricing, get_gestational_guide, check_booking_availability). Nothing is left to inference.

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

lookup_booking_statusLookup Booking StatusA
Read-onlyIdempotent
Inspect

Look up an existing appointment by phone number or booking reference to check status, date, time, and service details. When to use: Call this tool when you specifically need to execute 'lookup_booking_status' on Bump to Baby Store (bumptobabysa.co.za). Do NOT use this tool when another specialized tool fits better (use 'get_studio_info' or 'get_scan_packages_and_pricing' or 'get_gestational_guide' for their respective operations). Parameters: phone (optional), booking_id (optional). Behavior & Side Effects: Strictly read-only, idempotent query with zero state mutation; public unauthenticated access allowed; rate-limited to 60 requests/min per IP. Returns: Structured JSON object containing status, matched records or computed metrics, and canonical action URLs.

NameRequiredDescriptionDefault
phoneNoCustomer mobile number used during booking (e.g. "0821234567") [Optional: omit to use server default filter].
booking_idNoUnique booking identifier if known. Optional.

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered; the description still adds genuinely new operational facts: public unauthenticated access and a 60 requests/min per-IP rate limit. It also notes zero state mutation and sketches the return payload, though 'computed metrics' is vague for a status lookup.

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

Conciseness3/5

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

Front-loaded with a solid purpose sentence and clearly labeled Parameters/Behavior/Returns sections, but the 'When to use' sentence is filler that restates the tool name, and 'computed metrics' plus 'canonical action URLs' are generic boilerplate that does not earn its space.

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

Completeness4/5

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

With no output schema, the Returns sentence usefully signals a structured JSON payload, and auth/rate-limit disclosures round out what an agent needs before calling. Missing only the ambiguity of passing both lookup keys at once.

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

Parameters3/5

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

Schema description coverage is 100% and both properties carry their own examples and optionality notes ('0821234567'). The description only restates 'phone (optional), booking_id (optional)', adding no semantics such as which key takes precedence when both are supplied — a real gap given zero required parameters.

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

Purpose5/5

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

States a specific verb ('look up'), resource ('an existing appointment'), lookup keys (phone number or booking reference) and exactly what is returned (status, date, time, service details). That is enough for an agent to distinguish it from create_booking, cancel_booking, and reschedule_booking without opening a schema.

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

Usage Guidelines4/5

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

It explicitly routes the agent away from three named siblings (get_studio_info, get_scan_packages_and_pricing, get_gestational_guide), which is real differentiation. However the positive 'when to use' clause is circular boilerplate ('when you specifically need to execute lookup_booking_status') rather than stating the condition, e.g. when a customer asks about an existing appointment.

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

reschedule_bookingReschedule BookingC
Read-onlyIdempotent
Inspect

Reschedule an existing appointment to a new date and time. Sends updated SMS and email confirmations automatically. When to use: Call this tool when you specifically need to execute 'reschedule_booking' on Bump to Baby Store (bumptobabysa.co.za). Do NOT use this tool when another specialized tool fits better (use 'get_studio_info' or 'get_scan_packages_and_pricing' or 'get_gestational_guide' for their respective operations). Parameters: booking_id (required), new_date (required), new_time (required). Behavior & Side Effects: Strictly read-only, idempotent query with zero state mutation; public unauthenticated access allowed; rate-limited to 60 requests/min per IP. Returns: Structured JSON object containing status, matched records or computed metrics, and canonical action URLs.

NameRequiredDescriptionDefault
new_dateYesNew appointment date in YYYY-MM-DD format (e.g. "2026-09-20")
new_timeYesNew appointment start time in HH:MM format (e.g. "11:00")
booking_idYesThe booking record ID [Required: non-empty valid value must be supplied].

TDQS

C2.4/5.0
Behavior1/5

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

The description both declares a mutating action ('Reschedule an existing appointment', 'Sends updated SMS and email confirmations automatically') and asserts 'Strictly read-only, idempotent query with zero state mutation', directly contradicting its own content and the readOnlyHint=true annotation. It also gives no real context on whether the old slot is released, whether the new slot must first be verified, or what SMS/email side effects imply for the caller.

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 opening two sentences are useful and front-loaded, but the remainder is boilerplate that does not describe this tool: a tautological 'when to use', a 'Returns' block for a tool with no output schema, and generic 'canonical action URLs' language. Roughly half the text is template filler, and the filler is where the contradiction lives.

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 3-required-parameter booking mutation, an agent needs to know prerequisite availability checking, slot-release behavior, and authorization/ownership rules — none are covered. Worse, the behavioral block mislabels the operation as read-only, so the description actively leaves the agent less equipped than the schema alone would.

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

Parameters3/5

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

Schema coverage is 100% and the schema itself documents YYYY-MM-DD and HH:MM formats, so the description's flat list of required parameters adds nothing new. Baseline 3 applies; no extra semantics (timezone, booking-id provenance, date bounds) are contributed.

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 first sentence gives a specific verb+resource+effect: reschedule an existing appointment to a new date and time, with confirmations sent. It is distinguishable from siblings on the verb, though the tool name and title already carry most of that signal and the description never contrasts against cancel_booking/create_booking.

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

Usage Guidelines2/5

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

The 'when to use' sentence merely restates the tool name ('Call this tool when you specifically need to execute reschedule_booking'), and the 'do not use' clause lists get_studio_info, get_scan_packages_and_pricing and get_gestational_guide — unrelated siblings — while ignoring the genuinely confusable ones (cancel_booking, create_booking, check_booking_availability). The routing guidance is templated noise rather than real discrimination.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updates
    • Changedcancel_booking2 fields changed
      • changedInput schema / properties / booking_id / description
        Previous value: -"The booking record ID to cancel"New value: +"The booking record ID to cancel [Required: non-empty valid value must be supplied]."
      • changedInput schema / properties / reason / description
        Previous value: -"Reason for cancellation (e.g. \"Scheduling conflict\", \"Doctor scheduled medical scan instead\")"New value: +"Reason for cancellation (e.g. \"Scheduling conflict\", \"Doctor scheduled medical scan instead\") [Required: non-empty valid value must be supplied]."
    • Changedcreate_booking4 fields changed
      • changedInput schema / properties / customer_name / description
        Previous value: -"Full name of the expectant parent (e.g. \"Sarah van der Merwe\")"New value: +"Full name of the expectant parent (e.g. \"Sarah van der Merwe\") [Required: non-empty valid value must be supplied]."
      • changedInput schema / properties / customer_phone / description
        Previous value: -"South African mobile number for SMS confirmation (e.g. \"0821234567\" or \"+27821234567\")"New value: +"South African mobile number for SMS confirmation (e.g. \"0821234567\" or \"+27821234567\") [Required: non-empty valid value must be supplied]."
      • changedInput schema / properties / gestation_weeks / description
        Previous value: -"Gestational age of pregnancy in weeks (must be 12 weeks or higher)"New value: +"Gestational age of pregnancy in weeks (must be 12 weeks or higher) [Optional: omit to use server default filter]."
      • changedInput schema / properties / service_type / description
        Previous value: -"Service package name: \"Gender Scan (30min - R600)\", \"4D Scan (45min - R850)\", or \"2D Scan (30min - R500)\""New value: +"Service package name: \"Gender Scan (30min - R600)\", \"4D Scan (45min - R850)\", or \"2D Scan (30min - R500)\" [Required: non-empty valid value must be supplied]."
    • Changedlookup_booking_status1 field changed
      • changedInput schema / properties / phone / description
        Previous value: -"Customer mobile number used during booking (e.g. \"0821234567\")"New value: +"Customer mobile number used during booking (e.g. \"0821234567\") [Optional: omit to use server default filter]."
    • Changedreschedule_booking1 field changed
      • changedInput schema / properties / booking_id / description
        Previous value: -"The booking record ID"New value: +"The booking record ID [Required: non-empty valid value must be supplied]."
  2. 9 tool updates
    • First observedcancel_booking
    • First observedcheck_booking_availability
    • First observedcreate_booking
    • First observedget_gestational_guide
    • First observedget_scan_packages_and_pricing
    • First observedget_studio_faqs_and_policies
    • First observedget_studio_info
    • First observedlookup_booking_status
    • First observedreschedule_booking

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources