About UFO MCP Server
UFO MCP Server lets MCP-compatible clients control a networked Dynatrace UFO device. It supports several transport modes and can share UFO state across Claude Desktop instances.
Key features
- 01Configure ring and logo lighting
- 02Play, stop, and list lighting effects
- 03Query current LED state
- 04Send raw API commands
- 05Support stdio, HTTP, and SSE transports
- 06Store custom effects in an effects file
Use cases
- 01Adjust UFO light colors and brightness
- 02Play or stop preset animations
- 03Check the device's current display state
- 04Share device state across Claude Desktop instances
MCP support
The server exposes tools for controlling Dynatrace UFO devices, including lighting configuration, effect management, state queries, and raw API calls. It supports stdio, HTTP/2, and SSE transports.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEUFO 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.localif 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.dxtinto 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 extension/README.md 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
--transportor-t: Transport type (stdioorhttp, default:stdio)--port: HTTP port when using http transport (default:8080)--ufo-ip: UFO device IP address (overridesUFO_IPenv 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.100orufo.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
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.