Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
Make sound with SuperCollider: synths, drums, chords, melodies and soundscapes over OSC.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
SC_HOST, SC_PORT必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"supercollider": {
"command": "uvx",
"args": [
"supercollider-mcp"
],
"env": {
"SC_HOST": "your-value",
"SC_PORT": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add supercollider --env SC_HOST=your-value --env SC_PORT=your-value -- uvx supercollider-mcp動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"supercollider": {
"command": "uvx",
"args": [
"supercollider-mcp"
],
"env": {
"SC_HOST": "your-value",
"SC_PORT": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"supercollider": {
"type": "stdio",
"command": "uvx",
"args": [
"supercollider-mcp"
],
"env": {
"SC_HOST": "your-value",
"SC_PORT": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
SC_HOST envSC_PORT envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント Tok で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.2.1)がレジストリに届いたのは今日です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv)も必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, Claude Checkpoint MCP
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
MCP server that checkpoints Claude Code session context to survive crashes and token limits
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
A Model Context Protocol server that lets AI assistants make sound with SuperCollider. Ask for "a dark ambient drone with slow swells" or "a breakbeat at 170 under a Cm7-Fm7 arpeggio" and it plays on your SuperCollider server.
default synth or on sc3-plugins.Am7, Bbmaj9 and G/B, drum patterns are readable step strings the assistant can write itself, and generative tools take a seed so a result you like can be replayed exactly.stop_all silences everything this server started.scsynth, has to be running.1. Install and boot SuperCollider. Install it from the downloads page (or brew install --cask supercollider on macOS, sudo apt install supercollider on Debian/Ubuntu), then boot the server:
s.boot;)scsynth -u 571102. Add the MCP server to your assistant.
Claude Code:
claude mcp add supercollider -- uvx supercollider-mcp
Claude Desktop, Cursor, Cline, Roo Code and other clients that use an mcpServers config:
{
"mcpServers": { "supercollider": { "command": "uvx", "args": ["supercollider-mcp"] } } }
To run the latest code from GitHub instead of the PyPI release, use "args": ["--from", "git+https://github.com/Tok/SuperColliderMCP", "supercollider-mcp"].
3. Ask for something. Start with "play a test sound" to check the connection, then try the prompts below.
| Setting | Flag | Environment | Default |
|---|---|---|---|
| scsynth host | --host | SC_HOST | 127.0.0.1 |
| scsynth UDP port | --port | SC_PORT | 57110 |
| log level (stderr) | --log-level | WARNING |
For example "args": ["supercollider-mcp", "--port", "57111"].
| Tool | What it does |
|---|---|
server_status | Connection check: scsynth version, CPU, running playbacks, recent server errors |
stop_all | Silence everything this server started and cancel scheduled notes |
play_example_osc | A short test chime |
play_synth | One note on sine, saw, square, noise, fm, pad or pluck |
create_layered_synth | A thick unison: several detuned copies of one note spread in stereo |
create_lfo_modulation | A held note with a server-side LFO on pitch, volume, filter or pan |
create_granular_texture | A cloud of 5–100 tiny grains per second, scattered in pitch and space |
play_melody | A generated melody in one of 14 scales that resolves to the tonic |
create_sequence | A melody you spell out: "C4 E4_ G4_ . C5+" |
create_chord_progression | Chord symbols as pads, staccato stabs, 8th-note arpeggios or power chords |
create_drum_pattern | four_on_floor, breakbeat, shuffle, half_time, two_step, random, or your own |
create_generative_rhythm | Drums that keep mutating: minimal, techno, glitch, jazz, ambient |
create_ambient_soundscape | A drone with overlapping swells in a calm, dark, bright, mysterious or chaotic mood |
Most tools also take volume (0–1) and an optional effects object:
{"reverb": 0.6, "delay": 0.3, "delay_time": 0.25, "distortion": 0.0, "filter": 0.2}
All amounts are 0–1, and 0 means off. filter darkens the sound with a low-pass filter. delay_time is in seconds and defaults to three quarters of a beat.
Notes are names like C4 (middle C), F#3 or Bb2, or frequencies like "440" or "440hz".
Sequences separate notes with spaces or dashes. _ halves a note, + doubles it, :1.5 sets its length in beats, and . is a rest.
Drum patterns use one character per 16th note: X accent, x hit, o ghost note, . rest. Lanes (kick, snare, hat, open_hat, perc) can have different lengths and loop independently:
{"custom": {"kick": "X..x..X...x.....", "snare": "....X.......X..o", "hat": "x.x.x.x.x.x.x.x."}, "tempo": 92, "swing": 0.2}
assistant ──MCP (stdio)──▶ supercollider-mcp ──OSC/UDP──▶ scsynth ──▶ speakers
On first use the server checks that scsynth answers, uploads its SynthDefs (/d_recv) and creates its own node group with a voice group, an effects group and a limiter. Node IDs sit far above the ranges sclang uses, so your own SuperCollider work is not affected. If scsynth restarts, the setup runs again on the next call.
Each tool call turns into a *phrase*: a time-ordered stream of synth events (supercollidermcp/compose.py, pure Python). A background task sends each event about half a second ahead as an OSC bundle with an NTP timetag, and scsynth starts it at exactly that time. Every synth frees itself when its envelope ends. When a call asks for effects, its voices go to a private bus that one mcp_fx synth reads.
uvx supercollider-mcp as shown above. Old configs that run mcp run path/to/server.py still work through a small compatibility server.py.default synth.create_drum_pattern takes bars (16 steps each) instead of beats. effects is an object instead of a JSON string. detune is now ±50 cents at 1.0 instead of up to an octave. The sc-osc command-line tool is gone.See CHANGELOG.md for everything else.
SC_PORT.server_status shows synths while something plays.sudo apt install pipewire-jack) and start SuperCollider through it: pw-jack scide, or pw-jack scsynth -u 57110 without the IDE. Otherwise scsynth tries to start its own jackd, which conflicts with PipeWire.git clone https://github.com/Tok/SuperColliderMCP.git
cd SuperColliderMCP uv sync uv run pytest # unit and protocol tests run anywhere uv run ruff check . && uv run ruff format --check .
Some tests need SuperCollider:
tests/test_synthdefs_nrt.py renders every SynthDef with scsynth -N (no audio device needed) and checks the audio. It runs automatically when scsynth is on PATH, or set SCSYNTH=/path/to/scsynth.tests/test_live_server.py runs every tool against a live server. Start a silent one with scsynth -u 57199 -i 0 -o 0, then run SC_TEST_PORT=57199 uv run pytest.The SynthDefs are written in SuperCollider itself, in supercollidermcp/synthdefs/synthdefs.scd. After editing that file, rebuild the compiled .scsyndef files with python scripts/build_synthdefs.py (needs sclang; it runs headless).
supercollidermcp/
├── server.py MCP tools: validation and wiring ├── compose.py musical logic: requests → timed events (pure, unit-tested) ├── theory.py notes, scales, chords ├── patterns.py drum patterns as step strings ├── engine.py server setup, buses, streaming playback, stop_all ├── osc.py async OSC client that also reads scsynth's replies └── synthdefs/ synthdefs.scd (source) + compiled .scsyndef files
Contributions are welcome. New sounds usually mean a SynthDef in synthdefs.scd plus a composer function in compose.py.
MIT. See LICENSE.