DualStream MCP Server
DualStream MCP Server
Unser erstes Open-Source-Projekt! Der offizielle Model Context Protocol-Server für DualStream, das Streaming-Studio, das Desktop- (16:9) und Mobile-Streams (9:16) gleichzeitig aus einer einzigen Pipeline produziert.
Dieser Server ermöglicht es KI-Assistenten wie Claude, dein DualStream-Studio zu bedienen: Szenen wechseln, Instant-Replay-Clips speichern, komplette Szenenlayouts von Grund auf erstellen, deine Alerts und Widgets neu gestalten und auf das reagieren, was im Stream passiert. Alles läuft lokal auf deinem Rechner, mit deiner ausdrücklichen Zustimmung, und jede Änderung wird auf deinen Desktop- und Mobile-Canvases gerendert.
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 appWas du erfragen kannst
Sobald die Verbindung steht, sprichst du in natürlicher Sprache mit deinem Assistenten:
„Wechsle zu meiner BRB-Szene"
„Schneide die letzten 30 Sekunden als Clip"
„Erstelle eine Szene namens MAIN mit meiner Webcam unten rechts, kreisförmig beschnitten, und meinem primären Display als Vollbild dahinter"
„Erstelle mir eine Gleich-geht's-los-Szene für einen Charity-Stream in meinen Markenfarben, auf beiden Canvases"
„Gestalte meine Alerts passend zu dieser Palette neu"
„Bewege die Kamera ein Stück nach oben und gib ihr einen weichen Schatten"
Der Assistent erkennt deine tatsächliche Hardware (Kameras, Capture Cards, Displays, Fenster, Mikrofone), erstellt Layouts für die Desktop- und Mobile-Canvases unabhängig voneinander und arbeitet mit dir iterativ, bis es richtig aussieht.
Related MCP server: ATEM MCP Server
Bevor du loslegst
Du brauchst drei installierte Dinge. Jedes ist ein normaler Download-und-Installieren-Installer:
Die DualStream-Desktop-App (Windows oder macOS): das Studio, das dieser Server steuert.
Node.js: Wähle den großen grünen LTS-Button (Version 22 oder neuer). Das ist die Laufzeitumgebung, die den Server ausführt; du wirst nicht direkt mit ihr interagieren.
Einen KI-Assistenten, der MCP unterstützt, wie Claude Desktop oder die Claude CLI.
Installation
Schritt 1: Dieses Projekt auf deinen Computer holen
Klicke oben auf dieser GitHub-Seite auf den grünen Code-Button und wähle Download ZIP, dann entpacke es an einen Ort, den du dir merkst, zum Beispiel in deinen Dokumente-Ordner. (Wenn du dich mit git auskennst, funktioniert git clone auch.)
Schritt 2: Es bauen
Öffne ein Terminal im entpackten Ordner:
Windows: Öffne den Ordner im Datei-Explorer, klicke auf die Adressleiste, tippe
cmdund drücke Enter.macOS: Klicke mit der rechten Maustaste auf den Ordner und wähle Neues Terminal im Ordner (oder ziehe den Ordner auf das Terminal).
Dann führe diese beiden Befehle nacheinander aus:
npm install
npm run buildJeder gibt etwas Text aus und kehrt zur Eingabeaufforderung zurück. Das war's; der Server ist gebaut.
Schritt 3: Deinem Assistenten davon erzählen
Du brauchst den vollständigen Pfad zum Ordner aus Schritt 1. Im Windows-Datei-Explorer klickst du auf die Adressleiste und kopierst ihn (er sieht aus wie C:\Users\du\Documents\DualStreamMCP). Auf macOS klickst du mit der rechten Maustaste auf den Ordner, hältst die Option-Taste gedrückt und wählst Als Pfadname kopieren.
Claude Desktop: Öffne Einstellungen → Entwickler → Konfiguration bearbeiten und füge Folgendes hinzu (ersetze den Pfad durch deinen; unter Windows verwende doppelte Backslashes wie gezeigt):
{
"mcpServers": {
"dualstream": {
"command": "node",
"args": ["C:\\Users\\you\\Documents\\DualStreamMCP\\dist\\index.js"]
}
}
}Claude CLI: ein Befehl (ersetze den Pfad durch deinen):
claude mcp add dualstream -- node "C:\Users\you\Documents\DualStreamMCP\dist\index.js"Jeder andere MCP-Client funktioniert genauso: Führe node <Ordner>/dist/index.js als stdio-Server aus.
Schritt 4: Hallo sagen
Starte deinen Assistenten neu, stelle sicher, dass DualStream läuft, und frage: „Auf welcher Szene bin ich gerade live in DualStream?" Beim ersten Mal zeigt DualStream einen Genehmigungsdialog an; das ist das Sicherheitsmodell in Aktion (siehe unten). Genehmige es, und du bist fertig.
Erste Verbindung und Sicherheit
Die DualStream-App führt einen kleinen Steuerungsserver aus, der nur an 127.0.0.1 gebunden ist. Es ist nichts aus dem Netzwerk erreichbar, und dieser MCP-Server muss auf demselben Rechner wie die App laufen. Es gibt keine Cloud-Komponente: Die Intelligenz ist der KI-Assistent, den du verbindest, und dein Stream verlässt nie deine Kontrolle.
Das Pairing ist automatisch. Die App veröffentlicht ein Pairing-Token in ihrem Konfigurationsverzeichnis, und dieser Server nimmt es selbst auf; du musst nie ein Passwort eingeben. Wenn sich ein Assistent zum ersten Mal verbindet, zeigt DualStream einen Zustimmungsdialog an, der den Client benennt. Du wählst Erlauben, Immer erlauben oder Ablehnen. Bis du zustimmst, kann die Verbindung nichts tun. Du kannst jeden verbundenen Client sehen, jeden davon trennen und gespeicherte Genehmigungen jederzeit unter Einstellungen, Allgemein, Externe Steuerung in der App widerrufen.
Wenn du eine Verbindung ablehnst, schließt der Server sie. Wenn du das Pairing-Token in den Einstellungen der App zurücksetzt, werden alle verbundenen Clients getrennt und müssen sich erneut paaren.
Tools
Szenen und Clips
Tool | Beschreibung |
| Alle Szenen auflisten. |
| Die aktuell live Szene oder null. |
| Wechselt die Live-Ausgabe zu einer Szene, per ID oder Name. |
| Vollständiger Szenenzustand in einem Aufruf; der Resync-Anker. |
| Speichert die letzten N Sekunden als Clip-Paar (eine horizontale und eine vertikale Datei). |
| Abrufen gepufferter App-Ereignisse (Szenenwechsel, gespeicherte Clips, weitergeleitete Stream-Ereignisse) mit Sequenznummern. |
| Ob die App erreichbar ist, App-Version und der Genehmigungsstatus dieser Verbindung. |
| Blockiert, bis das nächste Ereignis eintrifft (oder gibt gepufferte sofort zurück). Die Live-Reaktions-Primitive hinter Automatisierungen. |
Szenenkomposition
Erstelle und bearbeite Szenen Quelle für Quelle. Layouts auf den Desktop- (1920x1080) und Mobile-Canvases (1080x1920) werden unabhängig gesteuert, sodass eine kleine runde Facecam auf dem Desktop eine breite quadratische Kamera auf dem Mobile sein kann.
Tool | Beschreibung |
| Kameras, Capture-Cards, Displays, Fenster und Audio-Eingänge auflisten, bereit zum Hinzufügen. |
| Neue Szene erstellen, optional mit Wechsel zu ihr. |
| Die Quellen in einer Szene mit ihrem Layout pro Canvas. |
| Kamera, Display, Fenster oder Audio-Gerät zu einer Szene hinzufügen. |
| Eine Quelle entfernen. |
| Position und Größe einer Quelle, pro Canvas. |
| Pixel von den Rändern einer Quelle abschneiden. |
| Eine Quelle zu einem Kreis, Squircle oder abgerundeten Rechteck maskieren. |
| Rahmen, Schatten, Glow oder Weichzeichner anwenden. |
| Ebenenreihenfolge ändern (nach vorne, nach hinten, nach oben, nach unten). |
Rezepte
Rezepte sind DualStreams teilbare Szenenvorlagen: ein Hintergrund plus positionierte Quellen für beide Canvases, als JSON auf der Festplatte gespeichert.
Tool | Beschreibung |
| Installierte Rezepte auflisten. |
| Live-Szene aus einem Rezept erstellen oder in eine bestehende Szene einfügen. |
| Ein brandneues Rezept aus einem Manifest erstellen und in deiner Bibliothek speichern. |
Widgets
Tool | Beschreibung |
| Aktuelle Einstellungen des Alert-Box, Chat-Box, Ziel-Trackers oder Prediction-Trackers lesen. |
| Neue Einstellungen anwenden. Lese- und Schreibvorgänge verwenden dieselbe Form, sodass ein Assistent abrufen, ändern und zurücksenden kann. |
AI Card
Tool | Beschreibung |
| Eine kurze Karte auf den Stream posten (ein Titel und eine optionale Nachricht), gerendert vom Alert-System mit dem von dir konfigurierten Stil. Der AI-Card-Alert-Typ ist standardmäßig deaktiviert; aktiviere ihn im Alert-Inspektor, um das Posten zu erlauben. |
Automatisierungen
Automatisierungen kombinieren einen Stream-Ereignis-Trigger (einen Raid, einen großen Cheer, ein Hype-Train-Ende) mit einer dauerhaften Anweisung für deinen Assistenten. Wenn ein passendes Ereignis eintritt, leitet DualStream es mit deiner Anweisung an den Assistenten weiter; der Assistent erstellt und postet die Karte. Nur Ereignisse, die einer aktivierten Automatisierung entsprechen, verlassen die App, und der Assistent hört nur zu, während du eine Sitzung offen hast. Das vollständige Dokumentformat, das Ereignisvokabular und der Ablauf für die Probe sind in contract/automations-v1.md beschrieben.
Tool | Beschreibung |
| Deine gespeicherten Automatisierungen und ihre dauerhaften Anweisungen. |
| Automatisierung erstellen oder aktualisieren; passende Ereignisse werden sofort weitergeleitet. |
| Automatisierung entfernen. |
Eine typische Live-Sitzung: Sag deinem Assistenten, dass du live gehst; er liest deine Automatisierungen und schleift dann in wait_for_event; das Warten kostet nichts, und jedes behandelte Ereignis ist ein kurzer Austausch (die Raider begrüßen, den Wal danken, die Karte posten).
Tool-Fehler sind strukturiertes JSON mit einem retryable-Flag, damit Assistenten den Unterschied zwischen „Versuche es in einer Sekunde noch einmal" (Replay-Puffer wärmt sich noch auf, Verbindung wartet auf deine Genehmigung) und „Etwas ist tatsächlich falsch" kennen.
Konfiguration
Alles funktioniert ohne Konfiguration, wenn die App und dieser Server unter demselben Benutzerkonto laufen. Diese Umgebungsvariablen existieren für ungewöhnliche Einrichtungen:
Variable | Zweck | Standard |
| Der Name, der im Zustimmungsdialog und in der Client-Liste von DualStream angezeigt wird |
|
| Fallback-Anmeldedaten, wenn die App kein Pairing-Token veröffentlicht | nicht gesetzt |
| Pfad der Discovery-Datei überschreiben | Plattform-Konfigurationsverzeichnis |
|
|
|
Discovery liest ws-control.json aus dem Konfigurationsverzeichnis der App (%APPDATA%\app.dualstream.io\ unter Windows, ~/Library/Application Support/app.dualstream.io/ unter macOS). Die App schreibt diese Datei bei jedem Start, bevor der Control-Server seine Bereitschaft meldet.
Fehlerbehebung
Tools geben app_not_running zurück. Die DualStream-App ist nicht geöffnet oder hat den Start noch nicht abgeschlossen. Starten Sie die App; der Server verbindet sich von selbst neu, sobald die App läuft.
Tools geben consent_pending zurück. Die Verbindung wartet auf Sie. Bestätigen Sie die Verbindung in der Zustimmungsaufforderung in DualStream (oder unter Einstellungen, Allgemein, Externe Steuerung).
Tools geben authentication_required oder authentication_failed zurück. Die App hat Authentifizierung aktiviert, aber dieser Server konnte das Token nicht abrufen. Stellen Sie sicher, dass die App und der Server unter demselben Benutzer ausgeführt werden. Wenn Sie kürzlich das Pairing-Token zurückgesetzt haben, übernimmt die Wiederverbindung das automatisch; ein veraltetes DUALSTREAM_CONTROL_PASSWORD in Ihrer Umgebung kann dies ebenfalls verursachen.
Sonst stimmt etwas nicht. Rufen Sie zuerst get_connection_status auf; es unterscheidet „app not running“ von Authentifizierungs-, Zustimmungs- und Protokollproblemen. Der Server protokolliert einzeiliges JSON auf stderr; setzen Sie DUALSTREAM_MCP_LOG_LEVEL=debug, um Details zu erhalten.
Designhinweise
Bewusst lokal. Die Steuerungsebene ist ausschließlich auf Loopback beschränkt. Ein gehosteter oder entfernter Connector kann sie nicht erreichen – und sollte es auch nie.
Ereignisgesteuert, keine Timer. Laufende Anfragen werden nur durch eine Serverantwort oder das Schließen des Sockets abgeschlossen, niemals durch ein Timeout auf Basis der Wanduhrzeit. Die Wiederverbindung wird durch die Überwachung der Discovery-Datei ausgelöst, die die App beim Start neu schreibt; es gibt keine Polling-Schleifen.
stdout ist der Protokollkanal. Die gesamte Protokollierung erfolgt als einzeiliges JSON auf stderr.
An den Vertrag gebunden. Antworten werden gegen den mitgelieferten Control-Vertrag validiert (siehe
contract/); eine App, die eine neuere Protokollversion spricht, schlägt lautstark mit einer Upgrade-Meldung fehl, anstatt sich stillschweigend falsch zu verhalten.Zustimmung wird serverseitig erzwungen. Das Genehmigungs-Gate befindet sich in der DualStream-App, nicht in diesem Paket; ein modifizierter Client hat nichts davon.
Das Verzeichnis contract/ enthält außerdem Authoring-Referenzen, die ein Assistent direkt verwenden kann: das Rezept-Manifest-Format, den Leitfaden zur Szenenkomposition (einschließlich Layoutmustern für das mobile Canvas), das Automationsformat und PROTOCOL.md: eine vollständige Referenz zu Methoden, Ereignissen und Fehlercodes, die aus der Vertrags-Fixture generiert wurde.
Entwicklung
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)Der Mock-Control-Server in test/ implementiert das echte Wire-Protokoll, einschließlich des Pairing-Handshakes und des Zustimmungsablaufs, mit einer unabhängigen Implementierung des Authentifizierungsalgorithmus, sodass die Testsuite den Client wirklich gegenprüft.
Über DualStream
DualStream ist ein Streaming-Studio für Creator, die gleichzeitig auf Desktop- und Mobilplattformen live gehen: eine Pipeline, zwei Canvases, jede Szene und jedes Widget nativ für beide gerendert. Laden Sie es für Windows oder macOS unter dualstream.gg herunter.
Lizenz
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