Skip to main content
Glama
elgatosf

Elgato MCP Server

Official
by elgatosf

Elgato MCP Server

версия npm Лицензия: MIT

Сервер Model Context Protocol (MCP), который связывает ИИ-ассистентов (например, Claude Desktop) с приложениями Elgato.

Обзор

Elgato MCP Server действует как протокольный мост между MCP-клиентами и приложениями Elgato через IPC:

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

Ключевые возможности:

  • 🔌 Динамическое обнаружение инструментов — автоматически обнаруживает и предоставляет инструменты подключенных приложений Elgato через MCP

  • 🚀 Поддержка двух транспортов — stdio (для Claude Desktop) и HTTP (для веб-клиентов)

  • 🌐 Интеграция с ngrok — опциональный публичный туннель для удаленного доступа

  • 🔄 Горячее переподключение — автоматически переподключается, когда приложения становятся доступными

  • 💻 Кроссплатформенность — поддерживает Windows и macOS

  • 📢 Пересылка уведомлений — пересылает уведомления приложений подключенным MCP-клиентам

Related MCP server: Anki AI MCP Server

Установка

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

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

Запуск без установки

Вы можете запустить Elgato MCP Server напрямую, без глобальной установки, с помощью 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

Это полезно для ознакомления с сервером без постоянной установки или для использования в средах CI/CD.

Использование

Транспорт stdio (по умолчанию)

Для интеграции с Claude Desktop или другими MCP-клиентами, использующими стандартный ввод-вывод:

elgato-mcp-server

Транспорт HTTP

Для веб-клиентов или удаленного доступа:

# 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

Параметры 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)

Логирование

Журналы записываются в stderr с меткой уровня серьезности (ERROR, WARN, INFO, DEBUG). Ошибки и предупреждения выводятся всегда; info/debug требуют --verbose.

Настройка Claude Desktop

Использование настольного расширения (рекомендуется)

Самый простой способ установки — упакованное настольное расширение (.mcpb), которое полностью автономно и работает в среде выполнения Node.js, входящей в состав Claude Desktop — не требуется ни Node.js, ни npm, ни доступ в интернет:

  1. Загрузите последний elgato_stream_deck-<version>.mcpb со страницы релизов.

  2. В Claude Desktop откройте Настройки → Расширения и перетащите файл .mcpb в окно (или дважды щелкните по файлу).

  3. Убедитесь, что приложение Stream Deck запущено — его инструменты появятся автоматически после подключения. Встроенный инструмент bridge_status сообщает состояние подключения в любой момент.

В качестве альтернативы вы можете добавить сервер в файл конфигурации Claude Desktop вручную:

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

Использование глобальной установки

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

Использование npx (без установки)

В качестве альтернативы вы можете использовать npx для запуска сервера без глобальной установки:

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

Примечание: Конфигурация на основе npx работает с Claude Desktop и другими MCP-клиентами, поддерживающими транспорт stdio. Первый запуск может занять некоторое время, пока npx загружает пакет.

HTTP-эндпоинты

При работе в режиме HTTP доступны следующие эндпоинты:

Эндпоинт

Метод

Описание

/mcp

POST

Эндпоинт запросов MCP

/mcp

GET

Server-Sent Events (SSE) для потоковой передачи

/mcp

DELETE

Закрыть сессию

/health

GET

Эндпоинт проверки состояния

Требования

  • Приложение Elgato с поддержкой MCP-плагинов (например, Stream Deck)

  • Node.js 18 или новее

  • Поддерживаемые платформы: Windows, macOS

Политика конфиденциальности

Этот сервер полностью работает на вашем компьютере и взаимодействует только с локально установленными приложениями Elgato через локальный IPC (Unix-сокеты на macOS, именованные каналы на Windows). Он не собирает, не хранит и не передает персональные данные внешним сервисам. Входные и выходные данные инструментов передаются между вашим MCP-клиентом (например, Claude Desktop) и подключенным приложением Elgato на том же компьютере; опциональный туннель ngrok устанавливается только при явном включении с помощью --ngrok.

О методах обработки данных Elgato/Corsair см. в Политике конфиденциальности Elgato.

Участие в разработке

Мы приветствуем вклад! Информацию о настройке среды разработки, правилах написания кода и процессе внесения вклада см. в CONTRIBUTING.md.

Подробную техническую документацию и информацию об архитектуре см. в TECHNICAL_SPECIFICATION.md.

Лицензия

Лицензия MIT - Copyright (c) Corsair Memory Inc.

Подробности см. в LICENSE.

Ссылки

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