Melo

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.

Category
Visit Server

README

♪ 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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured