Mcp Serotonin

maps-geo MCP Server

MCP server bridging any LLM agent to the Serotonin Lua runtime for Roblox - lets an agent walk the live game tree, read entity state, project coordinates to screen, and run arbitrary Lua inside the cheat

Verified
maps-geomaps-geo
7 views2 stars0 forksMIT

Why This Matters

Discovered via github-topic:model-context-protocol and last synced 3mo ago.

Verified
Source
github-topic:model-context-protocol
Stars
2
Last synced
3mo ago
Install
Check source

Install

Install instructions not detected yet

Check the source repository for the latest setup steps.

View source instructions
35
Tools
0
Resources
0
Prompts
Standard I/O
Transport

Available Tools (35)

serotonin_nearest

Nearest instance of a class within a radius. Origin defaults to LocalPlayer.

serotonin_get_bones

Position/Size/Rotation for named bones of a player index.

serotonin_memory_is_valid

`memory.IsValid(addr)`. True if the virtual address sits inside a readable page in the Roblox process.

serotonin_inspect

Properties, Attributes, Children for one Instance. Takes a dot-path or a handle.

serotonin_list_players

`entity.GetPlayers()` + cached fields.

serotonin_file_listdir

`file.listdir(path)`. Returns array of `{name, isDirectory, isFile, size?}` records. Pass empty string for sandbox root.

POST

`/crash_report`

serotonin_ping

Liveness check.

serotonin_get_scripts

All `Script`/`LocalScript`/`ModuleScript` with dot-paths. Source isn't exposed.

serotonin_project_to_screen

`utility.WorldToScreen` for a Vector3.

serotonin_file_read

`file.read(path)`. Returns the file contents as a string, or null when the file is missing.

serotonin_ui_set_value

`ui.SetValue(tab, container, label, value)`. Value must match the widget kind: bool / number / string / `{r,g,b,a}` / 1-based index / VK code, etc.

serotonin_find_by_class

All descendants of a specific ClassName.

serotonin_parts_count

`entity.GetPartsCount()`. Cheap total count of cached parts.

serotonin_memory_base

`memory.GetBase()`.

serotonin_audio_beep

`audio.Beep(freq, ms)`. Synchronous, blocks for `ms`.

serotonin_eval

Run arbitrary Lua. Instances / Vector3 / Color3 get serialized automatically. Blocked patterns don't reach the cheat in safe mode.

serotonin_screen_info

Window size, camera, mouse, delta time, menu state.

serotonin_file_write

`file.write(path, content)` (default) or `file.append` when `append: true`. Returns true on success, false when the parent directory is missing.

Method

Path

Tool

What it does

serotonin_descendants_stats

ClassName histogram for a subtree.

serotonin_ui_get_value

`ui.GetValue(tab, container, label)`. Reads a widget's current value (type depends on the widget kind).

serotonin_find_player_model

Find a player Model in `Workspace.Live` by Name, with its children + HRP.

serotonin_part_details

Full per-part dump for one index: pos/size/rot + extras + `GetPartCubeVertices` (8 OBB corners).

serotonin_memory_scan

`memory.Scan(pattern, [module])`. AOB pattern with `??` wildcards. Returns first absolute address (1-arg form) or array of all matches inside the named module.

serotonin_audio_stop_all

`audio.StopAll()`. Silences every playing sound.

serotonin_search_instances

Walk `GetDescendants` with Name substring + optional ClassName filter.

serotonin_players_full

Entity fields + live HumanoidRootPart + screen projection. Prefer this.

serotonin_memory_read

`memory.Read(type, addr)`.

serotonin_file_op

One-shot metadata op: `exists` / `isdir` / `mkdir` (recursive) / `delete`.

serotonin_tree

Recursive Name/ClassName dump up to N levels.

serotonin_list_parts

`entity.GetParts()` with optional radius filter. Set `include_extras=true` for Address/ClassName/Primitive/Color/Transparency/Shape/MeshId/HasMesh per part.

serotonin_memory_write

`memory.Write(type, addr, value)`.

GET

`/health`