Melo
Linkedsword
MCP-сервер + плагин для Roblox Studio — 73 инструмента для редактирования скриптов, массовых операций, автоматизации игрового тестирования и многого другого.
Linkedsword объединяет лучшее из общественного MCP от BoshyXD (массовые операции, grep, библиотека сборок) и официального MCP от Roblox (автоматизация тестирования, виртуальный ввод, работа с несколькими экземплярами) в одном пакете, добавляя к этому проверку различий (diff) в скриптах.
Функции
Проверка различий в скриптах — встроенные diff-сравнения в стиле GitHub внутри плагина Studio. Принимайте или отклоняйте отдельные фрагменты кода перед их применением.
73 инструмента — навигация, поиск, редактирование скриптов, манипуляция объектами, управление игровым тестированием, пространственные операции и многое другое.
Пакетные операции — массовое создание, дублирование и установка свойств для нескольких объектов.
Лента активности — журнал в реальном времени для каждого вызова инструмента с указанием времени и статуса.
Система режимов — Полный (чтение + запись), Инспектор (только чтение) или автопринятие для автоматизированных рабочих процессов.
Быстрый старт
Предварительные требования
Node.js 18+
Roblox Studio
1. Установка 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. Установка плагина для 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Это соберет Linkedsword.rbxmx и скопирует его в вашу локальную папку плагинов:
macOS:
~/Documents/Roblox/Plugins/Windows:
%LOCALAPPDATA%/Roblox/Plugins/
3. Включение HTTP-запросов в Studio
В Roblox Studio: File > Game Settings > Security > Allow HTTP Requests (включите эту опцию).
Плагин взаимодействует с MCP-сервером по протоколу HTTP на localhost:3003. Эта настройка применяется для каждого места (place) отдельно.
4. Подключение
Откройте место в Roblox Studio.
Нажмите Linkedsword на панели инструментов плагинов.
Виджет должен показать статус "Connected".
Начните использовать инструменты из вашего MCP-клиента.
Архитектура
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Реестр инструментов (73)
Навигация (6)
get_file_tree . get_project_structure . get_place_info . get_services . list_roblox_studios . set_active_studio
Поиск и инспекция (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
Редактирование скриптов (9 — с промежуточным хранением diff)
get_script_source . set_script_source . patch_script . grep_replace . execute_luau . run_code . edit_script_lines . insert_script_lines . delete_script_lines
Манипуляция объектами (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
Автоматизация игрового тестирования (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 и мета-инструменты (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
Пространственные операции (5)
create_weld . get_bounding_box . raycast . fill_terrain . clear_terrain
Разработка
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Локальная конфигурация MCP
Скопируйте .mcp.json.example в .mcp.json и при необходимости измените путь:
cp .mcp.json.example .mcp.jsonСтруктура проекта
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Известные ограничения
Тайм-ауты Heartbeat при быстрых параллельных вызовах инструментов (повторные попытки работают).
Перезапуск MCP-сервера требует перезагрузки окна редактора.
user_mouse_inputиuser_keyboard_inputне полностью реализованы в плагине.capture_screenshotпока недоступен.Режим песочницы (Sandbox) заявлен, но не реализован.
Полный список предостережений см. в docs/README.md.
Лицензия
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