Skip to main content
Glama
MCP-Mirror

SuperCollider MCP Server

by MCP-Mirror

SuperCollider MCP Server

The SuperCollider MCP Server is a Model Context Protocol (MCP) server for the SuperCollider programming language that allows to execute synth using supercolliderjs.

Prerequisites

  1. Install SuperCollider on your machine.

  2. Node.js and npm should be installed on your machine. You can download it from Node.js official website.

Compatibility

This project has been tested and confirmed to work only on macOS with Apple Silicon (M1) processors. Compatibility with other operating systems or processor architectures has not been verified.

Installation

Usage with Claude Desktop

Add this to your claude_desktop_config.json:

{
  "mcpServers": {
    "mcp-supercollider": {
      "command": [
        "npx", 
        "-y",
        "@makotyo/mcp-supercollider"]
    }
  }
}

Usage with VS Code

Add the following JSON block to your User Settings (JSON) file in VS Code. You can do this by pressing Ctrl + Shift + P and typing Preferences: Open User Settings (JSON).

Optionally, you can add it to a file called .vscode/mcp.json in your workspace. This will allow you to share the configuration with others.

Note that the mcp key is not needed in the .vscode/mcp.json file.

{
  "mcp": {
    "servers": {
      "mcp-supercollider": {
        "command": "npx",
        "args": [
          "-y",
          "@makotyo/mcp-supercollider"
        ]
      }
    }
  }
}

Available Tools

2 tools
multi-synth-executeC

複数のSynthDefを同時に実行します。

ParametersJSON Schema
NameRequiredDescriptionDefault
synthsYes再生するシンセのリスト
durationNo再生時間(ミリ秒)。デフォルトは10000(10秒)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool executes multiple SynthDefs simultaneously but does not cover critical aspects like whether this is a read-only or destructive operation, error handling, concurrency limits, or what happens after execution (e.g., resource cleanup). For a tool with no annotations, this leaves significant gaps in understanding its behavior.

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?

The description is a single, efficient sentence in Japanese that directly states the tool's purpose without unnecessary words. It is front-loaded with the core action and resource, making it easy to understand quickly. There is no wasted text, and it fits well within a concise format.

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

Completeness2/5

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

Given the tool involves executing multiple audio synthesis definitions (a potentially complex operation), no annotations, and no output schema, the description is insufficient. It lacks details on behavioral traits (e.g., side effects, error handling), output expectations, or performance implications. For a tool with these contextual factors, more completeness is needed to guide effective use.

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?

Schema description coverage is 100%, with clear descriptions for both parameters ('synths' as a list of synths to play and 'duration' as playback time in milliseconds with a default). The description does not add meaning beyond the schema, such as explaining interactions between parameters or usage examples. With high schema coverage, the baseline score of 3 is appropriate as the schema adequately documents parameters without extra value from the description.

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 clearly states the action ('複数のSynthDefを同時に実行します' translates to 'Execute multiple SynthDefs simultaneously') and identifies the resource (SynthDefs). It distinguishes from the sibling tool 'synth-execute' by specifying 'multiple' execution, though not explicitly contrasting with the sibling's likely single execution. The purpose is specific but could be more explicit about the sibling differentiation.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, such as the sibling 'synth-execute'. It does not mention prerequisites, exclusions, or contextual factors like performance considerations for multiple executions. Usage is implied only by the tool name and description, lacking explicit when/when-not instructions.

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

synth-executeC

SynthDefのコードを生成し、そのコードを実行して音を出します。 コードは{}でくくるようにしてください。

ParametersJSON Schema
NameRequiredDescriptionDefault
synthYes再生するシンセの情報
durationNo再生時間(ミリ秒)。デフォルトは5000(5秒)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It mentions code generation and sound execution but lacks critical behavioral details: whether this is a read-only or mutating operation, what permissions might be needed, whether it has side effects, what happens on failure, or any rate limits. The description states what the tool does but not how it behaves operationally.

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?

The description is appropriately concise with two sentences that each serve a purpose: the first states the core functionality, the second provides a formatting requirement. It's front-loaded with the main purpose. While efficient, it could potentially benefit from slightly more context given the complexity of audio synthesis execution.

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

Completeness2/5

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

Given no annotations, no output schema, and a tool that executes code to produce sound (potentially complex with side effects), the description is insufficiently complete. It doesn't explain what happens after execution, error conditions, return values, or system implications. For a code execution tool in an audio context, more behavioral context is needed for safe and effective use.

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?

Schema description coverage is 100%, providing good documentation for both parameters (synth object with name/code, and duration with default). The description adds minimal parameter semantics beyond the schema - it mentions code wrapping in {} which relates to the 'code' parameter but doesn't elaborate on format or constraints. This meets the baseline for high schema coverage where the schema does most of the work.

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 clearly states the tool's purpose: 'SynthDefのコードを生成し、そのコードを実行して音を出します' (Generate SynthDef code and execute that code to produce sound). It specifies both the generation and execution actions with the resource being sound/synth. However, it doesn't explicitly differentiate from its sibling 'multi-synth-execute' - while 'execute' vs 'multi-execute' suggests single vs multiple, this distinction isn't stated in the description itself.

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

Usage Guidelines2/5

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

The description provides minimal usage guidance: 'コードは{}でくくるようにしてください' (Wrap code in {}). This gives a formatting requirement but no context about when to use this tool versus alternatives like 'multi-synth-execute'. There's no mention of prerequisites, appropriate scenarios, or explicit exclusions. The guidance is purely syntactic rather than contextual.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updatesv0.2.0
    • First observedmulti-synth-execute
    • First observedsynth-execute

TDQS

B3.1/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have clearly distinct purposes: multi-synth-execute handles multiple SynthDefs simultaneously, while synth-execute focuses on generating and executing code for a single SynthDef. There is no overlap or ambiguity between their functions.

Naming Consistency5/5

Both tools follow a consistent verb_noun pattern with hyphen separation (multi-synth-execute and synth-execute), using the same root terms and structure. This makes them predictable and easy to understand.

Tool Count2/5

With only two tools, the server feels under-scoped for a domain like SuperCollider, which typically involves complex audio synthesis and manipulation. This limited set may not cover essential operations like parameter adjustment, effect chaining, or file management.

Completeness2/5

The tool surface is severely incomplete for audio synthesis workflows. It lacks basic operations such as stopping synths, modifying parameters, loading/saving definitions, or managing audio output, which are critical for practical use in this domain.

Related MCP Connectors