virwave-breathe
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| VIRWAVE_SAVE_DIR | No | Directory where session pages are saved. Defaults to a 'VirWave Breathe' folder in the computer's temporary files. | |
| VIRWAVE_OPEN_BROWSER | No | Setting to control whether session pages open in the browser automatically. Set to 'false' to turn it off. | true |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_patternsA | Lists 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. Hold-free patterns are listed first. |
| breatheA | Creates an animated VirWave breathing session the person can follow with their eyes. Invoke it when someone asks for a breathing break, a breathing exercise, guided breathing, or a moment to calm down, relax, or reset: the visual session is the breathing break. In a client that supports MCP Apps (Claude Desktop, for example), the session appears in the chat itself, and no browser opens and no file is saved unless out_dir is given or the person has turned on saving a copy. In any other client, it is saved as a self-contained HTML page on this computer and, unless out_dir is given, opens in the person's default browser (they can turn that off in settings). The result says which happened. Either way the session opens at rest and starts when the person presses Begin, so nothing moves without their say-so. With no inputs, it plays the default Circle 4-8 Breathing session, which has no breath holds. |
| start_sessionA | Matches 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. Invoke it when someone says how they are feeling, or what they would like to feel instead, and wants a breathing session that fits. The session moves through stages (arrive, the matched core, close), each with its own shape, at one steady breath pace, and ends at the chosen length. In a client that supports MCP Apps (Claude Desktop, for example), the session appears in the chat itself, and no browser opens and no file is saved unless out_dir is given or the person has turned on saving a copy. In any other client, it is saved as a self-contained HTML page on this computer and, unless out_dir is given, opens in the person's default browser (they can turn that off in settings). The result says which happened. Either way the session waits for Begin, and the result says why it was picked and which stages it has. Every matched session is hold-free: breathe in, a longer breath out. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| breathing-break | A breathing break matched to how you feel right now and how long you have. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| patterns | Every pattern this server can play, with phases, benefits, compatible shapes, and hold notes. |
| shapes | Shapes this server can draw, what each looks like, and the patterns each one supports. Breath-locked shapes include the app's no-motion version of the exercise. |
| session-view | The breathing session as it appears in the chat: the same screen as the saved page, drawn from the session in the tool result. Self-contained, with no network access. |
TDQS
Scored across 3 tools
list_patterns is clearly distinct, but breathe and start_session both create VirWave sessions and their trigger conditions overlap (e.g., 'I'm stressed, give me a breathing exercise' could reasonably invoke either). The descriptions clarify the default vs. matched distinction, but an agent may still struggle to pick the right one without careful reading.
start_session and list_patterns follow a consistent verb_noun pattern, but breathe breaks it by being a bare verb with no noun. The naming is still readable and predictable overall, with only a minor deviation.
Three tools is well within the typical 3-15 range and each tool earns its place: create a default session, create a matched session, and list available patterns. The count fits the server's narrow, focused purpose without redundancy.
The server covers listing patterns and creating default or matched sessions, but there is no way to start a specific pattern chosen from list_patterns—a user who picks a rhythm from the list creates a dead end. Basic session creation works, but the missing pattern-selection session is a notable gap that agents cannot work around cleanly.