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.
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.
- 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
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.
One command — curl -L https://github.com/starspace46/ufo/releases/download/v1.0.1/ufo-mcp-darwin-arm64 -o /usr/local/bin/ufo-mcp
