configureLightingLABSCO SUMMARY
An effect stack, so an alert does not destroy what was there.
playEffect and stopEffect behave as a stack rather than a toggle: push a red alert, and when it clears the ambient effect you had running comes back on its own. That, plus the shared mode, is what makes it usable as a build or incident indicator several agents can drive at once.
What it is
A Go server for the Dynatrace UFO, the two-ring LED device. It sets the rings and logo in one call, plays named effects from a library, and keeps an effect stack so a temporary alert can be lifted and the previous state restored.
What you get
- Both rings and the logo set in a single command (configureLighting)
- Named effects played from the library — rotating rainbow, breathing green, police lights, ocean waves, fire glow, a red alert flash (playEffect)
- The current effect stopped and whatever was showing before resumed from the stack (stopEffect)
- The effects available, built-in and your own, listed (listEffects)
- The current LED state read back (getLedState)
- Raw device commands sent through for anything the tools do not cover (sendRawApi)
- Independent control of the two rings, plus brightness and rotation
- Several clients sharing one device's state, when it runs as a shared service
Requirements
A Dynatrace UFO on your network and its address, given as a startup argument or an environment setting. Prebuilt binaries for macOS and Linux, a container image, or a Go build. Standard input and output for a single client; an HTTP mode exists for shared use, and a desktop extension packages that arrangement.
Setup effort
One command — curl -L https://github.com/rhoegg/ufo-mcp-server/releases/download/v1.0.1/ufo-mcp-darwin-arm64 -o /usr/local/bin/ufo-mcp && chmod +x /usr/local/bin/ufo-mcp
USE CASES
Turning a build result into something visible
Play the alert effect on failure, and stop it when the build goes green — the previous state returns.
Setting a mood for the room
Set both rings and the logo in one command.
Seeing what is available
List the effects, built-in and custom, before asking for one by name.
Checking what is showing
Read the current LED state rather than looking across the room.
Doing something the tools do not cover
Send the raw device command through.
6 tools
Listed in project docs. Your client may show a different list.
sendRawApiplayEffectstopEffectgetLedStatelistEffectsBEFORE YOU INSTALL
What to know first
Tools you get
6 tools named in the project's documentation.
INSTALLATION
Connect your client
Server setup
curl -L https://github.com/rhoegg/ufo-mcp-server/releases/download/v1.0.1/ufo-mcp-darwin-arm64 -o /usr/local/bin/ufo-mcp
chmod +x /usr/local/bin/ufo-mcpmacOS Apple Silicon build. The same v1.0.1 release also carries ufo-mcp-darwin-amd64 (Intel Mac), ufo-mcp-linux-amd64 and ufo-mcp-windows-amd64.exe.
MCP Clients
Claude Desktop, Cline
{
"mcpServers": {
"ufo": {
"command": "/usr/local/bin/ufo-mcp",
"args": [
"--transport",
"stdio",
"--ufo-ip",
"<YOUR_UFO_IP>"
]
}
}
}MuleSoft Anypoint Code Builder — HTTP
Start the server in HTTP mode:
ufo-mcp --transport http --port 8080 --ufo-ip <YOUR_UFO_IP> --effects-file ./data/effects.jsonIn Anypoint Code Builder, configure your MCP connection: Server URL http://localhost:8080, SSE Endpoint Path /sse