← Back to Manual

MCP Integration Guide World's First

Complete reference for connecting AI assistants to SnappySnap

What is MCP?

MCP (Model Context Protocol) lets AI assistants like Claude control SnappySnap directly. Think of it like giving Claude a remote control for your plugin.

With MCP enabled, you can say things like:

The AI understands what you want and adjusts the plugin for you.

Why Use MCP?

Without MCP With MCP
You adjust every knob manually AI adjusts knobs based on your description
You need to know parameter names Just describe what you want
Trial and error to find sounds AI suggests and applies changes
Complex morph setup "Blend between these two sounds"
Best for: Sound design exploration, quick preset tweaking, learning what parameters do, hands-free adjustments while playing.

Getting Started

Step 1: Enable MCP Server

Step 2: Connect Your AI Assistant

Use the Config Writer below to generate the right configuration for your AI client. Pick your client, choose a connection mode, and copy the result into your config file.

Direct (stdio)

Your AI client launches SnappySnap's MCP server as a subprocess. No token needed, no network involved — the fastest and simplest setup.

Use when: Your AI client supports stdio transport and runs on the same machine as SnappySnap. Recommended for Windsurf, Antigravity, and Claude Code.

Bridge (HTTP)

Your AI client connects to SnappySnap's built-in HTTP server using mcp-remote as a bridge. Requires Node.js and a security token.

Use when: Your AI client doesn't support stdio, or you prefer HTTP transport. Required for Claude Desktop. Also works for remote or networked setups.

Config Writer


                
Requires Node.js: Bridge mode uses npx mcp-remote. Install Node.js LTS first. On Windows, restart your AI client after installing Node.js.
Important: SnappySnap must be running with a plugin loaded before you start your AI client. The MCP server is built into SnappySnap — it needs to be open for the AI to connect.
Bridge mode token: When you enable MCP, a security token is generated — it's like a password that proves you're allowed to control the plugin. Find it in the settings panel after enabling MCP, or in: ~/Library/Application Support/SnappySnap/settings.xml. Keep it private.

Manual Setup (if Config Writer doesn't work)

If the Config Writer isn't loading properly, use the same steps manually:

Config File Locations

Client macOS Windows
Claude Desktop ~/Library/Application Support/Claude/claude_desktop_config.json %APPDATA%\Claude\claude_desktop_config.json
Claude Code ~/.claude.json or Settings > MCP Servers
Windsurf / Antigravity MCP settings panel within the app
Cursor Cursor Settings > MCP

What Can the AI Do?

View Plugin Info

The AI can see:

Change Parameters

The AI can:

Work with Snapshots

The AI can:

Control Morphing

The AI can:

Explore and Randomize

The AI can:

Example Conversations

Sound Design Help

You: "I want this synth to sound more aggressive"
AI: I've increased the drive to 70%, added some saturation, and boosted the filter resonance. How does that sound?

Quick Preset Creation

You: "Save what we have now as 'Warm Pad' in slot 1"
AI: Done! I've saved the current settings as 'Warm Pad' in snapshot slot 1.

Morphing Between Sounds

You: "I want to blend between slot 1 and slot 2, about 30% towards slot 2"
AI: I've set the morph to 30% toward slot 2. You'll hear mostly the slot 1 sound with some slot 2 mixed in.

Controlled Randomization

You: "Randomize everything but keep the volume and effects bypass where they are"
AI: I've randomized 245 parameters while keeping volume and bypass settings unchanged.

Tips for Best Results

Be Specific About What You Want

Less Effective More Effective
"Make it better" "Make the bass fuller and reduce harshness"
"Change the sound" "Add more movement and modulation"
"Fix it" "The high frequencies are too harsh, tame them"

Use Musical Terms

The AI understands:

Save Before Experimenting

Ask the AI to save your current sound before making big changes:

"Save this to slot 0 as 'Starting Point', then try making it more aggressive"

You can always go back if you don't like the changes.

Check What Changed

After the AI makes adjustments, you can ask:

"What parameters did you just change?"

This helps you learn what affects the sound.

Understanding Parameters

What Are Parameters?

Parameters are all the controls in a plugin — every knob, slider, and button. A simple plugin might have 20 parameters. A complex synth might have 1,000+.

Normalized Values

When the AI sets parameter values, it uses "normalized" values from 0.0 to 1.0:

You don't need to think about this — just say "set it to 75%" and the AI handles the conversion.

AI-Relevant vs All Parameters

Many plugins have hundreds of parameters, but not all are useful for sound design. Some are:

The AI can filter to just the "sound design" parameters, making responses faster and more focused.

Troubleshooting

"Connection Refused" or "fetch failed"

Problem: The AI can't connect to SnappySnap.

Solutions:

Windows: "spawn npx ENOENT"

Problem: Claude Desktop can't find the npx command.

Solutions:

Windows: "'C:\Program' is not recognized"

Problem: Paths with spaces are being split incorrectly.

Solution: Use npx.cmd directly (not the full path). If Node.js is properly installed, the simple config shown above will work.

"Unauthorized"

Problem: The AI's requests are rejected.

Solutions:

"No Plugin Loaded"

Problem: AI says there are no parameters to control.

Solutions:

"No compatible message available" (Large Plugins)

Problem: Error when working with plugins that have many parameters (500+).

Solutions:

Changes Not Working

Problem: AI says it changed something but you don't hear a difference.

Possible causes:

Client Compatibility

SnappySnap's MCP server works with any client that supports the MCP protocol, but not all clients implement the spec equally. The key differentiator is argument passing — the ability to send parameters like instance_id to tools.

Client Transport All 15 Tools Multi-Instance Resources
Claude Desktop stdio / HTTP Yes Yes Yes
Claude Code stdio / HTTP Yes Yes Yes
Windsurf / Antigravity stdio Yes Yes Yes
Cursor stdio Partial No Unknown

Cursor Limitations

Cursor's MCP integration (CallMcpTool) does not support passing arguments to tool calls. This means:

This is a limitation of Cursor's MCP client, not SnappySnap. Only read-only, argument-free tools like get_loaded_plugin_info and list_snapshots work reliably in Cursor.

Recommendation: For full MCP functionality, use Claude Desktop, Claude Code, Windsurf, or Antigravity. If you use Cursor, ensure only one SnappySnap instance is loaded and expect limited tool support.

Privacy and Security

Your Token is Your Password

Local Connection Only

MCP runs on 127.0.0.1 (localhost) — it only accepts connections from your own computer. Remote connections are not supported by default.

What the AI Can See

When connected, the AI can see:

It cannot see:

Quick Reference

Snapshot Slots

Available: 0-11 (12 total)

Morph Ranges

1D Position: 0.0 to 1.0
2D X/Y: 0.0 to 1.0

Parameter Values

0.0 = Minimum
0.5 = Center
1.0 = Maximum

Common Requests

What You Want How to Ask
See current plugin "What plugin is loaded?"
View all snapshots "Show me the snapshots"
Save current sound "Save this to slot 3 as 'My Sound'"
Load a snapshot "Load snapshot 2"
Blend sounds "Set morph to 50%"
Adjust a parameter "Turn up the filter cutoff"
Randomize "Randomize the parameters"
Check morph state "Where is the morph position?"