twinkly-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TWINKLY_IP | No | IP address of your Twinkly device (e.g. 192.168.1.50) | |
| TWINKLY_DEVICES | No | JSON map of named devices, e.g. {"tree":"192.168.1.50","window":"192.168.1.51"} | |
| TWINKLY_READONLY | No | Set to 'true' to expose only read-only tools (no changes to your lights) | |
| TWINKLY_DISCOVERY | No | Set to 'true' to auto-discover devices on the network at startup | |
| TWINKLY_DEFAULT_DEVICE | No | Name of the device to use when a request doesn't specify one |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_devicesA | List the Twinkly devices this server knows about (from configuration and any prior discovery). Returns each device name, IP, where it came from, and which one is used when a tool omits the |
| discover_devicesA | Actively scan the local network (UDP) for Twinkly devices and add any newly found ones to the registry. Returns the full device inventory afterwards. Use this when a device is not yet listed by list_devices. |
| get_device_detailsA | Get static hardware/firmware details for a Twinkly device: product, model, LED count and profile, MAC, UUID, firmware family, and uptime. Use get_state for the current mode/color/brightness. |
| get_summaryA | Get a quick overview of a Twinkly device: current mode, color, on/off timer, music state, and active filters (brightness/saturation). Available since firmware 2.5.6. |
| get_stateA | Get the current state of a Twinkly device in one call: operation mode, brightness, saturation, and color. This is the go-to read tool before changing anything. |
| set_powerA | Turn a Twinkly device on or off. "off" stops the LEDs; "on" resumes movie playback (the usual powered-on state). For a specific mode like a static color or the demo loop, use set_mode. |
| set_modeA | Set the LED operation mode directly. Modes: off, color (static color), demo (built-in loop), movie (a saved movie), effect (a predefined effect — pass effectId), rt (realtime), playlist. To pick which movie/effect plays, use set_movie / set_effect. |
| set_colorA | Set a single static color and switch the device into color mode so it shows immediately. Provide exactly one of rgb ({r,g,b}, 0–255) or hsv ({h,s,v}; hue 0–359, sat/val 0–255). |
| set_brightnessA | Set the overall brightness of a Twinkly device to an absolute level from 0 to 100. |
| set_saturationA | Set the color saturation of a Twinkly device to an absolute level from 0 (black-and-white) to 100 (full color). |
| list_effectsA | List the predefined effects available on a Twinkly device (count + unique ids) and which effect is currently selected. Some firmware cannot report a numeric id for the current effect, in which case only currentEffectUniqueId is set. Use set_effect with an effect id to play one. |
| set_effectA | Select a predefined effect by its numeric id and switch the device into effect mode so it plays. Call list_effects first to see how many effects exist (ids start at 0). |
| list_moviesA | List the movies (saved animations) uploaded to a Twinkly device — id, name, frames, fps — and which movie is current. Use set_movie with an id to play one. |
| set_movieA | Select a saved movie by its numeric id and switch the device into movie mode so it plays. Call list_movies first to see the available ids. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 14 tools
Some tools have overlapping purposes (e.g., get_state vs get_summary, set_power vs set_mode, set_color vs set_mode), but descriptions help differentiate them by intent and use case. Most tools target a clear resource and action pair, so ambiguity is limited to a few pairs.
All tool names follow a consistent verb_noun pattern (get_, set_, list_, discover_) using snake_case. No mixing of styles or vague verbs, making the naming highly predictable.
14 tools is well-scoped for a Twinkly device control server, covering discovery, state, effects, movies, and various settings. The count is not excessive or thin, fitting the domain appropriately.
Core workflows are covered (discover, list, get state, set power/color/brightness/effects/movies). Minor gaps exist, such as no playlist selection or on/off timer control, but these are workable and do not break main use cases.