Mosaya
Server Details
Guided practices inside your conversation: meditation, breathwork, mindfulness and more.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 2 tools
The core split is clear: find_practice surfaces a card of suggestions, start_practice launches a full-screen session. However, both descriptions claim the same trigger ('ask for a practice by name' / 'when they name a practice'), so an agent facing a user who names a practice has no rule to choose between showing a card and immediately opening it.
Both tools follow the same verb_noun snake_case pattern (find_practice, start_practice) with parallel, readable verbs. No deviation or mixed convention.
Two tools is defensible for a deliberately stateless meditation flow, but the surface is thin — there is no browse/list tool and no session control, so the set feels like the minimum viable pair rather than a well-scoped toolkit.
The discovery-to-execution path is covered end to end and the 'nothing is stored' design is coherent. But find_practice caps at three suggestions, so there is no way to browse the full practice catalog, and once a sit opens there is no stop/pause or practice-detail operation, leaving real gaps.
Available Tools
2 toolsfind_practiceFind a practiceARead-onlyIdempotentInspect
Offer the person up to three Mosaya practices they can do right here (meditation, breathwork, mindfulness, loving-kindness, gratitude, a focus timer and more). Use when they want to meditate, calm down, settle a racing mind, sleep, focus, or ask for a practice by name. Shows a card; nothing is stored. If their words sound like crisis, the card shows care and crisis lines instead of practices.
| Name | Required | Description | Default |
|---|---|---|---|
| need | Yes | What the person is looking for, in their own words, short: a feeling, a need, or a practice's name (for example "can't switch off", "loving-kindness", "focus for an hour"). | |
| minutes | No | A length the person asked for, if they named one. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), and the description still adds real behavior: it returns a card, stores nothing, caps results at three, and swaps in care and crisis lines when the person's words signal crisis. That crisis-handling rule is a genuinely important behavior an agent could not infer from structured fields.
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, front-loaded with what the tool returns, then when to use it, then the safety override — each sentence carries distinct information. The parenthetical practice list is slightly heavy but earns its place by defining matchable scope.
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?
With no output schema, the description still tells the agent what comes back (a card, up to three options, or a care card) and that nothing is persisted, which is everything needed to call and present results correctly. Complexity is low and the definition matches it.
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 100%, so the schema already defines both need and minutes fully; the description adds no syntax or interpretation beyond restating that the practice may be requested by name. Baseline 3 applies since the description does no extra work here.
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?
"Offer the person up to three Mosaya practices they can do right here" gives a concrete verb (offer/surface) and resource (practices), with the catalogue scoped by the parenthetical list. It is clearly a discovery/selection tool rather than a launcher, but it never names the sibling start_practice, so the boundary is inferred rather than stated.
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?
"Use when they want to meditate, calm down, settle a racing mind, sleep, focus, or ask for a practice by name" gives a rich set of triggering intents, including the name-lookup case. It stops short of an explicit exclusion or pointing to start_practice once a practice is chosen.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_practiceStart a practiceARead-onlyIdempotentInspect
Open one Mosaya practice, ready to begin: the person picks a length, taps Begin, and the sit runs full screen with a bell at the start and the end, then a short celebration. Use after find_practice, or when they name a practice. Nothing is stored.
| Name | Required | Description | Default |
|---|---|---|---|
| minutes | No | A length the person asked for, if any. | |
| practice | Yes | The practice to open, by its id from find_practice. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world, and the description reinforces this with "Nothing is stored," which preempts the mistaken reading that opening a practice creates a session record. It also describes the runtime experience the caller is triggering, though it says nothing about failure modes or invalid practice ids.
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?
Front-loaded with the core action, then the routing rule, then the no-persistence guarantee. The bell-and-celebration detail is mildly decorative but does convey what the user will see, so it mostly 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 two-parameter tool with full schema coverage, annotations, and no output schema, the description covers what it does, when to invoke it, and the non-persistence guarantee. Nothing an agent needs to call 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?
Schema coverage is 100%, so both parameters are already documented, including the enum and the 1–180 minute bounds. The phrase "the person picks a length" adds only light framing over the schema's own "A length the person asked for, if any," and the description never mentions the practice id sourcing beyond the find_practice hint.
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?
States a specific verb and resource — "Open one Mosaya practice, ready to begin" — and immediately scopes it with the runtime behavior (full screen, bell, celebration). It explicitly names the sibling find_practice, so an agent can tell the two apart without inspecting either schema.
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?
Gives a clear selection rule: use after find_practice, or when the person names a practice directly. No explicit when-not or exclusion cases are offered, but the ordering against the only sibling is unambiguous.
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.
2 tool updates
- First observed
find_practice - First observed
start_practice
Related MCP Connectors
60-second brain resets for people who build with AI: breathing, immersive video and a mindset coach.
Calm, animated breathing sessions paced to your breath. Runs locally and collects nothing.
Plan work sessions and run pomodoro timers right in the conversation.
Your own WhatsApp in Claude and ChatGPT: read chats, draft replies, send messages you approve.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to interact with WhatsApp by sending messages, triaging urgent conversations, scheduling messages, and managing automated replies with safety controls and human approval.11 npmMIT
- AlicenseNot gradedqualityBmaintenanceGives AI agents safe access to a single WhatsApp account so they can read and search chats, receive new messages in real time, reply with quotes and typing indicators, send and download media, and react with emojis. Phone numbers stay on the server — agents only see random IDs and names — while sessions, messages and media are encrypted at rest and sending is rate-limited to protect the account.44 npm3MIT
- AlicenseNot gradedqualityDmaintenanceHuman-in-the-loop approvals and notifications for AI agents via WhatsApp. Enables Cursor, Claude Code, and autonomous AI agents to reach users away from their computers.53 npmISC
- AlicenseAqualityDmaintenanceEnables AI models to interact with messages from various messaging platforms (Mobile, Mail, WhatsApp, LinkedIn, Slack, Twitter, Telegram, Instagram, Messenger) through a standardized interface.316MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.