Elgato MCP Server
OfficialElgato MCP Server
Ein Model Context Protocol (MCP)-Server, der KI-Assistenten (wie Claude Desktop) mit Elgato-Apps verbindet.
Übersicht
Der Elgato MCP Server fungiert als Protokollbrücke zwischen MCP-Clients und Elgato-Apps über IPC:
MCP Client <--MCP Transport--> Bridge <--Unix Socket/Named Pipe--> Elgato AppHauptfunktionen:
🔌 Dynamische Tool-Erkennung — Erkennt und stellt Tools von verbundenen Elgato-Apps automatisch über MCP bereit
🚀 Unterstützung für zwei Transporte — stdio (für Claude Desktop) und HTTP (für Web-Clients)
🌐 ngrok-Integration — Optionaler öffentlicher Tunnel für den Fernzugriff
🔄 Automatische Wiederverbindung — Verbindet sich automatisch neu, sobald Apps verfügbar sind
💻 Plattformübergreifend — Unterstützt Windows und macOS
📢 Benachrichtigungsweiterleitung — Leitet App-Benachrichtigungen an verbundene MCP-Clients weiter
Related MCP server: Anki AI MCP Server
Installation
# Global installation (recommended)
npm install -g @elgato/mcp-server
# Or with pnpm
pnpm add -g @elgato/mcp-serverAusführen ohne Installation
Sie können den Elgato MCP Server direkt ohne globale Installation mit npx ausführen:
# Run with stdio transport (default)
npx -y @elgato/mcp-server@latest
# Run with HTTP transport
npx -y @elgato/mcp-server@latest --http
# Run with HTTP transport on a custom port
npx -y @elgato/mcp-server@latest --http --port 3000
# Run with ngrok tunnel
NGROK_AUTHTOKEN=your_token npx -y @elgato/mcp-server@latest --http --ngrok
# Run with verbose logging
npx -y @elgato/mcp-server@latest --verboseDies ist nützlich, um den Server ohne dauerhafte Installation auszuprobieren oder in CI/CD-Umgebungen zu verwenden.
Verwendung
stdio-Transport (Standard)
Für die Integration mit Claude Desktop oder anderen MCP-Clients über Standard-I/O:
elgato-mcp-serverHTTP-Transport
Für webbasierte Clients oder den Fernzugriff:
# Start HTTP server on default port (9090)
elgato-mcp-server --http
# Custom port
elgato-mcp-server --http --port 3000
# With ngrok tunnel (requires NGROK_AUTHTOKEN env var)
NGROK_AUTHTOKEN=your_token elgato-mcp-server --http --ngrokCLI-Optionen
Options:
--transport <mode> Transport mode: 'stdio' (default) or 'http'
--http Shorthand for --transport http
--port <number> HTTP server port (default: 9090)
--ngrok Enable ngrok tunnel (requires NGROK_AUTHTOKEN env var)
--help, -h Show help message
--verbose, -v Enable verbose logging (default: silent)Protokollierung
Logs werden auf stderr mit einem Schweregrad-Label (ERROR, WARN, INFO, DEBUG) ausgegeben. Fehler und Warnungen werden immer ausgegeben; Info/Debug erfordern --verbose.
Claude-Desktop-Konfiguration
Verwenden der Desktop-Erweiterung (empfohlen)
Der einfachste Weg zur Installation ist die gepackte Desktop-Erweiterung (.mcpb), die vollständig eigenständig ist und auf der in Claude Desktop enthaltenen Node.js-Laufzeitumgebung läuft — Node.js, npm oder Internetzugang sind nicht erforderlich:
Laden Sie die neueste
elgato_stream_deck-<version>.mcpbvon der Releases-Seite herunter.Öffnen Sie in Claude Desktop Einstellungen → Erweiterungen und ziehen Sie die
.mcpb-Datei in das Fenster (oder doppelklicken Sie auf die Datei).Stellen Sie sicher, dass die Stream-Deck-App ausgeführt wird — ihre Tools erscheinen automatisch, sobald die Verbindung hergestellt ist. Das integrierte
bridge_status-Tool meldet jederzeit den Verbindungsstatus.
Alternativ können Sie den Server manuell zu Ihrer Claude-Desktop-Konfigurationsdatei hinzufügen:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Verwenden der globalen Installation
{
"mcpServers": {
"elgato": {
"command": "elgato-mcp-server"
}
}
}Verwenden von npx (keine Installation erforderlich)
Alternativ können Sie npx verwenden, um den Server ohne globale Installation auszuführen:
{
"mcpServers": {
"elgato": {
"command": "npx",
"args": ["--yes", "@elgato/mcp-server@latest"]
}
}
}Hinweis: Die npx-basierte Konfiguration funktioniert mit Claude Desktop und anderen MCP-Clients, die den stdio-Transport unterstützen. Der erste Start kann einen Moment dauern, während npx das Paket herunterlädt.
HTTP-Endpunkte
Im HTTP-Modus sind die folgenden Endpunkte verfügbar:
Endpunkt | Methode | Beschreibung |
| POST | MCP-Anfrageendpunkt |
| GET | Server-Sent Events (SSE) für Streaming |
| DELETE | Sitzung schließen |
| GET | Health-Check-Endpunkt |
Anforderungen
Elgato-App mit MCP-Plugin-Unterstützung (z. B. Stream Deck)
Node.js 18 oder höher
Unterstützte Plattformen: Windows, macOS
Datenschutzerklärung
Dieser Server läuft vollständig auf Ihrem Rechner und kommuniziert nur mit lokal installierten Elgato-Apps über lokales IPC (Unix-Sockets auf macOS, Named Pipes auf Windows). Er erfasst, speichert oder überträgt keine personenbezogenen Daten an externe Dienste. Tool-Eingaben und -Ausgaben fließen zwischen Ihrem MCP-Client (z. B. Claude Desktop) und der verbundenen Elgato-App auf demselben Rechner; der optionale ngrok-Tunnel wird nur eingerichtet, wenn er explizit mit --ngrok aktiviert wird.
Informationen zur Datenverarbeitung von Elgato/Corsair finden Sie in der Elgato-Datenschutzerklärung.
Mitwirken
Wir freuen uns über Beiträge! Informationen zur Entwicklungsumgebung, zu Codierungsrichtlinien und zum Beitragsprozess finden Sie in CONTRIBUTING.md.
Detaillierte technische Dokumentation und Architekturinformationen finden Sie in TECHNICAL_SPECIFICATION.md.
Lizenz
MIT-Lizenz - Copyright (c) Corsair Memory Inc.
Einzelheiten finden Sie in LICENSE.
Links
Available Tools
1 toolbridge_statusElgato Bridge StatusARead-only
Reports which Elgato apps (e.g. Stream Deck) are currently connected to the bridge and how many of their tools are available. Use this to check whether the Stream Deck app is reachable when expected tools are missing.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation readOnlyHint: true already signals that this is a safe read operation. The description adds context beyond that by stating exactly what data is reported (connected apps and tool availability), which helps the agent understand the output even without an output schema. No contradiction exists between description and annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler. The first sentence states the core function, and the second provides actionable usage context. Information is front-loaded, and every word contributes. This is an exemplary level of conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, no-output-schema tool, the description covers both purpose and usage scenario adequately. It tells the agent what to expect from the report (connected apps, tool counts) and when to use it. There are no hidden requirements or side effects implied, so the description is complete for safe invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the baseline is 4. The description adds value by indicating what the tool reports, which is effectively the result of no inputs. Since there is no schema to describe, the description compensates by explaining the tool's behavior, which is helpful for the agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Reports') and resource ('Elgato apps connected to the bridge') and immediately clarifies the output ('how many of their tools are available'). It also gives an example app (Stream Deck), making the purpose unambiguous. With no sibling tools, differentiation is not needed, but the description still fully describes what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The second sentence provides a clear use case: 'Use this to check whether the Stream Deck app is reachable when expected tools are missing.' This tells the agent when to invoke the tool. Since there are no sibling tools, there is no need to specify exclusions or alternatives, so only a slight deduction for not covering broader conditions (e.g., what to do if the bridge itself is down).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
1 tool update
v0.1.5- Added
bridge_status
TDQS
With only one tool, there is no possibility of confusion or overlap. The single tool has a clear, distinct purpose.
A single tool named 'bridge_status' follows a clear noun-based naming convention. While there is no pattern to compare, the name is descriptive and internally consistent.
The server exposes only one tool, which feels thin for an Elgato MCP server. It's borderline acceptable for a minimal diagnostic utility, but lacks the breadth expected of a full-featured integration.
The tool only checks bridge status, implying the existence of other tools that are missing. For an Elgato server, this is severely incomplete—no device control, app management, or other operational tools are present, leaving the domain mostly uncovered.
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 Connectors
Let ChatGPT, Claude & Cursor use your Mac: email, calendar, iMessage, Teams, files. Local, free.
Zero-setup MCP gateway securely connecting AI to your tools with authentication and workflows
Turns a phone into a camera+Bluetooth remote so AI assistants can see and control any PC.
Automate 1,000+ services from any MCP-compatible AI agent: build Applets, run actions and queries.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceBridges AI assistants to Linux D-Bus for system interaction, enabling clipboard, notifications, screenshots, and service discovery with configurable security levels.4MIT
- AlicenseNot gradedqualityBmaintenanceBridge between AI assistants and Anki Desktop, enabling automated flashcard management and study document processing.153MIT
- AlicenseCqualityBmaintenanceBridges browser-based AI assistants with coding agents like Claude Code and Cursor via MCP, enabling chat relay, browser automation, and skill installation.362MIT
- FlicenseNot gradedqualityCmaintenanceEnables AI agents to discover and interact with iOS apps through a local MCP gateway, converting remote Streamable HTTP MCP endpoints into stdio tools. Provides dynamic device discovery, tool schema introspection, and deterministic tool calling for app analysis.-
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/elgatosf/elgato-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server