Melo
Linkedsword
Servidor MCP + plugin para Roblox Studio — 73 herramientas para edición de scripts, operaciones masivas, automatización de pruebas de juego y más.
Linkedsword combina lo mejor del MCP comunitario de BoshyXD (operaciones masivas, grep, biblioteca de construcciones) con el MCP oficial de Roblox (automatización de pruebas de juego, entrada virtual, instancias múltiples) en un solo paquete, y añade además la revisión de diferencias (diff) de scripts.
Características
Revisión de diferencias (diff) de scripts — Diferencias en línea al estilo GitHub dentro del plugin de Studio. Acepta o rechaza fragmentos individuales antes de que se apliquen.
73 herramientas — navegación, búsqueda, edición de scripts, manipulación de instancias, control de pruebas de juego, operaciones espaciales y más.
Operaciones por lotes — creación masiva, duplicación y configuración de propiedades en múltiples instancias.
Feed de actividad — registro en tiempo real de cada llamada a herramienta con tiempo y estado.
Sistema de modos — Completo (lectura + escritura), Inspector (solo lectura) o auto-aceptación para flujos de trabajo desatendidos.
Inicio rápido
Requisitos previos
Node.js 18+
Roblox Studio
1. Instalar el servidor MCP
# 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. Instalar el plugin de Studio
# 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/serverEsto compila Linkedsword.rbxmx y lo copia en tu carpeta de plugins local:
macOS:
~/Documents/Roblox/Plugins/Windows:
%LOCALAPPDATA%/Roblox/Plugins/
3. Habilitar solicitudes HTTP en Studio
En Roblox Studio: File > Game Settings > Security > Allow HTTP Requests (habilítalo).
El plugin se comunica con el servidor MCP a través de HTTP en localhost:3003. Esta configuración es por lugar (place).
4. Conectar
Abre un lugar en Roblox Studio.
Haz clic en Linkedsword en la barra de herramientas de Plugins.
El widget debería mostrar un estado de "Connected".
Empieza a usar las herramientas desde tu cliente MCP.
Arquitectura
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 FeedRegistro de herramientas (73)
Navegación (6)
get_file_tree . get_project_structure . get_place_info . get_services . list_roblox_studios . set_active_studio
Búsqueda e inspección (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
Edición de scripts (9 — con puesta en escena de diff)
get_script_source . set_script_source . patch_script . grep_replace . execute_luau . run_code . edit_script_lines . insert_script_lines . delete_script_lines
Manipulación de instancias (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
Automatización de pruebas de juego (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 y 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
Espacial (5)
create_weld . get_bounding_box . raycast . fill_terrain . clear_terrain
Desarrollo
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.rbxmxConfiguración local de MCP
Copia .mcp.json.example a .mcp.json y ajusta la ruta si es necesario:
cp .mcp.json.example .mcp.jsonEstructura del proyecto
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.mdLimitaciones conocidas
Tiempos de espera de Heartbeat en llamadas paralelas rápidas a herramientas (el reintento funciona).
El reinicio del servidor MCP requiere recargar la ventana del editor.
user_mouse_inputyuser_keyboard_inputno están completamente implementados en el plugin.capture_screenshotaún no está disponible.El modo Sandbox está declarado pero no implementado.
Consulta docs/README.md para ver la lista completa de advertencias.
Licencia
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