ProPresenter 7 MCP Server

Servidor MCP de ProPresenter 7

Documentación

propresenter-mcp

Un servidor integral del Protocolo de Contexto de Modelo (MCP) que proporciona control completo sobre presentaciones de ProPresenter a través de la API de ProPresenter. Este servidor implementa la especificación completa de la API de ProPresenter con 231 endpoints organizados en 27 grupos de API y expuestos a través de clases de cliente modulares.

Registro Oficial de MCP

Requisitos Previos

  • Node.js 18 o superior
  • ProPresenter 7 con API habilitada
  • ProPresenter en ejecución y accesible en tu red

Instalación

  1. Clona este repositorio o descarga el código fuente

  2. Instala las dependencias:

npm install
  1. Compila el proyecto:
npm run build

Configuración

El servidor se conecta a ProPresenter usando variables de entorno:

  • PROPRESENTER_URL - La URL de tu instancia de ProPresenter (predeterminado: http://localhost:50000)
  • PROPRESENTER_PASSWORD - La contraseña de la API (si está configurada en ProPresenter)

Configuración de ProPresenter

  1. Abre las preferencias de ProPresenter
  2. Ve a la pestaña Red
  3. Habilita "Red" y anota el número de puerto (predeterminado: 50000)
  4. Opcionalmente, establece una contraseña para el acceso a la API

Uso

Con Claude Desktop

Agrega esto a tu archivo de configuración de Claude Desktop:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "propresenter": {
      "command": "node",
      "args": ["/absolute/path/to/propresenter-mcp/build/index.js"],
      "env": {
        "PROPRESENTER_URL": "http://localhost:50000",
        "PROPRESENTER_PASSWORD": "your-password-if-needed"
      }
    }
  }
}

Reemplaza /absolute/path/to/propresenter-mcp con la ruta real a este proyecto.

Con VS Code

Este servidor se puede depurar directamente en VS Code usando la configuración de MCP incluida.

  1. Abre este proyecto en VS Code
  2. El servidor se configura automáticamente para depuración mediante .vscode/mcp.json
  3. Usa la extensión de MCP para probar y depurar el servidor

Comandos de Ejemplo

Una vez conectado, puedes pedirle a Claude que controle ProPresenter:

Estado e Información:

  • "¿Qué versión de ProPresenter está en ejecución?"
  • "Muéstrame el estado de todas las pantallas"
  • "¿Cuál es el estado de las pantallas de audiencia?"
  • "Obtén la información de la diapositiva actual"

Presentaciones:

  • "¿Qué presentación está activa actualmente?"
  • "Activa la presentación con UUID [uuid]"
  • "Ve a la siguiente diapositiva"
  • "Ve a la diapositiva número 5"
  • "Reproduce la línea de tiempo de la presentación"
  • "Muéstrame el gráfico de acordes"
  • "Obtén una miniatura de la diapositiva 3"

Anuncios:

  • "¿Qué anuncio está activo actualmente?"
  • "Activa la siguiente señal de anuncio"
  • "Muéstrame el estado de la línea de tiempo de anuncios"
  • "Ve a la señal de anuncio 2"

Audio y Medios:

  • "Lista todas las listas de reproducción de audio"
  • "Muéstrame el contenido de la lista de reproducción de audio [id]"
  • "Reproduce la siguiente canción en la lista de reproducción activa"
  • "Activa la lista de reproducción de audio enfocada"
  • "Lista todas las listas de reproducción de medios"
  • "Activa el elemento de medios [id] en la lista de reproducción [playlist_id]"

Listas de Reproducción:

  • "Lista todas las listas de reproducción de presentaciones"
  • "Muéstrame la lista de reproducción activa"
  • "Enfoca la siguiente lista de reproducción"
  • "Activa el primer elemento en la lista de reproducción enfocada"
  • "Crea una nueva lista de reproducción llamada 'Servicio Dominical'"

Captura:

  • "¿Cuál es el estado actual de captura?"
  • "Inicia la grabación"
  • "Detén la captura"
  • "Muéstrame las codificaciones de captura disponibles para RTMP"

Borrar:

  • "Borra la capa de anuncios"
  • "Muéstrame todos los grupos de borrado"
  • "Activa el grupo de borrado [id]"
  • "Crea un nuevo grupo de borrado"

Biblioteca:

  • "Lista todas mis bibliotecas"
  • "Muestra presentaciones en la biblioteca [id]"
  • "Activa la presentación [id] de la biblioteca [library_id]"

Apariencias:

  • "Muéstrame todas las apariencias configuradas"
  • "¿Qué apariencia está activa actualmente?"
  • "Cambia a la apariencia [id]"
  • "Crea una nueva apariencia"

Macros:

  • "Lista todos los macros"
  • "Activa el macro [id]"
  • "Muéstrame todas las colecciones de macros"
  • "Crea un nuevo macro"

Accesorios:

  • "Lista todos los accesorios"
  • "Activa el accesorio [id]"
  • "Borra el accesorio [id]"
  • "Pausa el borrado automático del accesorio [id]"
  • "Lista todas las colecciones de accesorios"

Escenario:

  • "Muéstrame el mensaje de escenario actual"
  • "Muestra el mensaje de escenario [message]"
  • "Oculta el mensaje de escenario"
  • "Lista todos los diseños de escenario"
  • "Establece el diseño de escenario [layout_id] para la pantalla [screen_id]"

Mensajes:

  • "Muéstrame todos los mensajes"
  • "Muestra el mensaje [id]"
  • "Oculta el mensaje [id]"
  • "Crea un nuevo mensaje"

Temporizadores:

  • "Lista todos los temporizadores"
  • "Inicia el temporizador [id]"
  • "Detén el temporizador [id]"
  • "Reinicia el temporizador de sermón"
  • "Crea un temporizador de cuenta regresiva"
  • "Obtén la hora actual del sistema"

Temas:

  • "Lista todos los temas"
  • "Muéstrame los detalles del tema [id]"
  • "Obtén la diapositiva del tema [slide_id] del tema [theme_id]"

Transporte:

  • "Reproduce la capa de presentación"
  • "Pausa la capa de audio"
  • "Avanza 30 segundos en la capa de anuncios"
  • "Ve al final de la presentación"
  • "Obtén el tiempo de reproducción actual"

Máscaras:

  • "Lista todas las máscaras"
  • "Muéstrame los detalles de la máscara [id]"

Disparadores:

  • "Activa la siguiente señal"
  • "Activa el elemento de medios anterior"

Desarrollo

Compilación

npm run build

Modo de Observación

npm run watch

Referencia de la API

Este servidor implementa la API completa de ProPresenter documentada en https://openapi.propresenter.com/

Cobertura de la API

  • Total de Endpoints: 231 endpoints de API REST
  • Grupos de API: 27 grupos funcionales
  • Módulos de Cliente: 18 clases de cliente TypeScript
  • Definiciones de Herramientas: 18 módulos de herramientas MCP
  • Módulos de Manejadores: 18 módulos de manejadores de solicitudes
  • Métodos HTTP: Soporte completo para operaciones GET, POST, PUT, DELETE
  • Arquitectura: Implementación completa de tres capas (clientes → herramientas → manejadores)

Consulta api/api.md para la documentación completa de la API con los 231 endpoints organizados por grupo.

Solución de Problemas

Problemas de Conexión:

  • Verifica que ProPresenter esté en ejecución y la API esté habilitada
  • Comprueba que la URL y el puerto sean correctos
  • Asegúrate de que ningún firewall esté bloqueando la conexión
  • Verifica la contraseña si la autenticación está habilitada

El Servidor No Se Inicia:

  • Asegúrate de haber compilado el proyecto con npm run build
  • Comprueba que Node.js 18+ esté instalado
  • Verifica que todas las dependencias estén instaladas con npm install