MCP Hub
Back to servers

Melo

An agentic MCP server for Roblox Studio that provides over 45 tools for script diffing, playtest automation, and bulk instance manipulation. It enables AI agents to manage full development cycles within Roblox, including transaction-safe batch operations and real-time script reviews.

glama
Updated
Mar 28, 2026

♪ Melo

Agentic Roblox Studio MCP — script diffs, bulk ops, playtest automation, and a cat that sleeps.

Melo is a next-generation MCP server + Studio plugin that combines the best of BoshyXD's community MCP (39+ tools, bulk ops, grep, builds library) with Roblox's official MCP (playtest automation, virtual input, multi-instance) — then pushes beyond both.

What makes Melo different

  • Script diff review — GitHub-style inline diffs inside the Studio plugin. Accept/reject individual hunks before they commit. Rejected hunks feed back as context so the agent can iterate.
  • 45+ tools — the full superset of both MCPs, unified in one package.
  • Transaction-safe batch ops — mass operations rollback atomically on failure.
  • Animated mascot — a sleeping cat that wakes up when the agent is working. Because why not.
  • Activity feed — real-time log of every MCP tool call with timing and status.
  • Mode system — switch between Full, Inspector (read-only), and Sandbox from the plugin.
  • Agentic loop support — auto-accept mode for unattended plan → write → test → fix cycles.

Quick start

1. Install the MCP server

# Claude Code
claude mcp add melo -- npx -y melo-mcp-server@latest

# Or in your MCP config (Claude Desktop, Cursor, etc.)
{
  "mcpServers": {
    "melo": {
      "command": "npx",
      "args": ["-y", "melo-mcp-server@latest"]
    }
  }
}

2. Install the Studio plugin

# Build and install the .rbxmx plugin automatically
npm run install-plugin --workspace=packages/server

This builds MeloMCP.rbxmx and copies it to your local plugins folder:

  • macOS: ~/Documents/Roblox/Plugins/
  • Windows: %LOCALAPPDATA%/Roblox/Plugins/

3. Enable HTTP requests

Game Settings → Security → ✅ Allow HTTP Requests

4. Connect

Click the "Melo" button in the Plugins toolbar. The cat should wake up.

Architecture

┌─────────────────────┐    stdio     ┌──────────────────────┐
│   Claude Code CLI   │◄────────────►│   Melo MCP Server    │
│   (or any MCP       │              │   (TypeScript/Node)  │
│    client)          │              │                      │
└─────────────────────┘              │  ┌────────────────┐  │
                                     │  │  Diff Engine    │  │
                                     │  │  (Myers' algo)  │  │
                                     │  └────────────────┘  │
                                     │  ┌────────────────┐  │
                                     │  │  HTTP Bridge    │  │
                                     │  │  (long-poll)    │  │
                                     │  └───────┬────────┘  │
                                     └──────────┼───────────┘
                                                │ HTTP localhost:3002
                                     ┌──────────┼───────────┐
                                     │  Studio  │  Plugin   │
                                     │  ┌───────▼────────┐  │
                                     │  │  Request       │  │
                                     │  │  Router        │  │
                                     │  └───────┬────────┘  │
                                     │  ┌───────▼────────┐  │
                                     │  │  Handlers      │  │
                                     │  │  (per domain)  │  │
                                     │  └───────┬────────┘  │
                                     │  ┌───────▼────────┐  │
                                     │  │  Widget UI     │  │
                                     │  │  Cat + Diffs   │  │
                                     │  └────────────────┘  │
                                     └──────────────────────┘

Tool registry (45+)

Navigation

get_file_tree · get_project_structure · get_place_info · get_services · list_roblox_studios · set_active_studio

Search & Inspection

search_files · search_objects · search_by_property · get_instance_properties · get_instance_children · get_class_info · get_selection · grep_scripts · mass_get_property

Script Editing (with diff staging)

get_script_source · set_script_source · patch_script · grep_replace · execute_luau · run_code

Instance Manipulation

create_object · delete_object · set_property · mass_create_objects · mass_set_property · mass_duplicate · smart_duplicate · set_calculated_property

Playtest Automation

start_playtest · stop_playtest · get_playtest_output · get_studio_mode · run_script_in_play_mode · user_mouse_input · user_keyboard_input · character_navigation

Diff & Meta

get_diff_queue · resolve_diff · get_activity_log · set_mode · rollback

Attributes & Tags

get_attribute · get_attributes · get_tags · get_tagged

Build Library & Assets

export_build · import_build · list_library · insert_model · capture_screenshot

Development

# Clone and install
git clone https://github.com/your-org/melo.git
cd melo
npm install

# Build
npm run build

# Dev mode (auto-rebuild)
npm run dev

Project structure

melo/
├── package.json              # Root workspace config
├── packages/
│   ├── server/               # MCP server (TypeScript)
│   │   ├── src/
│   │   │   ├── index.ts      # Entry point — boots MCP + HTTP bridge
│   │   │   ├── types.ts      # Core type definitions
│   │   │   ├── constants.ts  # Configuration constants
│   │   │   ├── services/
│   │   │   │   ├── bridge.ts       # HTTP long-poll bridge
│   │   │   │   └── diff-engine.ts  # Myers' diff computation
│   │   │   └── tools/
│   │   │       ├── _helpers.ts     # Shared tool utilities
│   │   │       ├── navigation.ts   # File tree, project structure
│   │   │       ├── search.ts       # Search, grep, inspection
│   │   │       ├── script.ts       # Script read/write with diff staging
│   │   │       ├── instance.ts     # Create, delete, bulk ops
│   │   │       ├── playtest.ts     # Playtest automation, virtual input
│   │   │       └── diff-meta.ts    # Diff review, activity log, modes
│   │   ├── package.json
│   │   └── tsconfig.json
│   └── plugin/               # Roblox Studio plugin (Luau)
│       └── src/
│           └── plugin.luau   # Full plugin — UI, handlers, mascot
└── README.md

License

MIT

Reviews

No reviews yet

Sign in to write a review