rhoegg/ufo-mcp-server
If you are the rightful owner of ufo-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The UFO MCP Server is a Model Context Protocol server designed to control Dynatrace UFO lighting devices, providing a unified interface for managing lighting effects and device status.
UFO MCP Server
Control your Dynatrace UFO device through MCP-compatible clients like Claude Desktop.
Version 1.0.1 - MCP Specification 2024-11-05
🚀 Quick Start
Prerequisites
- A Dynatrace UFO device on your network
- Find your UFO's IP address (check your router or use
ufo.local
if mDNS is available)
📦 Installation
Option 1: Direct Download (Recommended)
# 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
Option 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
Option 3: Build from Source
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/
🔧 Client Setup
Option A: Desktop Extension (Recommended for Multi-Agent)
For multi-agent coordination where multiple Claude Desktop instances share the same UFO state, use the Desktop Extension:
1. Build the Extension
make dxt
2. Start HTTP Server
docker run -d --name ufo-mcp-shared -p 8080:8080 -v "$(pwd)/data:/data" ufo-mcp:local --transport http --port 8080
3. Install Extension
- Open Claude Desktop
- Go to Settings > Extensions
- Drag
build/ufo-mcp.dxt
into the extensions area
Benefits:
- ✅ Multiple Claude Desktop instances share UFO state
- ✅ Real-time coordination between agents
- ✅ Centralized effect stack management
- ✅ No configuration file editing required
See for detailed documentation.
Option B: Direct MCP Configuration
For single-agent use or when you prefer traditional MCP server configuration:
Claude Desktop
Add to your Claude Desktop configuration:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Direct Installation
{
"mcpServers": {
"ufo": {
"command": "/usr/local/bin/ufo-mcp",
"args": [
"--transport", "stdio",
"--ufo-ip", "YOUR_UFO_IP_HERE"
]
}
}
}
Docker Installation
{
"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 Extension)
Add to VS Code settings.json:
Direct Installation
{
"mcp.servers": {
"ufo": {
"command": "/usr/local/bin/ufo-mcp",
"args": ["--transport", "stdio", "--ufo-ip", "YOUR_UFO_IP_HERE"]
}
}
}
Docker Installation
{
"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
The UFO MCP server includes legacy SSE support for MuleSoft's MCP Connector (0.1.0-BETA).
- Start the server in HTTP mode:
# 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
- In Anypoint Code Builder, configure your MCP connection:
- Server URL:
http://localhost:8080
- SSE Endpoint Path:
/sse
- The server will automatically handle session persistence across reconnections
- Server URL:
Other MCP Clients
For standard HTTP/2 MCP clients, connect to http://localhost:8080/mcp
The server supports multiple transport modes simultaneously:
- stdio: Standard I/O for desktop clients (Claude, Cline)
- http: HTTP/2 + SSE for web-based clients
- Legacy SSE: Bidirectional SSE for MuleSoft compatibility
💡 Usage Examples
Once configured, ask Claude to:
- "Turn the UFO red" - Sets all LEDs to red
- "Play the rainbow effect" - Starts a colorful animation
- "Make the top ring blue and bottom ring green" - Independent ring control
- "Set brightness to 50%" - Adjust overall brightness
- "Add rotation to the top ring" - Animate ring patterns
- "Show current UFO state" - See what's currently displayed
🎨 Built-in Effects
The server includes pre-configured effects:
- rainbow - Rotating rainbow colors (perpetual)
- breathingGreen - Calming green pulse (perpetual)
- policeLights - Emergency light pattern (30 seconds)
- oceanWave - Soothing blue waves (perpetual)
- fireGlow - Flickering fire effect (perpetual)
- alertPulse - Red alert flash (20 seconds)
🛠️ Available Tools
configureLighting
- Set entire UFO lighting (top ring, bottom ring, logo) in one commandsendRawApi
- Send raw API commands directly to the UFOplayEffect
- Play a named lighting effect from the librarystopEffect
- Stop current effect and resume previous one from the stackgetLedState
- Query current LED statelistEffects
- Show all available effects (built-in and custom)
📝 Configuration Options
Command Line Arguments
--transport
or-t
: Transport type (stdio
orhttp
, default:stdio
)--port
: HTTP port when using http transport (default:8080
)--ufo-ip
: UFO device IP address (overridesUFO_IP
env var)--effects-file
: Path to effects JSON file (default:/data/effects.json
)
Environment Variables
UFO_IP
: UFO device IP address or hostname (e.g.,192.168.1.100
orufo.local
)
🐛 Troubleshooting
- Can't find UFO: Check your UFO's IP address in your router's admin panel
- Connection refused: Ensure UFO is powered on and connected to your network
- Effects not saving: Check write permissions for the effects file location
- Docker permission issues: Ensure the effects directory is writable
📄 License
MIT License - See LICENSE file for details