mcp-server-return-to-dark-tower
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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
} |
| logging | {} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| tower_connectA | Connect to the Return to Dark Tower via Bluetooth LE |
| tower_disconnectB | Disconnect from the Return to Dark Tower |
| tower_calibrateA | Calibrate the tower drums. Must be connected first. The tower will rotate all drums to their home positions. |
| tower_statusA | Get the current tower connection status, calibration state, and battery info |
| tower_device_infoA | Get device information: manufacturer, model, firmware/hardware revision, serial number |
| tower_is_responsiveA | Active connectivity check — verifies the tower is connected and responding |
| tower_reconnectA | Clean up, reconnect, and recalibrate the tower in one step. Use this when tower_is_responsive returns false or the tower stops responding after going idle. |
| tower_set_connection_monitoringB | Enable or disable connection monitoring with optional frequency and timeout |
| tower_set_battery_monitoringC | Configure battery heartbeat monitoring |
| tower_play_soundA | Play a sound from the tower audio library by index number (1-113). Volume is 0 (loudest) to 3 (soft). |
| tower_play_sound_by_nameB | Play a sound by name (e.g. 'Ashstrider', 'Battle Start'). Case-insensitive lookup. |
| tower_list_soundsA | List all available sounds from the tower audio library, optionally filtered by category |
| tower_set_lightsA | Control tower lights. Set doorway lights (north/south/east/west at top/middle/bottom), ledge lights (corner positions), and base lights. Effects: off, on, breathe, breatheFast, breathe50percent, flicker. |
| tower_set_ledA | Set a single LED by layer and light index. Layers: 0=top ring, 1=middle ring, 2=bottom ring, 3=ledge, 4=base1, 5=base2. Light index 0-3. |
| tower_light_sequenceA | Play a predefined light sequence by ID (1-19). Optionally play a sound simultaneously. |
| tower_light_sequence_by_nameA | Play a predefined light sequence by name (e.g. 'victory', 'defeat', 'dungeonIdle', 'twinkle'). Case-insensitive. |
| tower_lights_onA | Turn on all 24 tower LEDs with a single command. Optionally specify an effect (0=off, 1=on, 2=breathe, 3=breatheFast, 4=breathe50%, 5=flicker); defaults to on. |
| tower_lights_offA | Turn off all 24 tower LEDs with a single command |
| tower_rotateB | Rotate all three drums to specified positions. Requires calibration. Optionally plays a sound. |
| tower_rotate_drumC | Rotate a single drum to a specified position. Requires calibration. |
| tower_random_rotateA | Randomly rotate drum levels. level: 0=all, 1=top, 2=middle, 3=bottom, 4=top+middle, 5=top+bottom, 6=middle+bottom |
| tower_get_drum_positionsA | Get the current position of all three drums |
| tower_break_sealC | Break a seal at the specified side and level. Plays the seal-breaking animation and sound. |
| tower_is_seal_brokenC | Check if a specific seal has been broken |
| tower_get_broken_sealsA | Get a list of all broken seals |
| tower_reset_sealsA | Reset all seals to unbroken state (in software tracking only) |
| tower_random_sealC | Get a random unbroken seal location |
| tower_get_stateA | Get the full current tower state including drums, lights, audio, and beam sensor data |
| tower_send_stateC | Send a complete tower state to the tower. Advanced: directly sets all tower hardware state. |
| tower_get_glyphsA | Get the current facing direction of all 5 glyphs (cleanse, quest, battle, banner, reinforce) |
| tower_get_glyphA | Get the current facing direction of a specific glyph |
| tower_glyphs_facingB | Get all glyphs currently facing a given direction |
| tower_skull_countA | Get the cumulative number of skulls that have dropped into the tower |
| tower_reset_skull_countA | Reset the skull drop counter to zero |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| dramatic_entrance | A dramatic tower startup sequence: connect, calibrate, play adversary sound, strobe lights, random rotate drums |
| victory_sequence | Play a victory celebration: victory sound, victory lights, drum rotation |
| defeat_sequence | Play a defeat sequence: defeat sound and defeat lights |
| monthly_transition | Transition between game months: end sound, rotate, start sound, month lights |
| dungeon_run | Set up a dungeon atmosphere: dungeon sound and idle lights |
| battle_start | Start a battle with sound and dramatic lighting |
| game_master_setup | Guide for the AI to manage a full game session — connect, calibrate, and learn available tools and resources |
| sound_browser | Browse the tower audio library, optionally filtered by category |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| tower-connection | Current connection state, calibration, and command status |
| tower-device-info | Manufacturer, model, serial, firmware, hardware revisions |
| tower-battery | Battery voltage, percentage, and monitoring configuration |
| tower-drums | Current position of all three drums |
| tower-glyphs | All 5 glyph positions and facing directions |
| tower-seals | Broken and unbroken seal status |
| tower-state | Full tower state including drums, lights, audio, beam |
| tower-audio-library | Complete list of all 113 sounds with names, indices, and categories |
| tower-light-effects | Available light effects (6) and predefined light sequences (19) |
| game-rules | Core rules — setup, turn structure, quests, battle, win/loss |
| game-adversaries | All adversaries — abilities, spawn mechanics, escalation |
| game-quests | Quest types, completion conditions, rewards |
| game-items | Equipment, potions, relics — names, effects, costs |
| game-heroes | Hero classes, starting stats, special abilities |
| game-buildings | Kingdom buildings — citadel, sanctuary, village, bazaar |
| game-lore | World lore, tower history, thematic flavor |
| game-glossary | Key terms — virtues, corruption, skulls, seals, glyphs |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ChessMess/mcp-server-return-to-dark-tower'
If you have feedback or need assistance with the MCP directory API, please join our Discord server