@elgato/mcp-server
v0.1.1
Published
A Model Context Protocol (MCP) server that bridges AI assistants with Elgato apps.
Maintainers
Readme
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
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
Add the following to your Claude Desktop configuration file:
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 |
| --------- | ------ | -------------------------------------- |
| /mcp | POST | MCP request endpoint |
| /mcp | GET | Server-Sent Events (SSE) for streaming |
| /mcp | DELETE | Close session |
| /health | GET | Health check endpoint |
Requirements
- Elgato app with MCP plugin support (e.g. Stream Deck)
- Node.js 18 or later
- Supported platforms: Windows, macOS
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.
