UFO MCP Server について
UFO MCP Serverは、MCP対応クライアントからネットワーク上のDynatrace UFOを操作するサーバーです。複数の通信方式に対応し、複数のClaude Desktop間で状態を共有できます。
主な機能
- 01リングとロゴの照明設定
- 02照明エフェクトの再生、停止、一覧表示
- 03現在のLED状態の照会
- 04生のAPIコマンド送信
- 05stdio、HTTP、SSEの各トランスポート
- 06エフェクトファイルへのカスタム効果の保存
活用シーン
- 01UFOの色や明るさの調整
- 02プリセットアニメーションの再生や停止
- 03デバイスの現在の表示状態の確認
- 04複数のClaude Desktop間でデバイス状態を共有
MCP 対応
Dynatrace UFOの照明設定、エフェクト管理、状態照会、生のAPI呼び出しを行うツールをMCPクライアントに公開します。stdio、HTTP/2、SSEの各トランスポートに対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
UFO MCP サーバー
Claude Desktop などの MCP 互換クライアントを通じて、Dynatrace UFO デバイスを操作できます。
バージョン 1.0.1 - MCP Specification 2024-11-05
🚀 クイックスタート
前提条件
- ネットワーク上に Dynatrace UFO デバイスがあること
- UFO の IP アドレスを確認します(ルーターを確認するか、mDNS が利用可能な場合は
ufo.localを使用します)
📦 インストール
オプション 1:直接ダウンロード(推奨)
# macOS (Apple Silicon)
curl -L https://github.com/starspace46/ufo/releases/download/v1.0.1/ufo-mcp-darwin-arm64 -o /usr/local/bin/ufo-mcp
chmod +x /usr/local/bin/ufo-mcp
# macOS (Intel)
curl -L https://github.com/starspace46/ufo/releases/download/v1.0.1/ufo-mcp-darwin-amd64 -o /usr/local/bin/ufo-mcp
chmod +x /usr/local/bin/ufo-mcp
# Linux
curl -L https://github.com/starspace46/ufo/releases/download/v1.0.1/ufo-mcp-linux-amd64 -o /usr/local/bin/ufo-mcp
chmod +x /usr/local/bin/ufo-mcp
オプション 2:Docker
docker pull starspace46/ufo-mcp:latest
# Run with Docker
docker run -d \
--name ufo-mcp \
-e UFO_IP=YOUR_UFO_IP_HERE \
-v ~/.ufo-effects:/data \
starspace46/ufo-mcp:latest
オプション 3:ソースからビルド
git clone https://github.com/starspace46/ufo-mcp-server.git
cd ufo-mcp-server
go build -o ufo-mcp ./cmd/server
sudo mv ufo-mcp /usr/local/bin/
🔧 クライアントの設定
オプション A:デスクトップ拡張機能(マルチエージェントに推奨)
複数の Claude Desktop インスタンスで同じ UFO の状態を共有するマルチエージェント連携には、デスクトップ拡張機能を使用します。
1. 拡張機能をビルドする
make dxt
2. HTTP サーバーを起動する
docker run -d --name ufo-mcp-shared -p 8080:8080 -v "$(pwd)/data:/data" ufo-mcp:local --transport http --port 8080
3. 拡張機能をインストールする
- Claude Desktop を開きます
- Settings > Extensions に移動します
build/ufo-mcp.dxtを拡張機能の領域にドラッグします
メリット:
- ✅ 複数の Claude Desktop インスタンスで UFO の状態を共有
- ✅ エージェント間でリアルタイムに連携
- ✅ エフェクトスタックを一元管理
- ✅ 設定ファイルの編集は不要
詳しくは、extension/README.md を参照してください。
オプション B:MCP の直接設定
単一エージェントで使用する場合、または従来の MCP サーバー設定を使用する場合に適しています。
Claude Desktop
Claude Desktop の設定に追加します。
macOS:~/Library/Application Support/Claude/claude_desktop_config.json
Windows:%APPDATA%\Claude\claude_desktop_config.json
直接インストール
{
"mcpServers": {
"ufo": {
"command": "/usr/local/bin/ufo-mcp",
"args": [
"--transport", "stdio",
"--ufo-ip", "YOUR_UFO_IP_HERE"
]
}
}
}
Docker でのインストール
{
"mcpServers": {
"ufo": {
"command": "docker",
"args": [
"run", "--rm", "-i",
"-e", "UFO_IP=YOUR_UFO_IP_HERE",
"-v", "~/.ufo-effects:/data",
"starspace46/ufo-mcp:latest",
"--transport", "stdio"
]
}
}
}
Cline(VS Code 拡張機能)
VS Code の settings.json に追加します。
直接インストール
{
"mcp.servers": {
"ufo": {
"command": "/usr/local/bin/ufo-mcp",
"args": ["--transport", "stdio", "--ufo-ip", "YOUR_UFO_IP_HERE"]
}
}
}
Docker でのインストール
{
"mcp.servers": {
"ufo": {
"command": "docker",
"args": [
"run", "--rm", "-i",
"-e", "UFO_IP=YOUR_UFO_IP_HERE",
"-v", "~/.ufo-effects:/data",
"starspace46/ufo-mcp:latest",
"--transport", "stdio"
]
}
}
}
MuleSoft Anypoint Code Builder
UFO MCP サーバーには、MuleSoft の MCP Connector(0.1.0-BETA)用のレガシー SSE サポートが含まれています。
- HTTP モードでサーバーを起動します。
# Direct
ufo-mcp --transport http --port 8080 --ufo-ip YOUR_UFO_IP_HERE --effects-file ./data/effects.json
# Docker
docker run -d \
--name ufo-mcp-http \
-p 8080:8080 \
-e UFO_IP=YOUR_UFO_IP_HERE \
-v ~/.ufo-effects:/data \
starspace46/ufo-mcp:latest \
--transport http
- Anypoint Code Builder で MCP 接続を設定します。
- サーバー URL:
http://localhost:8080 - SSE エンドポイントパス:
/sse - 再接続後もセッションが維持されるよう、サーバーが自動的に処理します
- サーバー URL:
その他の MCP クライアント
標準の HTTP/2 MCP クライアントの場合は、http://localhost:8080/mcp に接続します。
サーバーは複数のトランスポートモードを同時にサポートしています。
- stdio:デスクトップクライアント(Claude、Cline)向けの標準入出力
- http:ウェブベースのクライアント向けの HTTP/2 + SSE
- Legacy SSE:MuleSoft との互換性を保つ双方向 SSE
💡 使用例
設定後、Claude に次のように依頼できます。
- 「UFO を赤くして」 - すべての LED を赤に設定します
- 「虹色のエフェクトを再生して」 - カラフルなアニメーションを開始します
- 「上部リングを青、下部リングを緑にして」 - リングを個別に操作します
- 「明るさを 50% にして」 - 全体の明るさを調整します
- 「上部リングに回転を加えて」 - リングのパターンをアニメーション表示します
- 「現在の UFO の状態を表示して」 - 現在の表示内容を確認します
🎨 組み込みエフェクト
サーバーには、事前設定済みのエフェクトが含まれています。
- rainbow - 回転する虹色(無期限)
- breathingGreen - 落ち着いた緑色の脈動(無期限)
- policeLights - 緊急灯のパターン(30 秒間)
- oceanWave - 心地よい青い波(無期限)
- fireGlow - 揺らめく炎のエフェクト(無期限)
- alertPulse - 赤い警告の点滅(20 秒間)
🛠️ 利用可能なツール
configureLighting- コマンド 1 つで UFO 全体の照明(上部リング、下部リング、ロゴ)を設定しますsendRawApi- API コマンドを UFO に直接送信しますplayEffect- ライブラリから名前を指定して照明エフェクトを再生しますstopEffect- 現在のエフェクトを停止し、スタック内の前のエフェクトを再開しますgetLedState- 現在の LED の状態を取得しますlistEffects- 利用可能なすべてのエフェクト(組み込みおよびカスタム)を表示します
📝 設定オプション
コマンドライン引数
--transportまたは-t:トランスポートの種類(stdioまたはhttp、デフォルト:stdio)--port:http トランスポート使用時の HTTP ポート(デフォルト:8080)--ufo-ip:UFO デバイスの IP アドレス(UFO_IP環境変数より優先)--effects-file:エフェクト JSON ファイルのパス(デフォルト:/data/effects.json)
環境変数
UFO_IP:UFO デバイスの IP アドレスまたはホスト名(例:192.168.1.100またはufo.local)
🐛 トラブルシューティング
- UFO が見つからない:ルーターの管理パネルで UFO の IP アドレスを確認してください
- 接続が拒否される:UFO の電源が入っており、ネットワークに接続されていることを確認してください
- エフェクトが保存されない:エフェクトファイルの保存場所への書き込み権限を確認してください
- Docker の権限に関する問題:エフェクトディレクトリが書き込み可能であることを確認してください
📄 ライセンス
MIT License - 詳細は LICENSE ファイルを参照してください
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。