PampaPilot MCP Server
The PampaPilot MCP server provides an AI‑driven interface to REAPER for music production, combining natural language commands with safe, verifiable, and reversible operations. It offers:
Project & Session Management: Check REAPER connectivity (
health_check), inspect project/track state, create and save projects, set tempo, undo last transaction, and offline session preparation (discover media, validate files, generate song manifests) without touching REAPER until you’re ready.Track & Mix Control: Create tracks, import single or batch WAV files, and adjust volume, pan, mute (individually or in a batch) — all verified and reversible.
Effects (FX): Add native ReaComp/ReaEQ to tracks, configure compressor parameters (threshold, ratio, attack, release, knee, makeup) and EQ bands (type, frequency, gain, Q). Supports additional JS effects, corrective chains, de‑essing, saturation, and more.
Audio & MIDI Analysis & Processing: Offline MIDI analysis, cleanup previews, and generation of cleaned variants; objective stem analysis (LUFS, peaks, crest factor, stereo correlation, etc.); propose and apply corrective processing chains with A/B preparation.
Safety: All modifications are verified against REAPER’s state, transactions are reversible, file writes are restricted to allowed roots, read‑only operations never modify, and user approval is required before changes are applied.
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., "@PampaPilot MCP ServerImport vocal stems and set session BPM to 90"
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.
PampaPilot
Agente de producción musical con IA para controlar REAPER desde lenguaje natural sin acoplar la automatización a un proveedor de IA específico.
PampaPilot — Your AI music production agent.
El principio central es separar responsabilidades:
el cerebro propone un plan;
el servidor MCP expone operaciones musicales tipadas;
el puente de REAPER ejecuta una lista permitida de acciones;
el verificador vuelve a leer el estado y distingue ejecución de resultado;
los analizadores pesados trabajan fuera del hilo de interfaz de REAPER.
Estado
La etapa 0 y la primera integración están terminadas. En REAPER 7.78/x64 se
verificó el recorrido crear pista -> leer GUID -> ajustar paneo -> volver a leer
-> deshacer ambas transacciones. El proyecto terminó con su estructura inicial.
También se verificó en vivo la importación y lectura posterior de un WAV estéreo
de 48 kHz, el cambio de 120 a 85 BPM sin alterar el audio y el guardado de la
sesión con nombre propio. La primera sesión real contiene 12 stems importados y
guardados; el lote completo es una única transacción reversible. El puente
también aplica volumen, paneo y mute de varias pistas en una sola transacción. La
primera mezcla estática real fue releída desde REAPER y su suma se verificó sin
clipping antes de guardarla. El puente 0.5.1 agrega ReaComp y ReaEQ por GUID. El
compresor se configura en unidades musicales y ReaEQ permite controlar bandas
existentes por tipo e índice, con frecuencia, ganancia, Q y estado habilitado. Los
valores se vuelven a leer dentro de una única transacción reversible.
Desde el puente 0.7.0 se separan además instrumentos de efectos: add_instrument admite
inicialmente ReaSynth y comprueba que REAPER lo registre realmente como VSTi de
la pista, sin acoplar la interfaz a nombres arbitrarios de plugins.
El puente 0.12.2 aplica una propuesta aprobada completa en una sola transacción,
reutiliza FX mediante GUID explícitos y rechaza duplicaciones implícitas.
La acción persistente publica on en la columna State de REAPER mientras el
puente está activo y limpia el indicador al terminar.
También lee de forma no destructiva los ajustes de render y la cadena FX del
master para vincularlos con el control técnico del archivo final.
También genera propuestas conservadoras de ReaLimit desde el análisis del
archivo, exige el ID exacto aprobado, aplica parámetros en unidades legibles,
vuelve a leerlos y conserva una transacción de deshacer segura.
El mismo puente puede renderizar un candidato WAV de 24 bits a un destino nuevo
dentro de sessions/, verificar que REAPER lo creó y enlazar inmediatamente
su identidad SHA-256 con el análisis técnico del archivo.
El puente 0.15.0 descubre FX instalados y usados, y agrega un flujo supervisado
de ReaGate. Mide pasajes silenciosos sin clasificarlos automáticamente como
ruido, rechaza la puerta por rutina en stems de Suno y exige aprobación por ID
antes de crear o configurar una instancia identificada por GUID.
También analiza picos sibilantes de voces orgánicas y propone un de-esser con
ReaXcomp que comprime únicamente la banda superior. Los stems vocales de Suno
se diagnostican, pero no reciben este procesamiento automáticamente.
El puente 0.16.0 incorpora buses 100 % wet de ReaVerbate y ReaDelay, con envíos
post-fader identificados por GUID. Los retardos musicales se convierten a
milisegundos usando el BPM vigente y cada routing desactiva el transporte MIDI.
Suno usa perfiles de ambiente deliberadamente más sutiles que las fuentes
orgánicas, pero no queda excluido de la audición.
El puente 0.17.0 agrega edición verificable de fades por GUID e inspección de
envolventes de volumen. El puente 0.18.0 incorpora ReaTune mediante presets
propios: identifica la instancia por GUID, carga un nombre exacto y comprueba
que REAPER lo conservó, sin depender de parámetros internos no expuestos.
El puente 0.19.0 habilita el alta y retirada verificable de ReaFIR y el
descubrimiento de dominios públicos sin escribirlos. La reducción de ruido no
se habilita todavía: el modo Subtract y el perfil son estado privado del plugin.
El puente 0.20.0 incorpora saturación mediante JS: Multi Waveshaper: controla
Drive, Muffle y Output, fija estéreo y sobremuestreo x2, desactiva el limitador
interno y diferencia puntos de partida para Suno, fuentes orgánicas y desconocidas.
El puente 0.21.0 agrega vocal riding por regiones para voces orgánicas: liga la
propuesta al WAV y al ítem exactos, escribe sólo sobre una envolvente libre y
relee cada punto. Los stems vocales de Suno se analizan pero no se automatizan.
El puente 0.22.0 amplía la lectura de ítems con fuente, offset y playrate. El
motor puede así revisar límites duros, impulsos, silencios internos, clipping y
colas activas exactamente en el tramo usado por REAPER. Sólo propone revisión;
no corta ni repara audio automáticamente.
El puente 0.23.0 incorpora control dinámico de una resonancia amplia con
ReaXcomp: propone una única banda de audición, mantiene las otras tres
transparentes y usa un perfil especialmente suave para Suno.
El puente 0.24.0 puede aplicar una cadena FX correctiva completa y ordenada en
una única transacción: Gate, EQ, resonancia, compresión, de-esser y saturación.
El plan cruza los FX existentes, conserva los ajenos y bloquea ambigüedades.
El puente 0.25.0 agrega la preparación A/B: renderiza el mix antes y después de
la cadena, restaura los ajustes de render tras cada archivo y crea copias WAV
igualadas por LUFS mediante atenuación. La decisión sonora sigue siendo humana.
El puente 0.27.0 interpreta letras estructuradas y muestra regiones reversibles.
El motor 0.2 fusiona downbeats/modelo especialista, análisis por compás de todos
los stems, consenso por rol y repetición musical; esas métricas quedan separadas
para reutilizarlas en otras decisiones de productor.
El puente 0.28.1 agrega carga atómica de presets ReaTune y acepta volumen, paneo,
mute o solo como campos independientes dentro de una misma operación. La web
traduce órdenes simples o complejas del chat a
un catálogo tipado, exige aprobación según una política configurable, verifica
el estado y permite deshacer el plan completo. El texto libre del LLM nunca se
ejecuta directamente.
El puente 0.29.2 agrega materialización de canciones desde la web: crea o abre
un RPP propio en una pestaña de REAPER, configura el BPM e importa únicamente
los WAV cuyas rutas todavía no están presentes. La pantalla principal permite
crear borradores vacíos, agregar o quitar stems y definir su orden antes de
importar; las sincronizaciones posteriores evitan duplicar fuentes y actualizan
el orden de las pistas existentes sin recrearlas.
Related MCP server: REAPER MCP Server
Decisiones iniciales
Windows y REAPER 7 como primera plataforma.
Python 3.12.13 para MCP, análisis de audio/MIDI y orquestación.
Lua/ReaScript para el adaptador que vive dentro de REAPER.
MCP oficial v2, con el servidor local conectado por
stdioal principio.Intercambio local por archivos atómicos y versionados entre Python y Lua.
Efectos nativos de REAPER en el primer MVP.
Un solo componente puede escribir en el proyecto; los especialistas sólo recomiendan acciones.
La arquitectura y sus límites están en docs/architecture.md. El estado completo de filtros y funciones pendientes se mantiene en docs/implementation-backlog.md. El primer recorrido verificable está en docs/mvp.md. La limpieza reutilizable de MIDI contra un stem está en docs/midi-cleanup.md. La gatera y el manifiesto de sesión están en docs/song-preparation.md. La materialización MIDI verificable está en docs/midi-import.md. La estrategia híbrida de procesamiento por stem está en docs/song-processing-strategy.md. El diagnóstico ahora enlaza cada problema observado con el siguiente analizador o filtro candidato, conservando una política especialmente cauta para Suno. La compatibilidad mono se verifica por bloques y bandas antes de sugerir cambios de ancho; una correlación negativa aislada no autoriza procesamiento. Véase docs/mono-compatibility.md. El análisis temporal reutilizable está en docs/timeline-analysis.md y su aplicación a secciones en docs/song-structure.md.
La automatización opcional por secciones se previsualiza antes de tocar REAPER. Los stems de Suno reciben movimientos de media intensidad (normalmente décimas de dB), las pistas orgánicas admiten un margen algo mayor y ninguna propuesta se activa por defecto. La aplicación exige el identificador exacto de la propuesta, no sobrescribe envolventes existentes y relee todos los puntos escritos. Véase docs/section-volume-automation.md. El fine-tuning lingüístico y su backend automático GPU/CPU están en docs/vocal-lyric-alignment.md. El control offline del master para distribución está en docs/master-delivery-qc.md. El limitador de mastering supervisado está en docs/mastering-proposals.md. El render con procedencia verificable está en docs/rendered-master-candidates.md. Las propuestas auditables de procesamiento están en docs/processing-proposals.md. El diagnóstico híbrido de stems está en docs/song-diagnosis.md. El cruce con el estado real de REAPER está en docs/production-plan.md. El detector conservador de clics, silencios y bordes está en docs/research/audio-integrity-adapter.md. La orquestación de una cadena por pista está en docs/research/producer-chain.md.
Entorno Python reproducible
En Windows x64, un único comando descarga una copia verificada de uv 0.12.1,
instala Python 3.12.13 y sincroniza exactamente las dependencias del proyecto:
.\scripts\bootstrap.ps1Las herramientas, Python y el entorno se guardan localmente en .tools/,
.runtime/ y .venv-pampapilot/; no se versionan. El repositorio sí conserva
.python-version, pyproject.toml y uv.lock, por lo que otra máquina puede
reconstruir el mismo entorno sin depender del Python instalado en Windows.
Interfaz web
La primera interfaz de PampaPilot se inicia con:
.\scripts\run-web.ps1Abra http://127.0.0.1:8765. Desde Nueva canción se cargan título, BPM,
origen, letra, stems, MIDI y referencia sin manipular la estructura interna de
carpetas. La configuración del cerebro admite LM Studio con token requerido de
forma predeterminada y un modo sin autenticación para una red confiable.
El botón Modo compacto abre la misma interfaz como ventana web always-on-top
abajo a la derecha, conserva la canción activa y permite operar el chat mientras
REAPER permanece visible. El historial visible y el modo de razonamiento se
guardan en el servidor local y se comparten por canción entre la ventana
completa y la compacta, incluso si usan perfiles de navegador distintos. El
selector de razonamiento permite usar modo
automático (razona ante órdenes que modifican REAPER), rápido sin razonamiento o
profundo; una respuesta de acción con JSON incompleto se solicita nuevamente al
modelo y nunca se ejecuta parcialmente. Esta elección sólo configura al
proveedor activo y no forma parte del contrato de acciones de REAPER.
Para abrir la interfaz desde otro equipo de la LAN use
.\scripts\run-web.ps1 -ServeOnLocalNetwork. Consulte
docs/web-interface.md para límites de seguridad y
alcance de la versión actual.
Pruebas locales
.\scripts\validate.ps1El desarrollo asistido con Codex y un modelo local se prepara con
scripts/install-codex-cli.ps1 y se inicia con
scripts/start-local-codex.ps1. El flujo seguro de branches, worktrees,
revisión y operación remota está en
docs/hybrid-development-workflow.md.
El servidor local se inicia por stdio con:
.\scripts\run-mcp.ps1No imprime nada mientras espera un cliente MCP; ese silencio es normal.
El lanzador toma ipc_root de reaper/bridge_config.local.json, de modo que
Python y Lua conservan el mismo transporte local después de un reinicio.
La evaluación de proyectos relacionados, commits revisados, licencias y
decisiones de implementación se conserva en
docs/research/reaper-ecosystem-audit.md.
Para conectarlo a Codex, copie .codex/config.toml.example como
.codex/config.toml, reemplace las rutas absolutas y reinicie Codex. El archivo
real es local y no se versiona.
El puente de REAPER usa además reaper/bridge_config.local.json, copiado desde
reaper/bridge_config.example.json. Sólo permite importar medios ubicados bajo
allowed_media_roots y guardar proyectos bajo allowed_project_roots; los stems
locales de media/ y las sesiones de sessions/ están excluidos de Git.
Análisis offline de stems
El análisis objetivo se ejecuta fuera de REAPER para no bloquear su interfaz:
.\.venv-pampapilot\Scripts\python.exe .\scripts\analyze_stems.py `
"C:\RUTA\A\LOS\STEMS" "C:\RUTA\AL\REPORTE\stems.json"El reporte incluye formato, duración, LUFS, picos, RMS, factor de cresta, silencios, correlación estéreo, offset DC y posibles muestras saturadas. Estas mediciones son observaciones; las decisiones musicales se toman en una etapa posterior y siempre se verifican contra el estado de REAPER.
Ingreso recomendado desde Suno
Cuando sea posible, cada canción debe llegar con la mezcla completa original de Suno, todos sus stems sin renormalizar y el BPM confirmado. PampaPilot conserva los niveles relativos de esa mezcla: no normaliza stems individualmente ni los trata como grabaciones crudas. Primero reconstruye y compara la suma; después busca artefactos de separación, duplicados, incompatibilidad mono o problemas audibles concretos. EQ, compresión y rebalanceo sólo se aplican con una razón verificable o una intención estética indicada por el usuario.
Limpieza MIDI offline
El mismo motor admite cualquier par formado por un MIDI de interpretación y el
WAV del instrumento correspondiente. En modo generic no fija BPM, rango ni
instrumento. Los perfiles son optativos y todos los supuestos se pueden
reemplazar mediante configuración:
.\.venv-pampapilot\Scripts\python.exe .\scripts\clean_midi.py `
"C:\RUTA\instrumento.mid" "C:\RUTA\instrumento.wav" "C:\RUTA\salida"El original se preserva y se generan una variante segura, otra reconstruida y un reporte JSON auditable. La cuantización y la incorporación automática de notas faltantes están desactivadas por defecto.
El servidor MCP expone además discover_song_media, analyze_midi,
preview_midi_cleanup y clean_midi_files. Las tres primeras operaciones son
de sólo lectura; la última conserva los originales y restringe sus salidas a
sessions/. De esta manera el agente puede descubrir, explicar y previsualizar
antes de generar archivos, sin que REAPER esté abierto.
propose_track_processing analiza un stem y consulta reglas YAML versionadas
para devolver cadenas tentativas de ReaEQ/ReaComp. Nunca aplica el plan: separa
observaciones, conocimiento, parámetros y verificaciones pendientes, y exige
aprobación del usuario. En stems de Suno advierte expresamente que el audio puede
venir procesado y que no debe comprimirse ni ecualizarse por rutina.
apply_processing_proposal exige el ID exacto aprobado, vincula cada procesador
a un GUID existente o a una creación explícita y aplica toda la cadena como una
sola transacción reversible.
Preparación de canción
preview_song_preparation y prepare_song convierten una entrega de stems en
un manifiesto validado. Detectan formatos, duración, duplicados, roles, nombres
de pista y correspondencias MIDI/WAV; opcionalmente calculan métricas completas
de señal. El resultado incluye un plan de importación deliberadamente marcado
con execute: false:
.\.venv-pampapilot\Scripts\python.exe .\scripts\prepare_song.py `
"Mi Pequeño Sol" 85 --analysis-level signalEl manifiesto queda en sessions/<canción>/song-manifest.json. Para fuentes de
Suno conserva niveles relativos y nunca normaliza stems individualmente.
MIDI dentro de REAPER
import_midi e import_midi_batch crean ítems sin abrir el diálogo de
importación, no modifican el tempo y vuelven a leer cada nota desde REAPER. La
primera versión conserva notas y cambios de programa, y rechaza archivos con
otros eventos para no perder expresión silenciosamente. Las pistas quedan
muteadas por defecto y cada lote es una única transacción reversible.
La instalación local de desarrollo usa un cargador pequeño para ejecutar siempre el Lua versionado del repositorio:
.\scripts\install-reaper-bridge.ps1Para comparar un modelo local cargado en LM Studio sin modificar el proyecto:
.\scripts\test-local-codex-model.ps1 -Model "autor/modelo" -Mode smokePara iniciar o continuar el desarrollo cotidiano con un modelo local:
.\scripts\local-development.ps1Enter abre el espacio persistente local-llm/daily; no hace falta crear una
tarea ni un entorno nuevo para cada pedido cotidiano. Use N sólo para un
cambio aislado o experimental.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityBmaintenanceA Model Context Protocol server that enables AI agents to create fully mixed and mastered tracks in REAPER DAW, supporting project management, MIDI composition, audio recording, and mixing automation.Last updated58108MIT
- Alicense-qualityDmaintenanceA Model Context Protocol server that exposes REAPER digital audio workstation functionality through a clean API interface, enabling programmatic control of 169+ REAPER operations across track management, MIDI editing, effects, automation and more.Last updated68MIT
- AlicenseBqualityDmaintenanceAn MCP server that enables users to control and edit REAPER projects through a Python-based interface and a Lua bridge. It supports managing tracks, controlling transport, manipulating MIDI and audio items, and adjusting FX parameters within the digital audio workstation.Last updated57GPL 3.0
- Alicense-qualityAmaintenanceA comprehensive MCP server that enables AI assistants to control REAPER DAW for mixing, mastering, MIDI composition, and full music production workflows with 130 tools.Last updated38MIT
Related MCP Connectors
MCP server for Producer/Riffusion AI music generation
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
MCP server for AI dialogue using various LLM models via AceDataCloud
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/LeoLisena/pampa-pilot'
If you have feedback or need assistance with the MCP directory API, please join our Discord server