Melo
Provides tools for programmatic interaction with the Roblox platform, enabling the creation and manipulation of game instances, properties, attributes, and tags, as well as managing asset builds.
Enables automation of Roblox Studio workflows including GitHub-style script diff reviews, playtest automation with virtual input, and bulk operations across the project structure.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MeloFind all scripts using 'OnHit' and apply a diff to fix the cooldown bug."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Linkedsword
Roblox Studio MCP server + plugin — 73 tools for script editing, bulk operations, playtest automation, and more.
Linkedsword combines the best of BoshyXD's community MCP (bulk ops, grep, builds library) with Roblox's official MCP (playtest automation, virtual input, multi-instance) into a single package, then adds script diff review on top.
Features
Script diff review — GitHub-style inline diffs inside the Studio plugin. Accept or reject individual hunks before they're applied.
73 tools — navigation, search, script editing, instance manipulation, playtest control, spatial ops, and more.
Batch operations — mass create, duplicate, and set properties across multiple instances.
Activity feed — real-time log of every tool call with timing and status.
Mode system — Full (read + write), Inspector (read-only), or auto-accept for unattended workflows.
Quick start
Prerequisites
Node.js 18+
Roblox Studio
1. Install the MCP server
# Claude Code
claude mcp add linkedsword -- npx -y linkedsword-mcp-server@latest
# Or add to your MCP config (Claude Desktop, Cursor, etc.)
{
"mcpServers": {
"linkedsword": {
"command": "npx",
"args": ["-y", "linkedsword-mcp-server@latest"]
}
}
}2. Install the Studio plugin
# Clone the repo
git clone https://github.com/yannyhl/melo-mcp.git
cd melo-mcp
npm install
# Build and install the plugin
npm run install-plugin --workspace=packages/serverThis builds Linkedsword.rbxmx and copies it to your local plugins folder:
macOS:
~/Documents/Roblox/Plugins/Windows:
%LOCALAPPDATA%/Roblox/Plugins/
3. Enable HTTP requests in Studio
In Roblox Studio: File > Game Settings > Security > Allow HTTP Requests (enable it).
The plugin communicates with the MCP server over HTTP on localhost:3003. This setting is per-place.
4. Connect
Open a place in Roblox Studio.
Click Linkedsword in the Plugins toolbar.
The widget should show a "Connected" status.
Start using tools from your MCP client.
Architecture
MCP Client (Claude Code, Cursor, etc.)
── stdio ──> Linkedsword MCP Server (Node/TypeScript)
├── Diff Engine (Myers' algorithm)
└── HTTP Bridge (long-poll, localhost:3003)
── HTTP ──> Roblox Studio Plugin (Luau)
├── Tool Handlers
├── Diff Review UI
└── Activity FeedTool registry (73)
Navigation (6)
get_file_tree . get_project_structure . get_place_info . get_services . list_roblox_studios . set_active_studio
Search & Inspection (11)
search_files . search_objects . search_by_property . get_instance_properties . get_instance_children . get_class_info . get_selection . grep_scripts . mass_get_property . set_selection . get_descendants
Script Editing (9 — with diff staging)
get_script_source . set_script_source . patch_script . grep_replace . execute_luau . run_code . edit_script_lines . insert_script_lines . delete_script_lines
Instance Manipulation (13)
create_object . delete_object . set_property . mass_create_objects . mass_set_property . mass_duplicate . smart_duplicate . set_calculated_property . clone_object . reparent_object . group_objects . ungroup_objects . batch_operations
Playtest Automation (8)
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 (21)
get_diff_queue . resolve_diff . get_diff_history . get_activity_log . set_mode . rollback . redo . get_attribute . get_attributes . set_attribute . delete_attribute . get_tags . get_tagged . add_tag . remove_tag . capture_screenshot . export_build . import_build . list_library . insert_model . get_console_output
Spatial (5)
create_weld . get_bounding_box . raycast . fill_terrain . clear_terrain
Development
git clone https://github.com/yannyhl/melo-mcp.git
cd melo-mcp
npm install
# Build server
npx tsup packages/server/src/index.ts --format cjs --out-dir packages/server/dist --clean
# Build plugin
node packages/plugin/build-rbxmx.js
# Deploy plugin to Studio
cp packages/plugin/Linkedsword.rbxmx ~/Documents/Roblox/Plugins/Linkedsword.rbxmxLocal MCP config
Copy .mcp.json.example to .mcp.json and adjust the path if needed:
cp .mcp.json.example .mcp.jsonProject structure
melo-mcp/
├── packages/
│ ├── server/ # MCP server (TypeScript)
│ │ ├── src/
│ │ │ ├── index.ts # Entry point
│ │ │ ├── services/
│ │ │ │ ├── bridge.ts # HTTP long-poll bridge
│ │ │ │ └── diff-engine.ts # Myers' diff computation
│ │ │ └── tools/
│ │ │ ├── navigation.ts # 6 tools
│ │ │ ├── search.ts # 11 tools
│ │ │ ├── script.ts # 9 tools
│ │ │ ├── instance.ts # 13 tools
│ │ │ ├── playtest.ts # 8 tools
│ │ │ ├── diff-meta.ts # 21 tools
│ │ │ └── spatial.ts # 5 tools
│ │ └── package.json
│ └── plugin/ # Roblox Studio plugin (Luau)
│ └── src/
│ └── plugin.luau # Single-file plugin (~4700 lines)
├── docs/
│ └── README.md # Internal handbook (architecture, caveats, LLM guide)
├── .mcp.json.example # MCP config template
└── README.mdKnown limitations
Heartbeat timeouts on rapid parallel tool calls (retry works).
MCP server restart requires reloading your editor window.
user_mouse_inputanduser_keyboard_inputare not fully implemented in the plugin.capture_screenshotis not yet available.Sandbox mode is declared but not implemented.
See docs/README.md for the full caveats list.
License
MIT
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
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/yannyhl/melo-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server