Skip to main content
Glama

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. Подключение

  1. Откройте место в Roblox Studio.

  2. Нажмите Linkedsword на панели инструментов плагинов.

  3. Виджет должен показать статус "Connected".

  4. Начните использовать инструменты из вашего 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

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