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(Webクライアント用)

  • 🌐 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トランスポート

Webベースのクライアントやリモートアクセス用:

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

ロギング

ログは重大度ラベル(ERRORWARNINFODEBUG)付きで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ベースの設定は、stdioトランスポートをサポートするClaude Desktopやその他の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ライセンス - 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