TidalCycles MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GHCI_PATH | No | Path to the ghci executable (required for direct GHCi mode) | |
| TIDAL_FILE | No | Absolute path to the output .tidal file (used in both modes) | |
| TIDAL_USE_GHCI | No | Set to 'true' to enable direct GHCi mode (experimental) | |
| TIDAL_BOOT_PATH | No | Absolute path to BootTidal.hs file (required for direct GHCi mode) |
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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| tidal_evalB | Evaluate a TidalCycles pattern on a specific channel (d1-d9). This is the main way to make music with Tidal. |
| tidal_hushA | Stop all currently playing patterns immediately. Use this to clear everything. |
| tidal_silenceA | Stop a specific channel. More graceful than hush for single channels. |
| tidal_get_stateA | Get the current state of all channels - what patterns are playing and when they started. |
| tidal_soloA | Solo a specific channel, muting all others temporarily. |
| tidal_unsoloB | Restore all channels after soloing. |
| tidal_get_historyA | Get the history of patterns evaluated in this session. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 7 tools
Each tool has a distinct, non-overlapping purpose: evaluating patterns, retrieving history, checking state, stopping all, stopping a specific channel, soloing, and unsoloing. No two tools could be confused.
All tools follow a consistent pattern: the 'tidal_' prefix followed by a verb (eval, hush, silence, solo, unsolo) or verb_noun (get_history, get_state). The naming is uniform and predictable.
With 7 tools, the count is well-scoped for the domain. Each tool serves a clear purpose in the workflow of evaluating and controlling TidalCycles patterns, without being excessive or lacking.
The tool set covers the main operations: evaluating patterns, stopping playback, managing solo, and inspecting state/history. A minor gap is the lack of a tool to list available channels, but this is not critical and the set is otherwise complete.