Skip to main content
Glama

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/server

Esto 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

  1. Abre un lugar en Roblox Studio.

  2. Haz clic en Linkedsword en la barra de herramientas de Plugins.

  3. El widget debería mostrar un estado de "Connected".

  4. 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 Feed

Registro 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.rbxmx

Configuración local de MCP

Copia .mcp.json.example a .mcp.json y ajusta la ruta si es necesario:

cp .mcp.json.example .mcp.json

Estructura 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.md

Limitaciones 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_input y user_keyboard_input no están completamente implementados en el plugin.

  • capture_screenshot aú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

A
license - permissive license
-
quality - not tested
C
maintenance

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