Yoya Booking
Server Details
Book meetings on a host's real availability. No auth - mirrors their public Yoya page.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Available Tools
4 toolsbook_meetingBook a meetingAInspect
Book a meeting on a host's page. Use a slot id from list_available_times (a time not in that list will be rejected). email is required — the confirmation and calendar invite go there. When the page offers more than one meeting option, pass meetingType. If the page has requiredFields, answer them in fieldAnswers keyed by the exact field label. On success returns the booking id and a link the guest can use to cancel or reschedule.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| slug | Yes | ||
| Yes | |||
| slotId | Yes | ||
| purpose | No | One line on why the guest wants to meet. | |
| timezone | No | Guest IANA timezone; defaults to the host's. | |
| meetingType | No | Required when the page offers more than one option. | |
| fieldAnswers | No | Answers to the page's requiredFields, keyed by label. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden, and it does well: it discloses that an email invite is sent, invalid slots are rejected, and success returns a booking id plus a cancellation/rescheduling link. It could add more failure-mode detail, but the core behavioral contract is transparent.
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 compact and front-loaded, starting with the core action and the most critical prerequisite. Each sentence adds either a precondition, an optional-parameter rule, or the success return contract, with no 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?
Despite 8 parameters, a nested object, no output schema, and no annotations, the description gives enough to call the tool correctly: required inputs, conditions for optional fields, keyed fieldAnswers, success return shape. The remaining details either live in the schema or are reasonably inferable from the tool's purpose.
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 50%, so the description meaningfully compensates by explaining email's purpose, slotId's provenance and validation, meetingType's conditional requirement, and fieldAnswers' keying by exact label. slug and name remain slightly underspecified, but they are self-evident from context.
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: 'Book a meeting on a host's page.' It clearly distinguishes booking from the sibling get/list tools by describing a creation action with confirmation/cancellation outcomes, leaving no ambiguity about what the tool does.
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 explicitly instructs the agent to use a slot id from list_available_times and warns that unavailable times are rejected. It also specifies when to pass meetingType and fieldAnswers. It does not explicitly mention when not to use book_meeting or mention get_booking/get_booking_page as alternatives, but the prerequisites for booking are clearly established.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_bookingGet a bookingAInspect
Look up a booking by its manage token (the code in a yoya.ai/b/ link) to see its status and time.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavior disclosure; 'Look up' conveys a read-only operation and the manage-token context hints at authorization. It stops short of stating side-effect-free behavior, error/not-found cases, or any rate limits, so it provides moderate transparency.
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?
A single 24-word sentence, front-loaded with the action and resource, with the token-source clarification parenthetically. Every clause earns its place; no redundant wording.
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 one-parameter lookup with no output schema, the description covers the essential invocation details—what identifies the booking and what fields the caller can expect. It could be more complete with an explicit note about when a manage token is available or when to use get_booking_page instead, but overall it is not missing critical inputs.
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 0%, and the description compensates by explaining the token's real-world provenance: the code in a yoya.ai/b/<token> link. For a single-parameter tool this fully clarifies what to pass and where to find it, beyond the bare minLength constraint.
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 ('Look up'), names the resource ('a booking'), and identifies the exact input ('manage token'). It also states the purpose ('see its status and time'), which clearly separates it from the booking/availability/listing 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?
The description implies a use case—use when you have a manage-token link and need booking status/time—but it never explicitly says when to prefer this tool over get_booking_page, book_meeting, or list_available_times, nor provides exclusions. This is implied usage, not clear routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_booking_pageGet a Yoya booking pageAInspect
Look up a public Yoya booking page. Pass its slug (the part after yoya.ai/) or the whole link — either works. Returns the host name, meeting title/description, meeting length, the meeting options offered (google_meet / zoom / in_person), and any fields the guest must provide to book. Returns null if no active page matches.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the null-on-no-active-page behavior, the 'public' and 'active' preconditions, and lists the returned fields. It doesn't state read-only status, but 'look up' reasonably implies it.
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?
Three sentences, no filler. The action comes first, followed by input guidance, then the output summary. Every sentence earns its place.
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 one-parameter tool with no output schema and no annotations, the description fully covers how to call it, what to pass, what it returns, and the null edge case. Nothing an agent needs to invoke it correctly is missing.
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 only defines 'slug' as a string with minLength 1. The description enriches this by defining a slug as 'the part after yoya.ai/' and stating that the whole link is also accepted — meaning the schema alone would not convey how to invoke the tool correctly.
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 identifies the action ('look up') and the resource ('public Yoya booking page'), and enumerates the returned data. It does not explicitly differentiate from the sibling 'get_booking', but the consistent use of 'page' makes the object distinct enough.
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 provides practical input guidance ('Pass its slug... or the whole link — either works') and implies the tool is for retrieving public booking-page details. However, it never addresses when to prefer this over siblings like get_booking or book_meeting, and gives no exclusion conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_available_timesList available timesAInspect
Return the open time slots for a booking page, identified by its slug or its full link. Each slot has an opaque id and a human-readable time label in the host's timezone. Pass a slot id to book_meeting — never invent a time; only these ids are bookable.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden. It reveals that slot ids are opaque, time labels are human-readable and in the host's timezone, and only returned ids are bookable. This goes beyond basic list semantics, though it omits minor details like empty-result or error behavior.
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?
Three sentences with zero filler: the core action is front-loaded, followed by the return-value shape and a critical routing note. Every sentence earns its place.
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 one-parameter tool with no output schema and no annotations, this description covers the essential context: return value shape, timezone, and how the output is used by book_meeting. Missing edge cases (e.g., what happens when no slots exist) are non-critical for correct invocation.
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 description coverage is 0%, so the description must compensate. It partially does by saying the page is identified by 'its slug or its full link', which adds meaning to the lone slug parameter. However, it doesn't specify the expected format of either, leaving ambiguity about whether the slug field accepts a full URL.
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 a specific verb and resource: 'Return the open time slots for a booking page'. It clearly distinguishes itself from siblings by explicitly linking the output to book_meeting ('Pass a slot id to book_meeting'), which prevents confusion with get_booking and get_booking_page.
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?
Usage is explicitly routed: the description tells the agent to pass a returned slot id to book_meeting and warns never to invent a time. This is an unambiguous when-to-use that also names the sibling consuming the output, leaving no inference needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user or an account that owns the GitHub organization, then choose Claim with GitHub.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Merged free/busy, find mutual time, propose bookings with human approval. Never event contents.
Find real businesses and book appointments. Books via Cal.com; imports 12 platforms.
AI-native scheduling and booking: check availability, book meetings, share links.
Book a table, appointment or class at a real local business. Instant confirmation, no API key.
Related MCP Servers
- AlicenseBqualityCmaintenanceMeet.bot is AI-native scheduling for people and agents. Check real calendar availability and book meetings on Google and Microsoft calendars through scheduling pages — and pay per meeting booked, not per user or seat. Actions: Book Meeting, Find Slots, Get Scheduling Page Info.8251MIT
- FlicenseAqualityDmaintenanceAI scheduling assistant for agents. Timezone conversion, public holidays for 100+ countries, business hours checker, multi-timezone meeting slot finder, and Google Calendar event creation. x402 native — pay $0.01 per call, no signup needed.61
- AlicenseAqualityAmaintenanceCalendar API purpose-built for AI agents. Exposes tools to manage agents, calendars, and events, find meeting times, run scheduling proposals, set availability rules, manage webhooks, and subscribe to iCal feeds.54172Apache 2.0
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Each tool targets a distinct action and resource: book a meeting, fetch a booking, inspect a booking page, and list available slots. There is no overlap, and the intended use of each tool is immediately clear.
All tool names follow a consistent verb_noun pattern in snake_case: book_meeting, get_booking, get_booking_page, list_available_times. The verbs and nouns clearly indicate the operation and target.
Four tools cover the complete guest-side booking flow without unnecessary redundancy. This is a well-scoped size for a focused booking server.
The set covers the essential guest journey: view page, check availability, book, and retrieve booking status. A direct cancel or reschedule tool is missing, though the booking result provides a manage link, making this a minor gap rather than a dead end.