reanim-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | Port used when TRANSPORT=http | 3001 |
| TRANSPORT | No | Set to http to run a remote-capable HTTP endpoint instead of stdio | stdio |
| REANIM_STATE | No | Optional path to the state file (defaults target the Real executor paths on Windows) | |
| REANIM_SCRIPT | No | Optional path to the reanim.luau script (defaults target the Real executor paths on Windows) | |
| REANIM_SAVEDATA | No | Optional path to the SaveData file (defaults target the Real executor paths on Windows) | |
| REANIM_WORKSPACE | No | Optional path to the workspace directory (defaults target the Real executor paths on Windows) |
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 |
|---|---|
| reanim_statusA | Check reanim.luau script, workspace, SaveData and module counts. Use first to verify setup. |
| reanim_list_movesetsA | List all parsed movesets (builtin v_moveset1-3 + Modules/*.lua). Returns index, name, InternalName, file, description. |
| reanim_list_dancesB | List all parsed dances (builtin v_dance1-2 + Modules/*.lua incl. packed MARKET files). Returns index, name, file, description. |
| reanim_check_movesetsA | Validate moveset catalogue: counts per file, entries missing Name/Type, saved MovesetIndex in range, ContentHash coverage. |
| reanim_check_dancesA | Validate dance catalogue: counts per file, packed MARKET entries, duplicate names, keybind coverage. |
| reanim_get_current_movesetB | Show saved MovesetIndex/MovesetHash from tree.ehehetilde plus last MCP switch_moveset pick and resolved name. |
| reanim_switch_movesetA | Persist a moveset pick (SaveData.MovesetIndex + MCP state) and return executor-ready Luau that clicks the Movesets UI entry live. Identifier = name substring, InternalName, or 1-based index from reanim_list_movesets. |
| reanim_get_current_danceA | Show last MCP switch_dance pick (dances are runtime-only; the script persists only MovesetIndex). Also reports keybind paging. |
| reanim_switch_danceA | Record a dance pick in MCP state and return executor-ready Luau that clicks the matching Dances UI entry. Identifier = name substring, InternalName, or 1-based index from reanim_list_dances. |
| reanim_stop_danceA | Clear MCP current dance and return Luau that attempts to stop dancing (UI Stop button; otherwise re-press active keybind). |
| reanim_list_dance_keybindsA | Show the 15 dance keybind slots (Z X C V B N G H J K L R T U P), current page, and MCP-assigned dances. |
| reanim_set_dance_keybindA | Bind a dance to a key slot (Z/X/C/V/B/N/G/H/J/K/L/R/T/U/P) in MCP state and return Luau hint snippet. |
| reanim_get_ui_themeB | Read theme-related Custom keys: AccentMode, HarmonyMode, UIAccent, ColorSpeed/Sat/Bright, TriColorMode/TriColor, IntroColorMode/IntroColor, UIGlow/Gradient, etc. |
| reanim_set_ui_themeB | Change UI theme: AccentMode 1-7, HarmonyMode 1-5, UIAccent hex, ColorSpeed/Sat/Bright, TriColorMode/TriColor, IntroColorMode/IntroColor. Persists to SaveData.Custom and returns apply snippet. |
| reanim_get_customizationB | Return full SaveData.Custom table (triangle/intro/notification/UI/scale/font/particles/chat/delta options) with defaults filled. |
| reanim_set_customizationB | Set any SaveData.Custom key (TriSize, TriSpin, IntroTitle, NotifMode, UIScale, UIFont, UIAnimSpeed, UIParticles, LowEnd, ...). Unknown keys are rejected. |
| reanim_reset_customizationA | Reset SaveData.Custom to script defaults (keeps LowEnd performance flag). |
| reanim_get_performanceB | Read LowEnd UI mode, FXBlur, FXSounds, FXTransitions, FXAmbient and related perf flags. |
| reanim_set_low_end_modeB | Toggle LowEnd UI Mode (Main page > Performance). ON = basic UI + simplified triangle; OFF restores your settings. |
| reanim_list_modulesB | List .lua module files in BuiltinModules, Modules, Plugins, FlingMethods, Minigames, AdminPlugins, Muzik. |
| reanim_get_module_infoA | Parse one module file and return its AddModule entries (type/name/description/InternalName) plus size. Accepts filename or full path. |
| reanim_search_featuresA | Case-insensitive search over reanim.luau (~14MB) mimicking the V16 search bar. Returns up to N matching lines with line numbers. |
| reanim_get_reanimator_settingsB | Read SelectedReanimator, Reanimator, FlingMethod, CharMove (Walk/Fly speed), ServerReanim, ClickFling, PhysicsRepRootPartFling. |
| reanim_set_reanimator_settingsC | Update reanimator/movement/fling SaveData keys. Only provided fields change. |
| reanim_generate_snippetA | Build an executor-ready Luau snippet for a dance/moveset/theme/custom action without changing files. |
| reanim_get_savedataA | Return raw SaveData keys (top-level summary + full Custom). Useful for debugging; prefer the typed getters for edits. |
| reanim_create_danceA | Scaffold a new DANCE user module (.lua) in UhhhhhhReanim/Modules/ from a template. anim must be a .anim file (existing Content/Anims name, optionally 'file@url'); song optional .mp3. Reload modules or re-run reanim.luau to load it. |
| reanim_create_movesetA | Scaffold a new blank MOVESET user module (.lua) in UhhhhhhReanim/Modules/. Edit Update() to animate. Reload modules or re-run reanim.luau to load it. |
| reanim_validate_moduleA | Lint a module file: block balance, required m.* fields, factory-array return, duplicate names vs catalogue. |
| reanim_remove_moduleA | Move a Modules/ file to Modules/.trash/ with a timestamp (never touches BuiltinModules). Restore by moving it back. |
| reanim_list_favoritesA | Show SaveData.WheelFavs dance/moveset name lists (GTA-style N/Y quick wheels). |
| reanim_add_favoriteA | Add a dance or moveset (validated against the catalogue) to the radial-wheel favorites. |
| reanim_remove_favoriteC | Remove a name from the radial-wheel favorites. |
| reanim_random_danceA | Pick a random dance (optional name filter), record it, and return the live-switch snippet. |
| reanim_random_movesetA | Pick a random moveset, persist it (SaveData.MovesetIndex + MCP state), and return the live-switch snippet. |
| reanim_surprise_meB | Random dance + random theme preset combo with live snippets for both. |
| reanim_list_theme_presetsA | Show the 10 built-in UI theme presets (heaven, hell, leafy, ocean, ...). |
| reanim_apply_theme_presetB | Apply a built-in theme preset to SaveData.Custom and return the live snippet. |
| reanim_list_musicA | List .mp3 files in Muzik/ and Content/Sounds/ with sizes. |
| reanim_check_module_assetsA | Parse a module's m.Assets entries and report which .anim/.mp3 files exist under Content/ vs missing (with expected paths). |
| reanim_get_audioA | Read MuteUIMusic / MuteReanimMusic / MuteUISound flags. |
| reanim_set_audioA | Mute/unmute UI music, reanim/dance music, UI sounds. Only provided fields change. |
| reanim_backup_savedataB | Copy tree.ehehetilde to UhhhhhhReanim/Backups/ with a timestamp. |
| reanim_restore_savedataA | List Backups/ or restore one (current file is auto-backed-up first as pre-restore-*). Omit backup to just list. |
| reanim_export_profileB | Export shareable settings (theme, movement, wheel favorites, audio) to UhhhhhhReanim/Profiles/.json. |
| reanim_import_profileA | Import a profile JSON (auto-backs up current SaveData first). Merges Custom deeply, replaces other keys. |
| reanim_doctorA | Full health check: script + bridge version, SaveData validity, moveset index range, counts, duplicates, builtin hashes, folders. Returns issues list and ok flag. |
| reanim_list_root_pluginsA | List builtin RootPart modes (0-6), active/disabled Plugins/ files with parsed names, and the currently selected mode. |
| reanim_enable_root_pluginA | Enable a disabled plugin (.lua.txt -> .lua). Takes effect on re-run. Never touches README. |
| reanim_disable_root_pluginA | Disable an active plugin (.lua -> .lua.txt) without deleting it. Takes effect on re-run. |
| reanim_get_root_settingsB | Read limb RootPart mode / velocity / init selections with human-readable names. |
| reanim_set_root_modeA | Persist a RootPart mode pick (builtin 0-6 by index or name, or active plugin by exact name) and return the live bridge snippet (_G.ReanimMCP.SetRootMode). Re-run to load newly enabled plugins. |
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 52 tools
Descriptions are detailed and most tools have clearly distinct purposes (e.g. list_movesets vs switch_moveset vs random_moveset). However several getters/setters overlap conceptually—get_customization, get_ui_theme, get_savedata, and get_performance all read settings-like state, and set_customization/set_ui_theme/apply_theme_preset can be confused. Boundaries are mostly clear but require reading descriptions.
Strong, predictable reanim_verb_noun pattern (get_/set_/list_/create_/remove_/check_) throughout. A few deviations like reanim_surprise_me, reanim_doctor, and reanim_set_low_end_mode break the strict verb_noun mold but remain readable and intentional.
52 tools is very heavy for the surface area and pushes well past the practical range, with many near-duplicate getter/setter pairs that could be consolidated. The domain is large but this count invites selection errors and cognitive load.
Coverage is broad and lifecycle-complete: read/write settings, theme/customization, audio, dance/moveset scaffolding and validation, favorites, keybinds, backups, profile export/import, and a full doctor check. Only minor gaps remain (e.g. no direct PR-style edit operations for existing module content).