Skip to main content
Glama

Linkedsword

Roblox Studio MCP 서버 + 플러그인 — 스크립트 편집, 대량 작업, 플레이테스트 자동화 등을 위한 73개의 도구.

Linkedsword는 BoshyXD의 커뮤니티 MCP(대량 작업, grep, 빌드 라이브러리)와 Roblox 공식 MCP(플레이테스트 자동화, 가상 입력, 다중 인스턴스)의 장점을 단일 패키지로 결합하고, 여기에 스크립트 diff 검토 기능을 추가했습니다.

기능

  • 스크립트 diff 검토 — Studio 플러그인 내에서 GitHub 스타일의 인라인 diff를 제공합니다. 변경 사항이 적용되기 전에 개별 덩어리(hunk)를 수락하거나 거부할 수 있습니다.

  • 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. Studio에서 HTTP 요청 활성화

Roblox Studio에서: File > Game Settings > Security > Allow HTTP Requests (활성화).

플러그인은 localhost:3003에서 HTTP를 통해 MCP 서버와 통신합니다. 이 설정은 장소(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

알려진 제한 사항

  • 빠른 병렬 도구 호출 시 하트비트 타임아웃 발생(재시도 가능).

  • MCP 서버를 다시 시작하려면 편집기 창을 다시 로드해야 함.

  • user_mouse_inputuser_keyboard_input은 플러그인에서 완전히 구현되지 않음.

  • capture_screenshot은 아직 사용할 수 없음.

  • 샌드박스 모드는 선언되어 있으나 구현되지 않음.

전체 주의 사항 목록은 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