Elgato MCP Server
OfficialThis server bridges MCP clients (e.g. Claude Desktop) with Elgato apps like Stream Deck, exposing their tools and status to AI assistants.
Dynamic tool discovery – automatically exposes tools from connected Elgato apps via MCP
Bridge status checking – use the
bridge_statustool to see which Elgato apps are connected and how many tools are availableDual transport support – run over stdio (for Claude Desktop) or HTTP (for web clients)
Remote access – optionally expose the server publicly via an ngrok tunnel
Hot reconnection – automatically reconnects when Elgato apps become available
Notification forwarding – forwards app notifications to connected MCP clients
HTTP endpoints –
/mcpfor MCP requests/SSE/session close and/healthfor health checksFlexible deployment – install globally, run with npx, or use a packaged desktop extension for Claude Desktop
Bridges MCP clients with Elgato apps (e.g., Stream Deck), providing dynamic tool discovery, notification forwarding, and dual transport support (stdio/HTTP) for AI assistant integration.
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., "@Elgato MCP Servershow me the current actions on my Stream Deck"
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.
Elgato MCP Server
A Model Context Protocol (MCP) server that bridges AI assistants (like Claude Desktop) with Elgato apps.
Overview
The Elgato MCP Server acts as a protocol bridge between MCP clients and Elgato apps via IPC:
MCP Client <--MCP Transport--> Bridge <--Unix Socket/Named Pipe--> Elgato AppKey Features:
🔌 Dynamic Tool Discovery — Automatically discovers and exposes tools from connected Elgato apps via MCP
🚀 Dual Transport Support — stdio (for Claude Desktop) and HTTP (for web clients)
🌐 ngrok Integration — Optional public tunnel for remote access
🔄 Hot Reconnection — Automatically reconnects when apps become available
💻 Cross-Platform — Supports Windows and macOS
📢 Notification Forwarding — Forwards app notifications to connected MCP clients
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-serverRunning without Installation
You can run the Elgato MCP Server directly without installing it globally using npx:
# 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 --verboseThis is useful for trying out the server without a permanent installation, or for use in CI/CD environments.
Usage
stdio Transport (Default)
For integration with Claude Desktop or other MCP clients using standard I/O:
elgato-mcp-serverHTTP Transport
For web-based clients or remote access:
# 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 Options
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)Logging
Logs are written to stderr with a severity label (ERROR, WARN, INFO, DEBUG). Errors and warnings always output; info/debug require --verbose.
Claude Desktop Configuration
Using the Desktop Extension (Recommended)
The easiest way to install is the packaged desktop extension (.mcpb), which is fully self-contained and runs on the Node.js runtime included with Claude Desktop — no Node.js, npm, or internet access required:
Download the latest
elgato_stream_deck-<version>.mcpbfrom the releases page.In Claude Desktop, open Settings → Extensions and drag the
.mcpbfile into the window (or double-click the file).Make sure the Stream Deck app is running — its tools appear automatically once connected. The built-in
bridge_statustool reports the connection state at any time.
Alternatively, add the server to your Claude Desktop configuration file manually:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Using Global Installation
{
"mcpServers": {
"elgato": {
"command": "elgato-mcp-server"
}
}
}Using npx (No Installation Required)
Alternatively, you can use npx to run the server without installing it globally:
{
"mcpServers": {
"elgato": {
"command": "npx",
"args": ["--yes", "@elgato/mcp-server@latest"]
}
}
}Note: The npx-based configuration works with Claude Desktop and other MCP clients that support the stdio transport. The first run may take a moment while npx downloads the package.
HTTP Endpoints
When running in HTTP mode, the following endpoints are available:
Endpoint | Method | Description |
| POST | MCP request endpoint |
| GET | Server-Sent Events (SSE) for streaming |
| DELETE | Close session |
| GET | Health check endpoint |
Requirements
Elgato app with MCP plugin support (e.g. Stream Deck)
Node.js 18 or later
Supported platforms: Windows, macOS
Privacy Policy
This server runs entirely on your machine and communicates only with locally installed Elgato apps over local IPC (Unix sockets on macOS, named pipes on Windows). It does not collect, store, or transmit personal data to external services. Tool inputs and outputs flow between your MCP client (e.g. Claude Desktop) and the connected Elgato app on the same machine; the optional ngrok tunnel is only established when explicitly enabled with --ngrok.
For Elgato/Corsair data handling practices, see the Elgato Privacy Policy.
Contributing
We welcome contributions! For development setup, coding guidelines, and the contribution process, see CONTRIBUTING.md.
For detailed technical documentation and architecture information, see TECHNICAL_SPECIFICATION.md.
License
MIT License - Copyright (c) Corsair Memory Inc.
See LICENSE for details.
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