apc-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@apc-mcpbuild my plugin project"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
apc-mcp — Audio Plugin Coder MCP Server
apc-mcp is a Model Context Protocol server that brings audio plugin development workflows into any MCP-compatible client (Claude Code, OpenCode, VS Code with MCP, etc.).
It wraps CMake, ctest, clang-format, pluginval, and clap-validator into a clean tool interface for building, testing, linting, validating, and scaffolding JUCE, CLAP, VST3, and ARA plugin projects.
Tools
Tool | What it does |
| CMake configure + build with structured error/warning output |
| CMake configure with custom generator and flags |
| Run ctest with pass/fail summary |
| clang-format check/auto-fix on |
| List project plugins with metadata (text or JSON) |
| Run pluginval (VST3) and clap-validator on built binaries |
| Scaffold new CLAP or JUCE plugins from templates |
Related MCP server: REAPER MCP Server
Quick Start
Prerequisites
Node.js 18+
CMake 3.22+ — for build/configure tools
clang-format — for lint tool (optional)
pluginval (optional) — for VST3 validation
clap-validator (optional) — for CLAP validation
A JUCE/CLAP/VST3 audio plugin project with a
plugins/directory
Installation
{
"mcp": {
"apc-mcp": {
"type": "local",
"command": ["npx", "-y", "@scottmills306/apc-mcp"],
"enabled": true
}
}
}Or clone locally:
git clone https://github.com/scottmills306/apc-mcp.git
cd apc-mcp
npm install
# then point config to: node /path/to/apc-mcp/index.jsProject Config
Drop an apc-mcp.json in your project root to set per-project defaults:
{
"generator": "Ninja",
"config": "Release",
"buildDir": "build",
"pluginsDir": "plugins",
"validateFormats": ["VST3", "CLAP"],
"validateCommand": "pluginval",
"clapValidatorCommand": "clap-validator"
}When this file is present, projectPath is optional in tool calls — the server auto-detects your project from the working directory.
Usage Examples
Build
audio_plugin_build()
audio_plugin_build(config="Release", clean=true)
audio_plugin_build(projectPath="/path/to/other-plugin", target="MyPlugin_Standalone")Build output includes parsed error/warning counts.
Configure
audio_plugin_configure(generator="Ninja")
audio_plugin_configure(options="-DAPC_ENABLE_VISAGE=ON")Test
audio_plugin_test()
audio_plugin_test(config="Release", testName="MyPluginTest")Lint
audio_plugin_lint()
audio_plugin_lint(fix=true)
audio_plugin_lint(target="plugins/Foo/Source")List plugins
audio_plugin_plugins(format="json")Returns structured JSON when format="json", or human-readable text by default.
Validate built binaries
audio_plugin_validate()
audio_plugin_validate(format="VST3")
audio_plugin_validate(format="CLAP")Scans the build directory for plugin binaries and runs the appropriate validator on each.
Scaffold a new plugin
audio_plugin_create(name="Phaser9000", type="clap")
audio_plugin_create(name="MyVerb", type="juce", vendor="MyCompany", formats="VST3;AU")
audio_plugin_create(name="SimpleDelay", type="clap", vendor="MyCompany", description="A simple delay effect")Creates a working plugin stub with CMakeLists.txt, source files, and proper CLAP or JUCE structure.
Project Structure
my-plugin/
├── apc-mcp.json # Per-project config (optional)
├── CMakeLists.txt # Root CMake project
├── plugins/
│ ├── MyPlugin/
│ │ ├── CMakeLists.txt # Per-plugin CMake
│ │ ├── Source/
│ │ └── status.json # Optional metadata
│ └── ...
├── common/ # Shared sources (optional)
└── build/ # Build directory (auto-created)Development
git clone https://github.com/scottmills306/apc-mcp.git
cd apc-mcp
npm install
npm testTests use Node's built-in node:test runner — zero test dependencies.
Why apc-mcp?
Project-agnostic — works with any audio plugin repo, no hardcoded paths
Configurable — drop
apc-mcp.jsonfor per-project defaults, or pass everything explicitlyStructured output — tools return parsed error/warning counts, pass/fail summaries, and optional JSON
Plugin scaffolding —
audio_plugin_creategenerates working CLAP and JUCE stubs from templatesValidation — runs pluginval and clap-validator on your built binaries
Leverages your existing toolchain — wraps cmake, ctest, clang-format instead of reinventing them
MIT licensed
Publishing to npm
The CI/CD pipeline publishes to npm automatically when a v* tag is pushed:
git tag v1.0.1 && git push origin v1.0.1Requires NPM_TOKEN secret on the repository.
License
MIT © 2026 Scott Mills
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/scottmills306/apc-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server