Skip to main content
Glama

Linkedsword

Roblox Studio MCPサーバー + プラグイン — スクリプト編集、一括操作、プレイテスト自動化など、73種類のツールを提供します。

Linkedswordは、BoshyXDのコミュニティMCP(一括操作、grep、ビルドライブラリ)とRoblox公式MCP(プレイテスト自動化、仮想入力、マルチインスタンス)の長所を1つのパッケージに統合し、さらにスクリプトの差分レビュー機能を追加したものです。

機能

  • スクリプト差分レビュー — Studioプラグイン内でGitHubスタイルのインライン差分を表示します。変更を適用する前に、個々のハンク(変更箇所)を承認または拒否できます。

  • 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 — 差分ステージング機能付き)

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

差分とメタデータ (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 はまだ利用できません。

  • サンドボックスモードは宣言されていますが、実装されていません。

注意事項の全リストについては 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