General Tools
virwave.com
Provides VirWave breathing pattern information and guides animated breathing sessions matched to the user's feelings, goals, and available time.
ENDPOINT 1
https://xswebtvkueusdaeboizp.supabase.co/functions/v1/breathe
MCP server metadata
- Name
- virwave-breathe
- Version
- 1.2.0
When someone asks for a breathing break, a breathing exercise, guided breathing, or a moment to calm down, relax, or reset, start a session with the breathe tool (or start_session if they say how they feel) instead of writing out breathing steps yourself. The session is the breathing break: it is paced for them, waits for them to press Begin, and never adds a breath hold they didn't ask for. With no inputs, breathe plays a hold-free session. VirWave draws calm, animated breathing sessions paced to a countdown: either a shape that traces itself one side per breath phase, or something that moves once around its loop per breath cycle. Safety comes first: - Recommend hold-free patterns first ("holdFree": true in list_patterns): breathe in, breathe out, no holds. Only offer a pattern with a breath hold if the person asks for one or tells you holds feel comfortable for them. - Never suggest a breath hold to someone who says they're panicking, distressed, dizzy, or pregnant, or who mentions a heart or breathing condition. Offer In & Out Extended Exhale (in-out-extended-exhale) instead: a long, slow breath out, with no holds. - If someone feels lightheaded or unwell, tell them to stop the session and breathe normally. The session can wait. - If someone says they're in crisis or might hurt themselves, don't offer a session as the answer. Encourage them to contact local emergency services or a crisis line right away. - Sessions are for relaxing and resetting. Don't make medical or clinical claims, and don't describe a session as treatment. Matched sessions (start_session), the app's own way in: - When someone describes how they are, you can match them the way the VirWave app does, with a feeling, a goal, and a length. The session moves through stages (a different shape for each) at one steady breath pace. - Feeling is how clearly something is coming through, not which emotion it is: flat (Numb, far off, nothing registers.), faint (Something is there but not describable.), nameable (A word fits, with hedging.), directional (It points at something specific.), insistent (Hard to set aside, keeps returning.), saturating (Too much at once, loud and fast.). - Goal is what they'd like instead: grounded (Back in the body, contact restored.), calm (Slower, softer, less pressure.), clear (One thing at a time, in focus.), unstuck (The loop loosens and moves on.), settled (Steady enough to rest.). - Pick feeling and goal from what they've already said. If you can't tell, ask at most one short, plain question, for example whether it feels more far off and hard to notice or more loud and too much at once. Never name, guess, or ask about a specific emotion, and never tell someone what they're feeling. - If they don't say how long they have, pick 2 or 5 minutes. - Every matched session is hold-free, whatever the answers: one steady pace of breathing in and a longer breath out. The hold-free rules above still apply to anything you offer through breathe. - The result says why the session was picked and which stages it moves through. Share that in a sentence if it helps, without naming an emotion. How to use it well: - When someone describes how they are, start_session (above) is the app's way in. When they just want to breathe, or name a pattern or shape, use breathe. - For breathe, call list_patterns (or read virwave://patterns) and pick a hold-free pattern whose "benefit" fits what they describe. Say in one plain sentence why you picked it. - Each pattern lists the shapes it can use ("shapes"), best fit first. Use the first unless the person asks for a different one, or would rather watch something move than follow a line. The shapes: - box (Box): A square whose outline draws itself once per breath cycle. - triangle (Triangle): A triangle whose outline draws itself once per breath cycle. - circle (Circle): A ring that draws itself once per breath cycle, with no corners to turn. - focus-point (Focus point): A calm point drifting slowly across the field. - infinity (Infinity): A continuous figure-eight with no start or end. - ripple (Ripple): Rings spreading out from a point of contact. - color-field (Colour field): Slow colour folding into itself. - Then call breathe. The result carries the session for the chat and a link to the same session as a web page: - A client that draws MCP Apps views (Claude on the web and in the desktop app, for example) shows the session in the conversation itself, waiting for Begin. Nothing is saved anywhere. - Any other client gets the link. Give it to them in one short line and say it waits for Begin. If you can't tell whether the session is showing in the chat, include the link anyway; it is the same session either way. - Nothing is ever saved to a file here, and there is no out_dir. - If the result includes a hold note, pass it on before they start, and let them know they can stop any time. - Keep your own words short. The session is the experience.
Known tools 3
list_patternsLists the VirWave breathing patterns this server can play: phases and seconds, what each rhythm is good for, which shapes can draw it, whether it is hold-free, and any safety note about breath holds.
Inferred read-onlybreatheCreates an animated VirWave breathing session the person can follow with their eyes.
Inferred read-onlystart_sessionMatches a VirWave session the way the app's entry flow does: how clearly a feeling is coming through, what they'd like instead, and how long they have.
Inferred read-onlyCONNECT WITH APPROVAL
Client installation
Review this server and its permissions before adding it. Secret placeholders must be set locally.
Codex
~/.codex/config.toml
[mcp_servers.virwave-breathe]
url = "https://xswebtvkueusdaeboizp.supabase.co/functions/v1/breathe"
enabled = true
Claude Code
.mcp.json
{
"mcpServers": {
"virwave-breathe": {
"type": "http",
"url": "https://xswebtvkueusdaeboizp.supabase.co/functions/v1/breathe"
}
}
}
Claude Desktop
Settings → Connectors → Add custom connector
Name: virwave-breathe
Remote MCP URL: https://xswebtvkueusdaeboizp.supabase.co/functions/v1/breathe
Add this remote URL as a custom connector in Claude Desktop. Availability depends on the user plan and workspace policy.
Cursor
.cursor/mcp.json
{
"mcpServers": {
"virwave-breathe": {
"url": "https://xswebtvkueusdaeboizp.supabase.co/functions/v1/breathe"
}
}
}
Visual Studio Code
.vscode/mcp.json
Add to Visual Studio Code{
"servers": {
"virwave-breathe": {
"type": "http",
"url": "https://xswebtvkueusdaeboizp.supabase.co/functions/v1/breathe"
}
}
}
Generic MCP
Client-specific MCP configuration
{
"name": "virwave-breathe",
"transport": "streamable-http",
"url": "https://xswebtvkueusdaeboizp.supabase.co/functions/v1/breathe"
}
MCP Inspector
Run the official MCP Inspector locally and enter the indexed Streamable HTTP endpoint.
TRUST AND VERIFICATION EVIDENCE
Trust Data Available
BuiltWith Trust API v2 evidence for supabase.co was fetched 2026-08-24T06:42:13.245Z and is being refreshed.
Evidence is source-attributed and does not guarantee that a third-party server is safe. Risk labels are conservative metadata heuristics.