tidal-cycles-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 tidal output file | |
| TIDAL_USE_GHCI | No | Set to 'true' to enable direct GHCi mode (experimental) | |
| TIDAL_BOOT_PATH | No | Absolute path to BootTidal.hs (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. |
| tidal_get_samplesA | Get list of available sample names from Dirt-Samples folder. |
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 8 tools
Each tool targets a clearly distinct action: evaluating patterns, stopping all/specific channels, querying state, soloing/unsoloing, and retrieving history or sample lists. The only potential overlap is hush vs. silence, but their descriptions make the all-vs-single-channel distinction unambiguous.
All tools share the tidal_ prefix and use a consistent snake_case imperative style. Queries are uniformly get_ prefixed, and action verbs (eval, hush, silence, solo, unsolo) are simple and predictable.
Eight tools is well-scoped for a TidalCycles live-coding server. Each tool serves a distinct part of the workflow without redundancy or unnecessary bloat.
The set covers the core live-coding lifecycle:play, stop, silence, solo, state inspection, history, and sample discovery. A minor gap is the lack of tempo/global control tools, but these may be outside the intended server scope.