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 as a self-contained HTML page, saves it on this computer, and returns its file path. Unless out_dir is given, the page also opens in the person's default browser (they can turn that off in settings). The page 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. 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. Saves a self-contained HTML page on this computer that waits for Begin, and returns its path, why it was picked, and the stages. Unless out_dir is given, the page also opens in the person's default browser (they can turn that off in settings). 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. |
TDQS
Scored across 3 tools
Each tool has a clearly distinct purpose: listing available patterns, creating a session directly from a pattern, and creating a session through the guided matching flow. Although breathe and start_session both generate HTML sessions, their inputs and intents are unambiguous.
Two tools follow the verb_noun pattern (list_patterns, start_session), while 'breathe' is a bare verb. This is a minor deviation but still readable and predictable given the domain context.
With only three tools, the server is tightly scoped to its purpose: discover patterns, generate a session directly, and generate a session via matching. This is an appropriate size—no redundancy or bloat.
The tool surface covers the full lifecycle for generating VirWave breathing sessions: listing all available patterns, creating a session from a chosen pattern, and creating a matched session. No obvious missing operations are apparent for this self-contained utility.