Skip to main content
Glama

sc_play

Run SuperCollider code in realtime on the default audio output: boots the server, plays patterns or synths for a set duration, then stops. Use sc_stop to end early.

Instructions

Play SuperCollider code in realtime on the default audio output. Boots the server, runs the code (the server is s, e.g. Pbind(...).play or { SinOsc.ar(440) ! 2 * 0.1 }.play), and stops everything after duration seconds. Returns once playback has started. Use sc_stop to cut it short. Only one playback runs at a time; a new call replaces the old one.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
codeYesSuperCollider code to run after the server has booted.
durationYesSeconds to keep playing before shutting down.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses the server-boot side effect, that it returns once playback has started rather than when audio finishes (async semantics), that everything stops after duration, and that a new call replaces any running playback. It omits failure/error behavior and any resource or output constraints.

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

Conciseness4/5

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

Front-loaded with the action, then execution details, then return behavior and alternatives. Every sentence earns its place; the inline code examples are slightly bulky but functionally useful rather than filler.

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?

No output schema exists, and the description compensates by stating the return timing ('Returns once playback has started'). No annotations exist, so it also supplies the behavioral context an agent needs. Only minor gaps remain, such as error handling when the code fails to compile.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning: it explains that 'the server is `s`' and shows concrete code shapes (Pbind(...).play, { SinOsc.ar(440) ! 2 * 0.1 }.play) that clarify what the `code` string should contain, and reiterates duration as the auto-stop window.

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

Purpose5/5

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

States a specific verb (play) and resource (SuperCollider code) plus the execution context (realtime, default audio output). The phrase 'realtime on the default audio output' implicitly separates it from sc_render's offline rendering, and it names sc_stop explicitly.

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

Usage Guidelines4/5

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

Names the alternative for the opposite action ('Use sc_stop to cut it short') and states the concurrency rule ('Only one playback runs at a time; a new call replaces the old one'), which tells the agent what calling it again does. It does not explicitly contrast with sc_render or sc_check, so 4 rather than 5.

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

Deploy Server

Other Tools