therapy-booking
Server Details
Check live availability and book therapy sessions with a Malayalam-speaking psychologist.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
Each tool targets a distinct step in the booking flow: service catalog, availability lookup, draft creation/pay link, and status retrieval. There is no overlap or plausible confusion between them.
All tool names follow a consistent verb_noun style with snake_case (list_, check_, create_, get_). The pattern makes the action and target predictable.
Four tools is well-scoped for a focused booking server; each addresses a necessary step in the booking lifecycle. There are no redundant or filler tools.
The core booking flow is covered: list services, check availability, create a draft, and read booking status/Meet link. Missing cancellation, rescheduling, or update tools are minor gaps, but the main customer-facing workflow is complete.
Available Tools
4 toolscheck_availabilityCheck availabilityBInspect
Real open time slots (IST) for a session type over a date range. Dates are YYYY-MM-DD.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | end date YYYY-MM-DD | |
| from | Yes | start date YYYY-MM-DD | |
| session_type | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It usefully discloses that slots are 'real' open slots and are in IST, which helps an agent understand the operation. However, it does not state whether the action is read-only, what the response format is, or whether any availability constraints apply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the core purpose and timezone. The date-format sentence is somewhat redundant with the schema but still helps reinforce key input conventions. No unnecessary filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 3-parameter availability check, the essentials are present: what is returned, in what timezone, and over what range. But there is no usage guidance, no output format expectation, and no annotation safety context, leaving some ambiguity for an agent deciding among sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents from/to as YYYY-MM-DD dates and session_type as an enum. The description mostly repeats the date format and does not add meaning for session_type values or clarify how the parameters interact. Coverage is 67%, but the description does not compensate for the undocumented parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states that the tool returns real open time slots for a session type over a date range, with IST and date format specified. It lacks an explicit verb like 'Retrieve', but the intent is clear and distinguishable 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus list_services, get_booking_status, or create_booking_draft. There are no preconditions, exclusions, or alternative routing cues.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_booking_draftCreate booking draft and pay linkAInspect
Hold a specific slot and return a single-use pay link to hand the customer. Call check_availability first and use one of its times. Collect the customer's name, phone, and email first. The price is server-set; you cannot set an amount. Payment and consent stay with the customer.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| Yes | |||
| phone | Yes | with country code, e.g. +91 98xxxxxxxx | |
| plan_code | Yes | ||
| slot_date | Yes | YYYY-MM-DD from check_availability | |
| slot_time | Yes | HH:MM 24h IST from check_availability | |
| session_type | Yes |
TDQS
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 mentions the side effect of holding a slot, the single-use nature of the pay link, the server-set price restriction, and that payment/consent stays with the customer. This covers key behaviors, but does not explicitly state what happens if the slot is already taken or whether the hold expires. Still, the instruction to call check_availability mitigates some gaps, making this a solid 4.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with the primary action, and each sentence adds value: the core behavior, the prerequisite, and a critical constraint. There is no redundant phrasing or filler. It is well-structured and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter creation tool with no output schema, the description covers the essential workflow: check availability, collect customer info, and call this tool. It explains the output (pay link) and key constraints (server-set price, payment/consent). It does not describe the response structure or error handling, but given the explicit prerequisites and the simplicity of the task, it is sufficiently complete 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 43% (3 of 7 parameters have descriptions). The description adds context for name, phone, and email by instructing to collect them, but it does not explain plan_code or session_type at all. It does mention that the price is server-set, which indirectly relates to plan_code, but it doesn't clarify that plan_code determines the price or the meaning of the enum values. Thus, it partially compensates for the low coverage but leaves two parameters unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action: “Hold a specific slot and return a single-use pay link.” This is specific enough to distinguish it from siblings like check_availability (which checks) and get_booking_status (which retrieves status). It also explicitly names the resource (slot) and the output (pay link), leaving no ambiguity about the tool's core purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage instructions: “Call check_availability first and use one of its times” and “Collect the customer's name, phone, and email first.” This tells the agent exactly when to use this tool (after availability check) and what prerequisites must be met. It also implies that the tool is not for payment handling, which helps avoid misuse.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_booking_statusGet booking statusAInspect
Retrieve a booking's status and Meet link to show the customer in chat. The booking already confirms automatically on payment (the customer is emailed the invite + link) — this tool does NOT lock in or create anything, it only reads the current state. Call it when the customer asks. REQUIRES the poll_key from create_booking_draft; a ref on its own will not release the Meet link.
| Name | Required | Description | Default |
|---|---|---|---|
| ref | Yes | the booking ref, e.g. EM-XXXX | |
| poll_key | Yes | the poll_key returned by create_booking_draft; required to retrieve the Meet link |
TDQS
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, and it does so well: it states this tool 'only reads the current state,' cannot lock in or create anything, requires poll_key to release the Meet link, and notes that booking confirmation already happens automatically. This is unusually clear for a read-only tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a bit dense but every sentence earns its place: purpose, side-effect clarification, usage trigger, and parameter dependency. It is reasonably sized for the information it must convey, though 'Call it when the customer asks' is slightly vague.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-parameter read tool with no output schema, this is complete: it states what is returned (status and Meet link), when to call it, what it does not do, and the required upstream dependency. An agent has enough context to invoke it correctly without further clarification.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds meaningful value by explaining that a ref alone will not release the Meet link and that poll_key specifically comes from create_booking_draft and is required for the link, which is beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Retrieve a booking's status and Meet link.' It also draws an explicit contrast with create_booking_draft by stating it 'does NOT lock in or create anything,' which cleanly separates this read tool from its siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear trigger ('Call it when the customer asks') and clarifies the dependency on create_booking_draft's poll_key. It doesn't explicitly address check_availability or list_services, but the purpose and sibling names make those exclusions obvious.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_servicesList ElloMind servicesAInspect
List session types and prices for booking therapy with ElloMind. Call before creating a booking so you use a valid session_type and plan_code.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral transparency burden. It conveys that the tool is a read-only listing operation and hints at output fields (session_type, plan_code). It doesn't mention response shape, but for a zero-parameter list tool this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences. The first states exactly what the tool does; the second explains when and why it should be called. No filler or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity, zero parameters, and no output schema, the description provides everything needed to invoke it correctly and situate it in the booking workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema reflects that. The description adds downstream context about valid session_type and plan_code values, which is useful though not strictly parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('List') and resource ('session types and prices') for booking therapy with ElloMind. This makes it easy to distinguish from sibling tools like create_booking_draft and get_booking_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says to call before creating a booking so the agent uses valid session_type and plan_code. This provides clear contextual guidance, though it doesn't spell out alternatives or when-not-to-use cases.
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.
4 tool updates
- First observed
check_availability - First observed
create_booking_draft - First observed
get_booking_status - First observed
list_services
Related MCP Connectors
Search providers, check availability, book evaluations, and estimate insurance copays.
Find and book UK private physiotherapy, osteopathy and chiropractic clinics, with live availability.
Chilean online mental-health clinic (Spanish): articles, professionals, availability, tests.
Find local services, check live availability, and book real appointments with consent.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables users to manage medical appointments by searching for doctors, checking availability, and booking sessions through a natural language interface. It serves as a reference implementation for advanced MCP features like symptom-based specialist recommendations and multi-step scheduling workflows.6 npmMIT
- FlicenseAqualityDmaintenanceEnables AI agents to manage appointments on Medicover's Polish patient portal, including booking, rescheduling, and slot searching for patients and dependents.7-
- FlicenseNot gradedqualityCmaintenanceSimulates a third-party appointment booking agent, enabling your AI platform to check availability and book appointments via MCP interoperability.-
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to intelligently schedule meetings by checking Microsoft Outlook calendars, finding available time slots across multiple participants, and automatically booking meetings with Teams integration. Uses Microsoft Graph API with smart fallback logic for optimal scheduling.1-
Glama MCP Gateway
Add one secure layer between your agents and this server.