Melo
Linkedsword
Roblox Studio MCP-Server + Plugin — 73 Werkzeuge für Skriptbearbeitung, Massenoperationen, Playtest-Automatisierung und mehr.
Linkedsword kombiniert das Beste aus BoshyXDs Community-MCP (Massenoperationen, Grep, Build-Bibliothek) mit Robloxs offiziellem MCP (Playtest-Automatisierung, virtuelle Eingabe, Multi-Instanz) in einem einzigen Paket und fügt zusätzlich Skript-Diff-Reviews hinzu.
Funktionen
Skript-Diff-Review — Inline-Diffs im GitHub-Stil innerhalb des Studio-Plugins. Akzeptieren oder lehnen Sie einzelne Hunks ab, bevor sie angewendet werden.
73 Werkzeuge — Navigation, Suche, Skriptbearbeitung, Instanzmanipulation, Playtest-Steuerung, räumliche Operationen und mehr.
Stapelverarbeitung — Massenerstellung, Duplizierung und Festlegen von Eigenschaften über mehrere Instanzen hinweg.
Aktivitäts-Feed — Echtzeit-Protokoll jedes Werkzeugaufrufs mit Zeitangabe und Status.
Modus-System — Vollständig (Lesen + Schreiben), Inspektor (Nur-Lese-Modus) oder automatische Akzeptanz für unbeaufsichtigte Arbeitsabläufe.
Schnellstart
Voraussetzungen
Node.js 18+
Roblox Studio
1. Installieren Sie den 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. Installieren Sie das 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/serverDies erstellt Linkedsword.rbxmx und kopiert es in Ihren lokalen Plugin-Ordner:
macOS:
~/Documents/Roblox/Plugins/Windows:
%LOCALAPPDATA%/Roblox/Plugins/
3. Aktivieren Sie HTTP-Anfragen in Studio
In Roblox Studio: File > Game Settings > Security > Allow HTTP Requests (aktivieren).
Das Plugin kommuniziert mit dem MCP-Server über HTTP auf localhost:3003. Diese Einstellung gilt pro Place.
4. Verbinden
Öffnen Sie einen Place in Roblox Studio.
Klicken Sie auf Linkedsword in der Plugin-Symbolleiste.
Das Widget sollte den Status "Connected" anzeigen.
Beginnen Sie mit der Nutzung der Werkzeuge über Ihren MCP-Client.
Architektur
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 FeedWerkzeug-Verzeichnis (73)
Navigation (6)
get_file_tree . get_project_structure . get_place_info . get_services . list_roblox_studios . set_active_studio
Suche & Inspektion (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
Skriptbearbeitung (9 — mit 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
Instanzmanipulation (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-Automatisierung (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
Räumlich (5)
create_weld . get_bounding_box . raycast . fill_terrain . clear_terrain
Entwicklung
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.rbxmxLokale MCP-Konfiguration
Kopieren Sie .mcp.json.example nach .mcp.json und passen Sie bei Bedarf den Pfad an:
cp .mcp.json.example .mcp.jsonProjektstruktur
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.mdBekannte Einschränkungen
Heartbeat-Timeouts bei schnellen parallelen Werkzeugaufrufen (Wiederholung funktioniert).
Ein Neustart des MCP-Servers erfordert das Neuladen Ihres Editor-Fensters.
user_mouse_inputunduser_keyboard_inputsind im Plugin noch nicht vollständig implementiert.capture_screenshotist noch nicht verfügbar.Der Sandbox-Modus ist deklariert, aber nicht implementiert.
Siehe docs/README.md für die vollständige Liste der Vorbehalte.
Lizenz
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