Skip to main content
Glama
elgatosf

Elgato MCP Server

Official
by elgatosf

Elgato MCP Server

npm version License: MIT

Un servidor de Model Context Protocol (MCP) que conecta asistentes de IA (como Claude Desktop) con las aplicaciones de Elgato.

Descripción general

El servidor Elgato MCP actúa como puente de protocolo entre los clientes MCP y las aplicaciones de Elgato a través de IPC:

MCP Client <--MCP Transport--> Bridge <--Unix Socket/Named Pipe--> Elgato App

Características principales:

  • 🔌 Descubrimiento dinámico de herramientas — Descubre y expone automáticamente las herramientas de las aplicaciones de Elgato conectadas a través de MCP

  • 🚀 Compatibilidad con doble transporte — stdio (para Claude Desktop) y HTTP (para clientes web)

  • 🌐 Integración con ngrok — Túnel público opcional para acceso remoto

  • 🔄 Reconexión en caliente — Se reconecta automáticamente cuando las aplicaciones están disponibles

  • 💻 Multiplataforma — Compatible con Windows y macOS

  • 📢 Reenvío de notificaciones — Reenvía las notificaciones de las aplicaciones a los clientes MCP conectados

Related MCP server: Anki AI MCP Server

Instalación

# Global installation (recommended)
npm install -g @elgato/mcp-server

# Or with pnpm
pnpm add -g @elgato/mcp-server

Ejecución sin instalación

Puedes ejecutar el servidor Elgato MCP directamente sin instalarlo globalmente usando 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 --verbose

Esto es útil para probar el servidor sin una instalación permanente, o para usarlo en entornos de CI/CD.

Uso

Transporte stdio (predeterminado)

Para la integración con Claude Desktop u otros clientes MCP que usen E/S estándar:

elgato-mcp-server

Transporte HTTP

Para clientes web o acceso remoto:

# 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 --ngrok

Opciones de CLI

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)

Registro

Los registros se escriben en stderr con una etiqueta de severidad (ERROR, WARN, INFO, DEBUG). Los errores y las advertencias siempre se muestran; info/debug requieren --verbose.

Configuración de Claude Desktop

Uso de la extensión de escritorio (recomendado)

La forma más sencilla de instalarlo es mediante la extensión de escritorio empaquetada (.mcpb), que es totalmente autónoma y se ejecuta en el entorno de ejecución de Node.js incluido con Claude Desktop — no se requieren Node.js, npm ni acceso a internet:

  1. Descarga la versión más reciente de elgato_stream_deck-<version>.mcpb desde la página de versiones.

  2. En Claude Desktop, abre Configuración → Extensiones y arrastra el archivo .mcpb a la ventana (o haz doble clic en el archivo).

  3. Asegúrate de que la aplicación Stream Deck esté en ejecución — sus herramientas aparecen automáticamente una vez conectada. La herramienta integrada bridge_status informa del estado de la conexión en cualquier momento.

Alternativamente, añade el servidor a tu archivo de configuración de Claude Desktop manualmente:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

Uso de la instalación global

{
    "mcpServers": {
        "elgato": {
            "command": "elgato-mcp-server"
        }
    }
}

Uso de npx (sin necesidad de instalación)

Alternativamente, puedes usar npx para ejecutar el servidor sin instalarlo globalmente:

{
    "mcpServers": {
        "elgato": {
            "command": "npx",
            "args": ["--yes", "@elgato/mcp-server@latest"]
        }
    }
}

Nota: La configuración basada en npx funciona con Claude Desktop y otros clientes MCP compatibles con el transporte stdio. La primera ejecución puede tardar un momento mientras npx descarga el paquete.

Endpoints HTTP

Cuando se ejecuta en modo HTTP, los siguientes endpoints están disponibles:

Endpoint

Método

Descripción

/mcp

POST

Endpoint de solicitudes MCP

/mcp

GET

Server-Sent Events (SSE) para streaming

/mcp

DELETE

Cerrar sesión

/health

GET

Endpoint de comprobación de estado

Requisitos

  • Aplicación de Elgato compatible con plugins MCP (p. ej., Stream Deck)

  • Node.js 18 o posterior

  • Plataformas compatibles: Windows, macOS

Política de privacidad

Este servidor se ejecuta íntegramente en tu máquina y solo se comunica con las aplicaciones de Elgato instaladas localmente a través de IPC local (sockets Unix en macOS, named pipes en Windows). No recopila, almacena ni transmite datos personales a servicios externos. Las entradas y salidas de las herramientas fluyen entre tu cliente MCP (p. ej., Claude Desktop) y la aplicación de Elgato conectada en la misma máquina; el túnel opcional de ngrok solo se establece cuando se habilita explícitamente con --ngrok.

Para conocer las prácticas de tratamiento de datos de Elgato/Corsair, consulta la Política de privacidad de Elgato.

Contribuciones

¡Damos la bienvenida a las contribuciones! Para la configuración del entorno de desarrollo, las pautas de codificación y el proceso de contribución, consulta CONTRIBUTING.md.

Para documentación técnica detallada e información sobre la arquitectura, consulta TECHNICAL_SPECIFICATION.md.

Licencia

Licencia MIT - Copyright (c) Corsair Memory Inc.

Consulta LICENSE para más detalles.

Enlaces

Available Tools

1 tool
bridge_statusElgato Bridge StatusA
Read-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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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. 1 tool updatev0.1.5
    • Addedbridge_status

TDQS

A4.2/5.0
Disambiguation5/5

With only one tool, there is no possibility of confusion or overlap. The single tool has a clear, distinct purpose.

Naming Consistency5/5

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.

Tool Count3/5

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.

Completeness1/5

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

ActivityMaintained
ResponsivenessNo issues

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

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Bridges AI assistants to Linux D-Bus for system interaction, enabling clipboard, notifications, screenshots, and service discovery with configurable security levels.
    4
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables 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

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