Token导航 LogoToken导航TokenDH.com
MCP pure data logo
音视频未说明官方级别未说明来源级核验

MCP pure data

MCP Server

一个基于AI的音乐合成工作站,能够通过Claude生成歌曲、Pure Data和VCV Rack补丁,映射MIDI控制器,并控制实时合成器。

工具数

10

提示词数

0

GitHub Stars

2

资源数

0
AI生成TypeScriptClaudeClaude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

j0KZ

提供方

j0KZ

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

合成实验室mcp

人工智能驱动的合成实验室 --创作歌曲,生成Pure Data和VCV Rack补丁,映射MIDI控制器,并通过Claude控制现场合成器。

![CI](https://github.com/j0KZ/synthlab-mcp-server/actions/workflows/ci.yml) ](https://www.npmjs.com/package/synthlab-mcp-server) ![TypeScript](https://www.typescriptlang.org/) ![MCP](https://modelcontextprotocol.io/) ![License: MIT](LICENSE)

______________________________________________________________________

这是什么?

MCP(模型上下文协议) 服务器将Claude变成一个完整的综合工作站。10个工具+1个提示,741个测试,除了MCP SDK+Zod之外,没有运行时依赖关系。

纯数据 --根据流派描述创作完整歌曲,解析 .pd 将文件转换为键入的AST,根据规格生成补丁,分析信号流,模板11个仪器,组装具有模块间布线的多模块机架,实时发送OSC/FUDI。

VCV机架 --生成 .vcv 模块+电缆规范中的补丁文件,以及从C++源代码中自动抓取的19个插件(约600个模块)的注册表。

midi控制器 --自动将硬件控制(Korg nanoKONTROL2、Arturia MicroFreak、Roland TR-8S)映射到机架参数,具有绝对、相对和触发模式。

*用鼓、贝斯和琶音创作一首黑暗的电子舞曲——使用K2控制器* → 完成 .pd 带时钟、音序器、合成器、混音器、混响和MIDI映射的机架
*用时钟、音序器、声合成器、混响器和混音器创建一个机架——将它们连接在一起* → 个人 .pd 文件+在纯数据中打开的组合机架
*“使用VCO创建VCV机架补丁→ VCF → VCA → 音频接口2“* → .vcv 在VCV Rack 2.x中加载的文件

______________________________________________________________________

建筑

+--------------------------------------------------------------------+
|                       Claude / AI Client                           |
+----------------------------+---------------------------------------+
                             | MCP (stdio)
+----------------------------v---------------------------------------+
|                      synthlab-mcp-server                             |
|                                                                    |
|  10 MCP Tools + 1 Prompt                                           |
|  +------------------+  +------------------+  +------------------+  |
|  |   parse_patch    |  |  generate_patch  |  |  analyze_patch   |  |
|  |  validate_patch  |  | create_template  |  |   create_rack    |  |
|  |  send_message    |  | list_vcv_modules |  |   generate_vcv   |  |
|  |  compose_patch   |  |                  |  |                  |  |
|  +--------+---------+  +--------+---------+  +--------+---------+  |
|           |                     |                      |           |
|  +--------v---------------------v----------------------v---------+ |
|  |                       Pd Core Engine                          | |
|  |  Parser (.pd→AST) | Serializer (AST→.pd) | Validator         | |
|  |  Object Registry (~100 Pd-vanilla objects)                    | |
|  +---------------------------------------------------------------+ |
|                                                                    |
|  +---------------------------------------------------------------+ |
|  |            Template Engine (11 templates)                     | |
|  |  synth | seq | drums | reverb | mixer | clock | bridge        | |
|  |  chaos | maths | turing-machine | granular                    | |
|  +---------------------------------------------------------------+ |
|                                                                    |
|  +---------------------------------------------------------------+ |
|  |     Rack Builder + Wiring + MIDI Controllers                  | |
|  |  throw~/catch~ (audio) | send/receive (control)               | |
|  |  K2 (abs+rel+trigger) | MicroFreak (output) | TR-8S (bidir)  | |
|  +---------------------------------------------------------------+ |
|                                                                    |
|  +---------------------------------------------------------------+ |
|  |     Song Composer (genre → wired rack)                        | |
|  |  9 genres | 7 moods | 8 roles | 10 scales | auto-wiring      | |
|  +---------------------------------------------------------------+ |
|                                                                    |
|  +---------------------------------------------------------------+ |
|  |            VCV Rack Generator                                 | |
|  |  19-plugin registry (~600 modules) from C++ source scraping   | |
|  |  Fuzzy port/param resolution | HP positioning | Cable wiring  | |
|  +---------------------------------------------------------------+ |
|                                                                    |
|  +---------------------------------------------------------------+ |
|  |            Network Layer (zero external deps)                 | |
|  |  OSC encoder (binary) | FUDI formatter (text)                 | |
|  |  UDP sender (dgram) | TCP sender (net)                        | |
|  +---------------------------------------------------------------+ |
+--------------------------------------------------------------------+
              |                                 |
    OSC (UDP) / FUDI (TCP)               .vcv file output
              |                                 |
      +-------v-------+               +--------v--------+
      |  Pure Data    |               |  VCV Rack 2.x   |
      |  (running)    |               |                  |
      +---------------+               +-----------------+

______________________________________________________________________

特性

解析器——来自的完整AST .pd 文件

将纯数据的基于文本的格式解析为类型化的抽象语法树,支持:

  • 对象、消息、数字框、符号原子、注释
  • 嵌套子面板(递归画布堆栈)
  • 所有连接类型(信号和控制)
  • 转义分号、多行语句
  • 往返保真度(解析->序列化->解析=相同结构)

补丁生成器——从JSON规范到有效 .pd

{
  "title": "Simple Sine",
  "nodes": [
    { "name": "osc~", "args": [440] },
    { "name": "*~", "args": [0.1] },
    { "name": "dac~" }
  ],
  "connections": [
    { "from": 0, "to": 1 },
    { "from": 1, "to": 2 },
    { "from": 1, "to": 2, "inlet": 1 }
  ]
}

产生a .pd 在Pure Data 0.54+中干净打开的文件。

对象注册表

包含约95个Pd香草对象的分类数据库,涵盖数学、MIDI、时间、音频、控制、数据、GUI和子匹配类别。每个条目都包括入口/出口计数(对以下对象提供可变计数支持 select, pack, trigger)、别名和信号类型分类。

补丁验证器——结构完整性检查

检测9类问题:断开连接、重复连接、未知对象、孤立对象、空子补丁、缺少DSP接收器。

模板引擎——11个参数化仪器

模块化两层系统: 模块 (振荡器、滤波器、VCA、包络、延迟、混响)组成 模板 通过 compose() 具有自动索引偏移功能。

模板Eurorack模拟关键参数
synth振荡器+滤波器+VCAwaveform, filter, envelope, frequency, cutoff, amplitude
sequencer步进序列器steps, bpm, notes, midiChannel, velocity
drum-machine模拟鼓(3层)voices (bd/sn/hh/cp), tune, decay, tone,按音量
reverb弹簧/板混响variant (施罗德/简单), roomSize, damping, wetDry
mixer混音器模块channels (1-16),每通道静音门
clock主时钟bpm, divisions (例如\[1,2,4,8\])
chaos混沌/随机CVoutputs (1-3), speed, r (逻辑图参数)
maths函数生成器channels (1-2), rise, fall, cycle, outputRange
turing-machine图灵机length, probability, range, offset
granular颗粒取样器grains, grainSize, pitch, position, freeze, wetDry
bridge网络接收机protocol (osc/fudi), port, routes

机架构建器——Eurorack式模块组件

生成个人 .pd 每个模块的文件数+一个组合 _rack.pd 所有模块并排放置。

模块间接线 通过Pd总线对象连接模块:

  • 音频 (信号速率): throw~ / catch~
  • 控制 (消息速率): send / receive
{
  "modules": [
    { "template": "clock", "params": { "bpm": 140 }, "id": "clock" },
    { "template": "sequencer", "params": { "steps": 8 }, "id": "seq" },
    { "template": "synth", "params": { "waveform": "saw" }, "id": "synth" },
    { "template": "reverb", "id": "reverb" },
    { "template": "mixer", "params": { "channels": 2 }, "id": "mixer" }
  ],
  "wiring": [
    { "from": "clock", "output": "beat_div1", "to": "seq", "input": "clock_in" },
    { "from": "seq", "output": "note", "to": "synth", "input": "note" },
    { "from": "synth", "output": "audio", "to": "reverb", "input": "audio_in" },
    { "from": "reverb", "output": "audio", "to": "mixer", "input": "ch1" }
  ]
}

布线系统处理连接重定向(无需删除节点)、自时钟模块的时钟同步、音频扇出和表名重复数据删除。

MIDI控制器系统——硬件集成

自动将硬件控制映射到机架参数。产生 _controller.pd (MIDI路由)和 _k2_config.json (LED反馈)。

三种设备配置文件:

设备控制方向功能
Korg nanoKONTROL234(推子、电位器、按钮)输入绝对、相对(编码器)、触发/切换
Arturia MicroFreak21个参数仅输出用于显示同步的CC输出
罗兰TR-8S51个参数双向发送+接收,LED反馈

自动映射器阶段:

  1. 自定义映射(用户指定)
  2. 振幅控制→ 推子
  3. 频率/滤波器控制→ pots
  4. 剩余控制→ 相对编码器
  5. 传输/切换控制→ 按钮
{
  "modules": [
    { "template": "synth", "params": { "waveform": "saw" }, "id": "synth" },
    { "template": "mixer", "id": "mixer" }
  ],
  "controller": {
    "device": "k2",
    "mappings": [
      { "control": "fader_0", "module": "synth", "parameter": "amplitude" }
    ]
  }
}

歌曲作曲家——流派驱动的机架生成

高级创意界面:按流派、情绪、节奏、键和乐器描述歌曲——获得一个完整的带MIDI控制器集成的有线Pd机架。

9流派 使用精心策划的预设:

类型默认节奏默认情绪默认乐器
ambient70轻盈垫子,质感
techno130深色鼓、贝斯、铅
house124充满活力鼓、贝斯、垫
dnb174攻击性鼓、贝斯、铅
experimental100调制器、纹理、序列
idm140空灵鼓、琶音、调律器
minimal125鼓,贝司
drone40忧郁垫,垫
noise120攻击性纹理、调制器、鼓

7种情绪 调整合成参数(截止、混响室大小、鼓声):黑暗、明亮、攻击性、寒冷、空灵、忧郁、充满活力。

8个仪器角色 映射到具有自动多模块扩展的模板:

角色扩展到接线
leadsynth(ADSR)seq→ 注:
basssynth(低八度音阶,ADSR)seq→ 注:
padsynth(慢包络)--
drums滚筒机时钟→ 触发器
arpeggio定序器+合成器时钟→ seq → synth
sequence定序器时钟→ seq
texture噪声合成+颗粒合成→ 颗粒状
modulator图灵机+合成器时钟→ 图灵→ synth

自动布线引擎 构建完整的信号链:时钟→ 音序器→ 合成器→ 混音器→ 影响。

10个音阶 (大调、小调、多里安语、弗里吉语、混合小调、五声大调/小调、半音、全音、蓝调)x 12个根音,用于音序器音符生成。

song_analysis MCP提示引导克劳德在打电话之前完成苏格拉底式问题,以填写规范 compose_patch.

{
  "genre": "dnb",
  "tempo": 175,
  "mood": "aggressive",
  "key": { "root": "E", "scale": "minor" },
  "instruments": [
    { "role": "drums" },
    { "role": "bass" },
    { "role": "arpeggio" }
  ],
  "effects": ["reverb"],
  "controller": { "device": "k2" }
}

实时控制——OSC/FUDI消息

向正在运行的Pd实例发送实时控制消息。零外部依赖——使用内置的Node.js dgram (UDP)和 net (TCP)。

协议传输默认端口格式
开源协作UDP9000二进制(OSC 1.0规范)
富迪TCP3000文本(selector args;\n)

使用 bridge 生成Pd侧接收器补丁的模板:

  • OSC: [netreceive -u -b 9000][oscparse][route /pd] → 每条路线 [send]
  • FUDI: [netreceive 3000][route] → 每条路线 [send]

VCV机架生成器-- .vcv 补丁文件

生成VCV Rack v2补丁文件(纯JSON .vcv 格式)来自模块+电缆规格。

19个插件注册表 (约600个模块),端口/参数ID从C++源代码中抓取:

插件模块源代码
核心9音频接口2、MIDIToCVI接口、CV-MIDI、Notes等。
基础35VCO、VCF、VCA、LFO、ADSR、混频器、SEQ-3、示波器等。
博格音频111VCO、VCF、ADSR、Mix8、FMOp、噪声等。
CountModula104序列器、门、逻辑、量化器
音响设备20可变乐器克隆(辫子、云朵、戒指等)
即兴模块化29时钟、铸造厂、短语序列等。
弗罗森荒原49QAR(欧几里德),概率注,波特兰天气等。
无潜艇65逻辑门、比较器、数字实用程序
JW模块36GridSeq、NoteSeq、模式、生成测序器
贝法科32EvenVCO、混音器、Slew、SpringReverb等。
山谷8高原、德克斯特、汞合金等。
报警器 PackOne42条纹、MIDI-CAT、8FACE等。
ZZC10相位、时钟、分频器、FN-3、SH-8
+6更多~60ML模块、棱镜、GlueTheGiant、OrangeLine、StudioSixPlusOne、VCV录像机

特征:

  • 模糊端口/参数解析(按标签、名称、部分匹配或ID)
  • 插件别名("vcv" → 基础, "mi" → 声音仪器, "bg" → 博格音频)
  • 使用模块邻接链从左到右定位HP
  • 电缆颜色循环(5色调色板)或自定义十六进制颜色
  • 使用注册表中的默认值覆盖参数
  • 重复输入端口验证
  • 文件输出的路径清理
{
  "modules": [
    { "plugin": "Fundamental", "model": "VCO" },
    { "plugin": "Fundamental", "model": "VCF", "params": { "Frequency": 2.0 } },
    { "plugin": "Fundamental", "model": "VCA" },
    { "plugin": "Core", "model": "AudioInterface2" }
  ],
  "cables": [
    { "from": { "module": 0, "port": "Saw" }, "to": { "module": 1, "port": "Audio" } },
    { "from": { "module": 1, "port": "Lowpass" }, "to": { "module": 2, "port": "Channel 1" } },
    { "from": { "module": 2, "port": "Channel 1" }, "to": { "module": 3, "port": "Audio 1" } }
  ]
}

补丁分析器——深度结构分析

  • 对象计数 按类别(音频、控制、MIDI、数学等)
  • 信号流图 --具有拓扑排序的邻接表(Kahn算法),循环检测
  • DSP链检测 --来自音频源的DFS(osc~, noise~, adc~)到水槽(dac~, writesf~)
  • 复杂性评分 --基于对象计数、连接密度、子匹配深度、音频链和对象种类的0-100加权分数

______________________________________________________________________

快速开始

1.克隆和构建

git clone https://github.com/j0KZ/synthlab-mcp-server.git
cd synthlab-mcp-server
npm install
npm run build

2.配置克劳德桌面

添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "synthlab": {
      "command": "npx",
      "args": ["synthlab-mcp-server"]
    }
  }
}

或者从本地克隆:

{
  "mcpServers": {
    "synthlab": {
      "command": "node",
      "args": ["/absolute/path/to/synthlab-mcp-server/dist/index.js"]
    }
  }
}

3.使用它

打开克劳德桌面并询问:

*“解析文件/path/to/my-patch.pd并解释它的作用”*
*用时钟、定序器、声合成器、混响器和混音器创建一个机架——将时钟连接到定序器,将定序器连接到合成器,通过混响器连接到混音器进行合成*
*使用基本VCO、VCF和音频接口2创建VCV机架补丁——通过低通滤波器将输出转换为音频*
*用鼓、贝斯和琶音创作一首黑暗的电子舞曲* *“将/pd/tempo 140发送到我正在运行的pd实例”*

______________________________________________________________________

MCP工具

parse_patch

解析a .pd 文件并返回结构化描述。

参数类型说明
sourcestring文件路径或原始文件 .pd 文本

generate_patch

生成有效 .pd 文件来自节点和连接的JSON规范。

参数类型说明
titlestring?顶部评论
nodesarray对象、消息、原子
connectionsarray节点间接线
outputPathstring?写入文件(可选)

validate_patch

验证结构完整性(连接断开、孤立、水槽缺失)。

参数类型说明
sourcestring文件路径或原始文件 .pd 文本

analyze_patch

对象计数、信号流图、DSP链、复杂性得分。

参数类型说明
sourcestring文件路径或原始文件 .pd 文本

create_from_template

从参数化模板生成补丁(11个可用)。

参数类型说明
templatestring模板名称(见上表)
paramsobject?模板特定参数
outputPathstring?写入文件(可选)

create_rack

通过模块间接线和MIDI控制器集成将多个模块组装到机架中。

参数类型说明
modulesarray模块规格: { template, params?, id?, filename? }
wiringarray?连接: { from, output, to, input }
controllerobject?MIDI控制器: { device, midiChannel?, mappings? }
outputDirstring?用于写入所有文件的目录

compose_patch

根据高级歌曲描述(流派、情绪、节奏、关键、乐器、效果、控制器)生成一个完整的有线Pd机架。

参数类型说明
genrestring类型预设(环境、技术、房子、dnb、实验、idm、最小、无人机、噪音)
temponumber?覆盖BPM(限制在流派范围内)
moodstring?情绪调节(黑暗、明亮、攻击性、冷静、空灵、忧郁、精力充沛)
keyobject?音乐键: { root: NoteName, scale: ScaleType }
instrumentsarray?仪器规格: { role, id?, template?, params? }
effectsarray?效果链: ["reverb", "granular"]
controllerobject?MIDI控制器: { device, midiChannel?, mappings? }

send_message

通过OSC或FUDI向正在运行的Pd实例发送控制消息。

参数类型说明
protocol`"osc" \"fudi"`传输协议(默认值: "osc")
hoststring?目标主机(默认值: "127.0.0.1")
portnumber?目标端口(默认:9000 OSC/3000 FUDI)
addressstring消息地址(例如。 /pd/tempo)
argsarray?消息参数(数字或字符串)

list_vcv_modules

在构建补丁之前,先发现可用的VCV机架模块、端口和参数。

参数类型说明
pluginstring插件名称或别名("Fundamental", "mi", "bg")
modulestring?详细端口/参数信息的模块块。省略列出所有模块

致电just plugin 获取所有带有标签和HP的模块块。致电 plugin + module 以获取布线的确切输入/输出端口名称和参数名称。包括用于新鲜度跟踪的插件版本。

generate_vcv

生成VCV机架 .vcv 模块和电缆规格的补丁文件。

参数类型说明
modulesarray模块规格: { plugin, model, params? }
cablesarray?电缆连接: { from: {module, port}, to: {module, port}, color? }
outputPathstring?.vcv 文件(可选)

支持19个带有别名的插件: "vcv" → 基础, "mi" → 声音仪器, "bg" → 博格音频, "fw" → 弗罗森荒原, "jw" → JW模块, "sub" → 无潜艇等。

MCP提示

song_analysis

引导苏格拉底式对话,逐步设计歌曲(流派→ mood → 速度→ key → 仪器→ 效果→ 控制器)然后呼叫 compose_patch.

______________________________________________________________________

项目结构

src/                            # ~9,500 lines (+ 42,800 registry data)
  index.ts                      # MCP server — 10 tools + 1 prompt, stdio transport
  types.ts                      # PdPatch, PdCanvas, PdNode, PdConnection
  constants.ts                  # Format constants, layout defaults
  core/
    parser.ts                   # .pd text -> AST
    serializer.ts               # AST -> .pd text + buildPatch()
    object-registry.ts          # ~100 Pd-vanilla objects with port counts
    validator.ts                # 9 structural checks
  composer/
    types.ts                    # SongSpec, Genre, Mood, InstrumentRole types
    presets.ts                  # 9 genre presets (tempo, instruments, key, mood)
    moods.ts                    # 7 mood adjustments (cutoff, reverb, drum tone)
    scales.ts                   # Scale generator (10 scales × 12 keys → MIDI notes)
    wiring-rules.ts             # Auto-wiring engine (clock→seq→synth→mixer→fx)
    song-mapper.ts              # SongSpec → CreateRackInput mapper
  schemas/
    patch.ts                    # Zod schemas for parse/generate
    analyze.ts                  # Zod schemas for validate/analyze
    template.ts                 # Zod schema for create_from_template
    rack.ts                     # Zod schema for create_rack
    control.ts                  # Zod schema for send_message
    compose.ts                  # Zod schema for compose_patch
    vcv.ts                      # Zod schemas for list_vcv_modules + generate_vcv
  templates/
    index.ts                    # Template registry + dispatcher (11 templates)
    port-info.ts                # PortInfo, RackableSpec types for wiring
    validate-params.ts          # Runtime param validation
    synth.ts                    # Oscillator -> filter -> VCA -> dac~
    sequencer.ts                # MIDI step sequencer
    drum-machine.ts             # 4 analog drum voices — 3-layer (voices/filter/mix)
    reverb-template.ts          # adc~ -> reverb -> wet/dry -> dac~
    mixer.ts                    # N-channel mixer with mute gates
    clock.ts                    # Master clock with divided outputs
    chaos.ts                    # Logistic map chaos generator
    maths.ts                    # Function generator (rise/fall envelopes)
    turing-machine.ts           # Shift register random sequencer
    granular.ts                 # Granular synthesis sampler
    bridge.ts                   # OSC/FUDI network receiver
    modules/
      compose.ts                # Module composition with index offsetting
      oscillator.ts             # 4 variants: sine, saw, square, noise
      filter.ts                 # 5 variants: lowpass, highpass, bandpass, moog, korg
      vca.ts                    # VCA module (*~)
      envelope.ts               # 3 variants: adsr, ar, decay
      delay.ts                  # 2 variants: simple, pingpong
      reverb.ts                 # 2 variants: schroeder, simple
  controllers/
    auto-mapper.ts              # 4-phase auto-mapping (custom -> amp -> freq -> rest)
    pd-controller.ts            # Input controller patch builder
    pd-output-controller.ts     # Output controller (ctlout feedback)
    param-injector.ts           # Parameter bus injection
    k2-deck-config.ts           # K2 LED configuration generator
  devices/
    index.ts                    # Device registry
    k2.ts                       # Korg nanoKONTROL2 (34 controls)
    microfreak.ts               # Arturia MicroFreak (21 outputs)
    tr8s.ts                     # Roland TR-8S (51 bidirectional)
  network/
    osc-encoder.ts              # OSC 1.0 binary encoder (4-byte aligned)
    fudi-formatter.ts           # FUDI text formatter
    udp-sender.ts               # UDP fire-and-forget (dgram)
    tcp-sender.ts               # TCP send/receive (net)
  vcv/
    types.ts                    # Registry, spec, and serialization types
    generator.ts                # Module resolution, cables, positioning
    positioner.ts               # Left-to-right HP layout
    registry.ts                 # Plugin lookup with aliases + fuzzy matching
    validate-vcv-params.ts      # Claude Desktop quirk coercion
    registry/                   # 15 auto-generated plugin registries
      core.ts                   # 9 modules (manual — complex ENUMS)
      fundamental.ts            # 35 modules
      bogaudio.ts               # 111 modules
      audibleinstruments.ts     # 20 modules
      befaco.ts                 # 32 modules
      countmodula.ts            # 50+ modules
      impromptumodular.ts       # 30+ modules
      valley.ts                 # 9 modules
      stoermelder-packone.ts    # 42 modules
      + 6 more                  # ml-modules, orangeline, prism, etc.
  tools/
    parse.ts                    # parse_patch tool handler
    generate.ts                 # generate_patch tool handler
    validate.ts                 # validate_patch tool handler
    analyze.ts                  # analyze_patch tool handler
    template.ts                 # create_from_template tool handler
    rack.ts                     # create_rack + combined patch builder
    compose.ts                  # compose_patch tool handler
    control.ts                  # send_message tool handler
    list-vcv.ts                 # list_vcv_modules tool handler (discovery)
    vcv.ts                      # generate_vcv tool handler
  wiring/
    bus-injector.ts             # Inter-module wiring (throw~/catch~, send/receive)
  utils/
    resolve-source.ts           # File-path vs raw-text resolver

scripts/                        # ~700 lines
  build-vcv-registry.ts         # Clone repos -> parse C++ -> generate .ts
  parse-cpp-enums.ts            # C++ enum parser (ParamIds, InputIds, etc.)
  parse-svg-width.ts            # SVG panel width -> HP conversion
  update-readme-stats.ts        # Auto-update README tool/test counts

tests/                          # 741 tests, ~6,500 lines
  parser.test.ts                # 14 — parsing, subpatches, arrays, edge cases
  serializer.test.ts            # 8 — round-trip, spec builder, escaping
  object-registry.test.ts       # 37 — port counts, aliases, variable objects
  validator.test.ts             # 20 — each check type + fixtures
  analyze.test.ts               # 29 — counts, flow, DSP chains, complexity, formatting
  composer/
    composer.test.ts            # 42 — scales, presets, moods, wiring, mapper, validation
  controllers/
    controller.test.ts          # 80 — auto-mapper, controller patches, device profiles
  templates/
    compose.test.ts             # 8 — module composition, wiring, autoLayout
    modules.test.ts             # 17 — all module variants
    templates.test.ts           # 46 — complete template round-trips
    edge-cases.test.ts          # 106 — param validation, coercion, boundaries
    bridge.test.ts              # 3 — OSC/FUDI bridge variants
  network/
    osc-encoder.test.ts         # 8 — binary encoding, padding, type inference
    fudi-formatter.test.ts      # 3 — text formatting
    udp-sender.test.ts          # 3 — UDP send, socket error mock
    control.test.ts             # 6 — mock UDP/TCP servers, end-to-end
  tools/
    rack.test.ts                # 13 — rack assembly, layout, file writing
    rack-wiring.test.ts         # 13 — wiring integration, bus injection
    compose.test.ts             # 14 — compose_patch tool, genres, validation, coercion
    list-vcv.test.ts            # 9 — discovery tool, aliases, coercion
    vcv.test.ts                 # 8 — tool handler, format, sanitization
  utils/
    resolve-source.test.ts      # 5 — raw text vs file path resolution
  vcv/
    generator.test.ts           # 15 — modules, cables, positions, errors
    registry.test.ts            # 71 — 19 plugins, module aliases, fuzzy resolution, formatting
    positioner.test.ts          # 5 — HP layout, adjacency chain
    validate-vcv-params.test.ts # 8 — coercion, empty arrays, booleans
  scripts/
    parse-cpp-enums.test.ts     # 30 — enums, ENUMS macro, removed, labels, preprocessor, expressions
    parse-svg-width.test.ts     # 4 — mm/px to HP conversion
  wiring/
    bus-injector.test.ts        # 17 — connection helpers, validation
  fixtures/
    hello-world.pd              # Minimal: osc~ -> *~ -> dac~
    midi-sequencer.pd           # 4-step sequencer with noteout
    subpatch.pd                 # Nested canvas with inlet~/outlet~
    broken-connections.pd       # Invalid connections for validator
    orphan-objects.pd           # Disconnected objects
    complex-patch.pd            # Multi-chain audio + control + subpatch

______________________________________________________________________

发展

npm run build        # Compile with tsup (ESM + declarations)
npm run dev          # Watch mode
npm run test         # Run vitest (741 tests)
npm run lint         # Type-check with tsc --noEmit
npm run inspect      # Test server with MCP Inspector

VCV注册表重建(仅在插件更新时需要)

npm run vcv:build-registry   # Clone repos -> parse C++ -> regenerate src/vcv/registry/*.ts
npm run build                # Rebundle

更新README统计数据(工具/测试计数)

npm run update-stats         # Patches README with actual tool + test counts

______________________________________________________________________

技术栈

技术目的
TypeScript (严格模式)类型安全解析器和序列化器
MCP-SDK (@modelcontextprotocol/sdk)协议实施
佐德运行时输入验证
Vitest测试转轮(741次测试)
咋了Bundler(ESM输出,1.04 MB)
TSX构建脚本的TypeScript执行
零运行时间消耗 超越MCP SDK+ZodOSC dgram通过FUDI net

______________________________________________________________________

路线图

所有阶段均已完成。最近的改进:

  1. 核心 --解析器+串行器+MCP支架
  2. 分析 --对象注册表、信号流图、DSP链检测、复杂性评分
  3. 模板 --11台具有模块化两层结构的参数化仪器
  4. 机架生成器create_from_template + create_rack (多模块组装)
  5. 布线 --模块间总线(投掷/捕获、发送/接收、时钟同步)
  6. midi控制器 --K2、MicroFreak、TR-8S配置文件,具有自动映射功能
  7. 实时控制 --OSC/FUDI消息传递(send_message 工具+ bridge 模板)
  8. VCV机架.vcv 生成19个插件注册表(约600个模块),模块发现+别名
  9. 歌曲作曲compose_patch 工具+ song_analysis 苏格拉底式提示
  10. 滚筒机v2 --三层架构(声音/过滤器/混音),低音踢踏,波波~温暖,金属高帽,808风格拍手,按音量控制

______________________________________________________________________

许可证

麻省理工学院

目录标签

目录标签

AI生成TypeScriptClaude音乐合成本地部署MIDI控制PureDataVCVRack

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

10

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP