@map-audio/pam-mcp-server
v1.7.0
Published
MCP server for controlling the PAM audio plugin from AI agents (Claude Desktop, Claude Code, Cursor, etc.)
Downloads
230
Maintainers
Readme
@map-audio/pam-mcp-server
MCP server for the PAM audio plugin. Lets AI agents (Claude Desktop, Claude Code, Cursor, etc.) control a running PAM instance — load samples, set parameters, trigger MIDI, edit patterns, manage presets, run the randomizer, and more.
Requirements
- macOS or Windows with Node.js 21+ (
node --version) - PAM installed and running (standalone or in a DAW)
- MCP Bridge enabled inside PAM:
Settings → Experimental Mode → MCP Bridge(default port9847)
When PAM starts with the bridge enabled it writes ~/.pam-mcp-bridge.json — the server discovers PAM through that file, so nothing else needs configuring.
Install
Install the bridge globally once, then register the bin name pam-mcp with your MCP client. This is more reliable than npx -y for stdio MCP launchers (Claude Code in particular).
npm install -g @map-audio/pam-mcp-serverThis installs a pam-mcp executable on your PATH. Verify with:
which pam-mcp
pam-mcp --versionClaude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"pam": {
"command": "pam-mcp"
}
}
}Fully quit Claude Desktop (Cmd+Q / right-click tray icon → Quit) and reopen. PAM's tools will appear in the MCP menu.
Claude Code
claude mcp add pam pam-mcpor add the same mcpServers block to .mcp.json at your project root.
Cursor / other MCP clients
Use the same mcpServers block in the client's MCP config. Any stdio-compatible MCP client works.
npx-based install (alternative)
npx -y @map-audio/pam-mcp-server also works in Claude Desktop and some clients, but Claude Code's stdio launcher does not resolve the npm bin shim reliably and reports "Failed to connect" even when the package is published. Prefer the global-install + bare-bin form above for Claude Code:
{
"mcpServers": {
"pam": {
"command": "npx",
"args": ["-y", "@map-audio/pam-mcp-server"]
}
}
}Troubleshooting
- "Not connected to PAM plugin" — PAM isn't running, or MCP Bridge is off. Open PAM → Settings → Experimental Mode → enable MCP Bridge, then restart PAM.
- "Failed to connect" /
pam-mcp: command not found— the MCP client's shell PATH doesn't include the npm global bin. Runwhich pam-mcpin a terminal and use the absolute path it prints (e.g./Users/you/.nvm/versions/node/v22/bin/pam-mcp) as thecommandvalue in your config. macOS GUI apps don't inherit shell PATH from~/.zshrc/~/.bashrc, so absolute paths are the safest fallback. npx: command not found(if you're using the npx form) — same root cause: install Node from nodejs.org (not vianvm/asdf), or give the absolute path:"command": "/usr/local/bin/npx"/"/opt/homebrew/bin/npx".- Offline tools fail (
list_presets,get_parameter_info) — the manifest bundled with the package is used automatically. To target a different PAM install, setPAM_MANIFEST_PATHin the server'senvblock.
What's in the box
Live tools (require a running PAM): set_parameters, trigger_midi, update_pattern, load_sample, load_preset, save_preset, add_modulation, start_transport, stop_transport, full_stop_transport, set_bpm, randomize_samples, randomize_patterns, load_variation, and more.
Plugin host tools (when PAM is built with the plugin host enabled): list_plugins, scan_plugins, cancel_plugin_scan, get_plugin_scan_status, list_loaded_plugins, load_plugin, unload_plugin, set_plugin_param, set_plugin_bypass. Typical flow: scan_plugins → poll get_plugin_scan_status → list_plugins → load_plugin into a cell → list_loaded_plugins for param indices → set_plugin_param / set_plugin_bypass.
Offline tools (manifest-only): get_parameter_info, list_presets, list_samples, get_manifest_summary.
License
MIT
