Skip to main content
Glama
elgatosf

Elgato MCP Server

Official
by elgatosf

Elgato MCP Server

npm version License: MIT

AI 어시스턴트(예: Claude Desktop)와 Elgato 앱을 연결하는 Model Context Protocol (MCP) 서버입니다.

개요

Elgato MCP Server는 IPC를 통해 MCP 클라이언트와 Elgato 앱 간의 프로토콜 브리지 역할을 합니다:

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

설치 없이 실행

npx를 사용하면 Elgato MCP Server를 전역으로 설치하지 않고 직접 실행할 수 있습니다:

# 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 전송(기본)

표준 I/O를 사용하는 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)

로깅

로그는 심각도 레이블(ERROR, WARN, INFO, DEBUG)과 함께 stderr로 기록됩니다. 오류와 경고는 항상 출력되며, info/debug는 --verbose가 필요합니다.

Claude Desktop 구성

데스크톱 확장 프로그램 사용(권장)

가장 쉬운 설치 방법은 패키지된 데스크톱 확장 프로그램(.mcpb)을 사용하는 것입니다. 이 확장 프로그램은 완전히 자체 포함되어 있으며 Claude Desktop에 포함된 Node.js 런타임에서 실행되므로 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 및 stdio 전송을 지원하는 기타 MCP 클라이언트에서 작동합니다. npx가 패키지를 다운로드하는 동안 첫 실행은 잠시 걸릴 수 있습니다.

HTTP 엔드포인트

HTTP 모드로 실행하면 다음 엔드포인트를 사용할 수 있습니다:

엔드포인트

메서드

설명

/mcp

POST

MCP 요청 엔드포인트

/mcp

GET

스트리밍용 Server-Sent Events (SSE)

/mcp

DELETE

세션 종료

/health

GET

헬스 체크 엔드포인트

요구 사항

  • MCP 플러그인을 지원하는 Elgato 앱(예: Stream Deck)

  • Node.js 18 이상

  • 지원 플랫폼: Windows, macOS

개인정보 처리방침

이 서버는 전적으로 사용자의 컴퓨터에서 실행되며 로컬 IPC(macOS에서는 Unix 소켓, Windows에서는 명명된 파이프)를 통해서만 로컬에 설치된 Elgato 앱과 통신합니다. 개인 데이터를 수집, 저장 또는 외부 서비스로 전송하지 않습니다. 도구 입력과 출력은 동일한 컴퓨터에서 MCP 클라이언트(예: Claude Desktop)와 연결된 Elgato 앱 간에 흐릅니다. 선택적 ngrok 터널은 --ngrok로 명시적으로 활성화한 경우에만 설정됩니다.

Elgato/Corsair의 데이터 처리 방식에 대해서는 Elgato 개인정보 처리방침을 참조하세요.

기여

기여를 환영합니다! 개발 환경 설정, 코딩 지침 및 기여 절차는 CONTRIBUTING.md를 참조하세요.

자세한 기술 문서와 아키텍처 정보는 TECHNICAL_SPECIFICATION.md를 참조하세요.

라이선스

MIT License - 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