DualStream MCP Server
Servidor MCP de DualStream
¡Nuestro primer proyecto de código abierto! El servidor oficial de Model Context Protocol para DualStream, el estudio de streaming que produce transmisiones de escritorio (16:9) y móvil (9:16) simultáneamente desde un solo pipeline.
Este servidor permite que asistentes de IA como Claude operen tu estudio DualStream: cambiar de escena, guardar clips de repetición instantánea, construir diseños de escena completos desde cero, rediseñar tus alertas y widgets, y reaccionar a lo que sucede en la transmisión. Todo se ejecuta localmente en tu máquina, con tu aprobación explícita, y cada cambio se renderiza tanto en tu lienzo de escritorio como en el móvil.
AI assistant (Claude Code, Claude Desktop, or any MCP client)
| MCP over stdio
v
DualStream MCP server (this package)
| JSON-RPC over WebSocket, 127.0.0.1 only
v
DualStream desktop appLo que puedes pedir
Una vez conectado, hablas con tu asistente en lenguaje natural:
"Cambia a mi escena BRB"
"Recorta los últimos 30 segundos"
"Crea una escena llamada MAIN con mi cámara web en la esquina inferior derecha, recortada en círculo, y mi pantalla principal a pantalla completa detrás"
"Hazme una escena de 'empezando pronto' para una transmisión benéfica con mis colores de marca, en ambos lienzos"
"Rediseña mis alertas para que coincidan con esta paleta"
"Sube un poco la cámara y dale una sombra suave"
El asistente descubre tu hardware real (cámaras, pantallas, ventanas, micrófonos), compone diseños para los lienzos de escritorio y móvil de forma independiente, e itera contigo hasta que se vea bien.
Related MCP server: ATEM MCP Server
Antes de empezar
Necesitas tres cosas instaladas. Cada una es un instalador normal de descargar y ejecutar:
La aplicación de escritorio DualStream (Windows o macOS): el estudio que controla este servidor.
Node.js: elige el botón verde grande de LTS (versión 22 o superior). Este es el runtime que ejecuta el servidor; no interactuarás con él directamente.
Un asistente de IA que admita MCP, como Claude Desktop o la CLI de Claude.
Instalación
Paso 1: Descarga este proyecto en tu computadora
Haz clic en el botón verde Code en la parte superior de esta página de GitHub y elige Download ZIP, luego descomprímelo en un lugar que recuerdes, por ejemplo tu carpeta de Documentos. (Si te sientes cómodo con git, git clone también funciona.)
Paso 2: Compilarlo
Abre una terminal en la carpeta descomprimida:
Windows: abre la carpeta en el Explorador de archivos, haz clic en la barra de direcciones, escribe
cmdy presiona Enter.macOS: haz clic derecho en la carpeta y elige Nueva terminal en la carpeta (o arrastra la carpeta a Terminal).
Luego ejecuta estos dos comandos, uno después del otro:
npm install
npm run buildCada uno imprime algo de texto y vuelve al prompt. Eso es todo; el servidor está compilado.
Paso 3: Informa a tu asistente
Necesitas la ruta completa a la carpeta del Paso 1. En el Explorador de archivos de Windows, haz clic en la barra de direcciones y cópiala (se ve como C:\Users\you\Documents\DualStreamMCP). En macOS, haz clic derecho en la carpeta, mantén presionada la tecla Opción y elige Copiar como nombre de ruta.
Claude Desktop: abre Configuración → Desarrollador → Editar configuración y agrega esto (reemplaza la ruta con la tuya; en Windows, usa dobles barras invertidas como se muestra):
{
"mcpServers": {
"dualstream": {
"command": "node",
"args": ["C:\\Users\\you\\Documents\\DualStreamMCP\\dist\\index.js"]
}
}
}CLI de Claude: un comando (reemplaza la ruta con la tuya):
claude mcp add dualstream -- node "C:\Users\you\Documents\DualStreamMCP\dist\index.js"Cualquier otro cliente MCP funciona de la misma manera: ejecuta node <carpeta>/dist/index.js como servidor stdio.
Paso 4: Saluda
Reinicia tu asistente, asegúrate de que DualStream esté en ejecución y pregunta: "¿En qué escena estoy en vivo en DualStream?" La primera vez, DualStream mostrará un aviso de aprobación; eso es el modelo de seguridad funcionando (ver más abajo). Apruébalo y listo.
Primera conexión y seguridad
La aplicación DualStream ejecuta un pequeño servidor de control vinculado solo a 127.0.0.1. Nada es accesible desde la red, y este servidor MCP debe ejecutarse en la misma máquina que la aplicación. No hay componente en la nube: la inteligencia es la del asistente de IA que conectes, y tu transmisión nunca sale de tu control.
El emparejamiento es automático. La aplicación publica un token de emparejamiento en su directorio de configuración, y este servidor lo recoge por sí solo; nunca escribes una contraseña. La primera vez que un asistente se conecta, DualStream muestra un aviso de consentimiento que nombra al cliente. Puedes elegir Permitir, Permitir siempre o Denegar. Hasta que apruebes, la conexión no puede hacer nada. Puedes ver cada cliente conectado, desconectar cualquiera de ellos y revocar aprobaciones recordadas en cualquier momento en Configuración, General, Control externo de la aplicación.
Si deniegas una conexión, el servidor la cierra. Si restableces el token de emparejamiento en la configuración de la aplicación, todos los clientes conectados se desconectan y deben volver a emparejarse.
Herramientas
Escenas y clips
Tool | Descripción |
| Lista todas las escenas. |
| La escena actualmente en vivo, o null. |
| Cambia la salida en vivo a una escena, por id o nombre. |
| Estado completo de la escena en una sola llamada; el ancla de resincronización. |
| Guarda los últimos N segundos como un par de clips (un archivo horizontal y uno vertical). |
| Consulta eventos de la aplicación almacenados en búfer (cambios de escena, clips guardados, eventos de transmisión retransmitidos) con números de secuencia. |
| Si la aplicación es accesible, versión de la aplicación y estado de aprobación de esta conexión. |
| Bloquea hasta que llegue el próximo evento (o devuelve los almacenados en búfer inmediatamente). La primitiva de reacción en vivo detrás de las automatizaciones. |
Composición de escenas
Construye y edita escenas fuente por fuente. Los diseños en los lienzos de escritorio (1920x1080) y móvil (1080x1920) se controlan de forma independiente, por lo que una pequeña cámara facial redonda en el escritorio puede ser una cámara cuadrada de ancho completo en el móvil.
Tool | Descripción |
| Enumera cámaras, tarjetas de captura, pantallas, ventanas y entradas de audio, listas para agregar. |
| Crea una nueva escena, opcionalmente cambiando a ella. |
| Las fuentes en una escena con su diseño por lienzo. |
| Agrega una cámara, pantalla, ventana o dispositivo de audio a una escena. |
| Elimina una fuente. |
| Posiciona y dimensiona una fuente, por lienzo. |
| Recorta píxeles de los bordes de una fuente. |
| Enmascara una fuente a un círculo, squircle o rectángulo redondeado. |
| Aplica borde, sombra, resplandor o desenfoque. |
| Cambia el orden de capas (adelante, atrás, arriba, abajo). |
Recetas
Las recetas son plantillas de escena compartibles de DualStream: un fondo más fuentes posicionadas para ambos lienzos, guardadas como JSON en disco.
Tool | Descripción |
| Lista las recetas instaladas. |
| Construye una escena en vivo a partir de una receta, o aplica una en una escena existente. |
| Crea una receta completamente nueva a partir de un manifiesto y guárdala en tu biblioteca. |
Widgets
Tool | Descripción |
| Lee la configuración actual del cuadro de alertas, cuadro de chat, rastreador de objetivos o rastreador de predicciones. |
| Aplica nueva configuración. Las lecturas y escrituras usan la misma forma, por lo que un asistente puede obtener, modificar y enviar de vuelta. |
Tarjeta de IA
Tool | Descripción |
| Publica una tarjeta corta en la transmisión (un título y un mensaje opcional), renderizada por el sistema de alertas con el estilo que configuraste. El tipo de alerta de Tarjeta de IA está desactivado por defecto; actívalo en el inspector de alertas para permitir la publicación. |
Automatizaciones
Las automatizaciones emparejan un disparador de evento de transmisión (una incursión, un gran aplauso, el final de un hype train) con una instrucción permanente para tu asistente. Cuando ocurre un evento que coincide, DualStream lo retransmite al asistente con tu instrucción adjunta; el asistente compone y publica la tarjeta. Solo los eventos que coinciden con una automatización habilitada salen de la aplicación, y el asistente solo escucha mientras tienes una sesión abierta. El formato completo del documento, el vocabulario de eventos y el flujo de ensayo están en contract/automations-v1.md.
Tool | Descripción |
| Tus automatizaciones almacenadas y sus instrucciones permanentes. |
| Crea o actualiza una automatización; los eventos que coinciden comienzan a retransmitirse inmediatamente. |
| Elimina una automatización. |
Una sesión en vivo típica: dile a tu asistente que vas a salir en vivo; lee tus automatizaciones, luego se repite en wait_for_event; esperar no cuesta nada, y cada evento manejado es un intercambio corto (da la bienvenida a los invasores, agradece a la ballena, publica la tarjeta).
Los errores de las herramientas son JSON estructurado con una bandera retryable, para que los asistentes sepan la diferencia entre "inténtalo de nuevo en un segundo" (el búfer de repetición aún se está calentando, la conexión espera tu aprobación) y "algo está realmente mal".
Configuración
Todo funciona con cero configuración cuando la aplicación y este servidor se ejecutan bajo la misma cuenta de usuario. Estas variables de entorno existen para configuraciones inusuales:
Variable | Propósito | Valor por defecto |
| El nombre que se muestra en el aviso de consentimiento y la lista de clientes de DualStream |
|
| Credencial de respaldo si la aplicación no publica un token de emparejamiento | sin definir |
| Anula la ruta del archivo de descubrimiento | directorio de configuración de la plataforma |
|
|
|
El descubrimiento lee ws-control.json del directorio de configuración de la aplicación (%APPDATA%\app.dualstream.io\ en Windows, ~/Library/Application Support/app.dualstream.io/ en macOS). La aplicación escribe este archivo en cada inicio, antes de que el servidor de control informe que está listo.
Solución de problemas
Las herramientas devuelven app_not_running. La aplicación DualStream no está abierta o no ha terminado de iniciarse. Ábrela; el servidor se reconecta solo en cuanto la aplicación está activa.
Las herramientas devuelven consent_pending. La conexión está esperando tu aprobación. Apruébala en el aviso de consentimiento dentro de DualStream (o en Configuración, General, Control externo).
Las herramientas devuelven authentication_required o authentication_failed. La aplicación tiene la autenticación habilitada, pero este servidor no pudo obtener el token. Asegúrate de que la aplicación y el servidor se ejecuten como el mismo usuario. Si restableciste recientemente el token de emparejamiento, la reconexión lo maneja automáticamente; un DUALSTREAM_CONTROL_PASSWORD obsoleto en tu entorno también puede causar esto.
Algo más falla. Llama primero a get_connection_status; distingue entre "aplicación no en ejecución" y problemas de autenticación, consentimiento y protocolo. El servidor registra JSON de una sola línea en stderr; establece DUALSTREAM_MCP_LOG_LEVEL=debug para obtener detalles.
Notas de diseño
Local por diseño. El plano de control es solo de loopback. Un conector alojado o remoto no puede alcanzarlo, y nunca debería.
Basado en eventos, sin temporizadores. Las solicitudes en curso se resuelven solo con una respuesta del servidor o el cierre del socket, nunca con un timeout de reloj. La reconexión se activa observando el archivo de descubrimiento que la aplicación reescribe al iniciar; no hay bucles de sondeo.
stdout es el canal de protocolo. Todo el registro va a stderr como JSON de una sola línea.
Anclado al contrato. Las respuestas se validan contra el contrato de control incluido (consulta
contract/); una aplicación que hable una versión más reciente del protocolo falla de forma visible con un mensaje de actualización en lugar de comportarse mal silenciosamente.El consentimiento se aplica en el servidor. La puerta de aprobación vive en la aplicación DualStream, no en este paquete; un cliente modificado no gana nada.
El directorio contract/ también contiene referencias de autoría que un asistente puede usar directamente: el formato de manifiesto de recetas, la guía de composición de escenas (incluidos los patrones de diseño para el lienzo móvil), el formato de automatizaciones y PROTOCOL.md: una referencia completa de métodos, eventos y códigos de error generada a partir del fixture del contrato.
Desarrollo
npm run typecheck # strict TypeScript over src and tests
npm test # unit + full MCP round-trips against a wire-faithful mock of the app
npm run build # emit dist/
npm run smoke # live end-to-end against a running DualStream app
# (switches a scene and back, saves one 10-second clip pair)El servidor de control simulado en test/ implementa el protocolo de cable real, incluido el protocolo de enlace de emparejamiento y el flujo de consentimiento, con una implementación independiente del algoritmo de autenticación, por lo que el conjunto de pruebas realmente verifica de forma cruzada al cliente.
Acerca de DualStream
DualStream es un estudio de streaming para creadores que transmiten en vivo en plataformas de escritorio y móviles al mismo tiempo: una canalización, dos lienzos, cada escena y widget renderizado de forma nativa para ambas. Descárgalo para Windows o macOS en dualstream.gg.
Licencia
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
- AlicenseAqualityFmaintenanceEnables management of multi-platform streaming through the Restream API, allowing control of streaming channels, stream settings, and access to analytics across platforms like YouTube, Twitch, and Facebook through natural language.9121MIT
- AlicenseAqualityDmaintenanceEnables natural language control of Blackmagic ATEM video switchers via the Model Context Protocol. It allows users to manage camera switching, transitions, audio mixing, macros, and streaming operations through AI assistants.325MIT

WAVE MCP Serverofficial
AlicenseBqualityBmaintenanceExposes WAVE streaming APIs as tools for AI assistants to manage live streams, studio productions, and real-time analytics. It enables users to control stream lifecycles, monitor health metrics, and access billing usage through the Model Context Protocol.182041Apache 2.0- FlicenseAqualityCmaintenanceEnables AI agents to read, control, and orchestrate Singular.live live broadcast graphics compositions, including filling control nodes, animating sub-compositions, and running a newsroom rundown-to-graphics workflow.25
Related MCP Connectors
Manage SRG+ hubs, channels, content, assets, users, and workspaces from any MCP-aware AI agent.
Create, test, publish, and manage Dreamlit notification workflows from AI clients.
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
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/DualStream/DualStreamMCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server