Skip to main content
Glama
Benedict

TidalCycles MCP Server

by Benedict

tidal_get_state

Retrieve the current state of all TidalCycles channels, including playing patterns and their start times, to monitor live coding sessions. Set quiet to skip logging when polling frequently.

Instructions

Get the current state of all channels - what patterns are playing and when they started.

Input Schema

NameRequiredDescriptionDefault
quietNoDon't log this call. For clients that poll the state often.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.1.0
    • addedInput schema / properties / quiet
      Added value: +{
      +  "description": "Don't log this call. For clients that poll the state often.",
      +  "type": "boolean"
      +}
  2. First observedv1.0.0

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses the shape of the return (per-channel patterns plus start times), which is genuinely useful, but says nothing about side effects, whether the call mutates anything, or the logging behavior implied by the schema's 'quiet' flag.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence, front-loaded with the verb and scope, with the return-content detail appended where it is useful. Nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only state getter with no output schema, the description adequately conveys what comes back, so an agent knows what to expect. It falls short only in not clarifying the boundary with tidal_status or tidal_get_history.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is a single optional parameter and schema coverage is 100%, so the schema already fully documents 'quiet'. The description adds no meaning beyond it, which is the baseline-3 case for fully-covered schemas.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb+resource ('Get the current state of all channels') and even characterizes the payload ('what patterns are playing and when they started'). It does not, however, differentiate itself from close siblings like tidal_status, tidal_get_history, or strudel_get_state, which is what a 5 would require.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by 'current state' — an agent can infer this is the polling/read tool — but there is no explicit when-to-use guidance, no statement of when not to use it, and no routing to alternatives such as tidal_get_history for past state.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.