Skip to main content
Glama

Tripwire

made by alibolly

npm CI MCP Registry License: MIT

AIコーディングエージェントにRoblox StudioとRoblox Open Cloudの実際の制御を与え、他のどのStudio MCPにもないテスト・セキュリティ層を備えたMCPサーバーです。

Tripwireを使うと、アシスタントはデータモデルの読み取り・書き込み・編集、シミュレートされた入力によるプレイテストの実行、実際のエンジンでのヘッドレステストのコードとしての実行、ゲームコード内のクライアント信頼エクスプロイトの検出、そしてOpen Cloud API(DataStores、MessagingService、Memory Storesなど)の呼び出しができます。StudioツールにはAPIキーは不要です。ヘッドレステスト、アセット、Open CloudツールはOpen Cloudキーを使用します。


要件

  • MCPクライアント: Claude Code、Codex、Gemini、またはstdioでMCPを話す任意のクライアント。

  • Roblox Studio(Studioツール用)。これらはAPIキーを必要としません。

  • Node.js(npxでサーバーを実行する場合のみ)。プリビルドバイナリにはNodeは不要です。

  • ヘッドレステスト、アセット、Open Cloudツール用: 公開済みのプレイスとRoblox Open Cloud APIキー。Open Cloudセットアップを参照してください。

Related MCP server: Roblox Studio Ultimate MCP Server

クイックスタート

Tripwireは、AIコーディングエージェントを通じてStudioを操作するRoblox開発者向けです。

  1. サーバーをMCPクライアントに接続します(1コマンドまたは小さな設定ブロック。下記のインストールを参照)。

  2. StudioツールがStudioに到達できるようにStudioプラグインをインストールします(インストールのプラグイン手順を参照)。

  3. Studioでプレイスを開き、ゲーム設定 > セキュリティ > HTTPリクエストを許可をオンにして、Tripwireツールバーボタンをクリックし、パネルで接続を押します。パネルに接続済みと表示され、出力に[Tripwire v...] connectedと表示されます。

  4. エージェントにstudio_statusを実行するよう依頼します。接続されたStudioがブリッジの動作を確認します。

  5. オプション: ヘッドレステスト、アセット、Open Cloudツール用にOpen Cloudキーを追加します(Open Cloudセットアップを参照)。


インストール

Tripwireのサーバーは単一のバイナリです。最も簡単な実行方法はnpxで、プラットフォーム用のプリビルドバイナリを取得するため、Rustツールチェーンをインストールする必要はありません。手動のバイナリやソースからのビルドを希望しますか?このセクションの最後にある代替案を参照してください。

1コマンド:

claude mcp add --transport stdio tripwire -- npx -y tripwire-roblox

または、プロジェクトの.mcp.json(または~/.claude.json)に追加:

{
  "mcpServers": {
    "tripwire": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "tripwire-roblox"]
    }
  }
}

~/.codex/config.tomlに追加:

[mcp_servers.tripwire]
command = "npx"
args = ["-y", "tripwire-roblox"]

または: codex mcp add tripwire -- npx -y tripwire-roblox

~/.gemini/settings.json(またはプロジェクトの.gemini/settings.json)に追加:

{
  "mcpServers": {
    "tripwire": {
      "command": "npx",
      "args": ["-y", "tripwire-roblox"]
    }
  }
}

または: gemini mcp add tripwire npx -y tripwire-roblox

stdioでMCPを話す任意のクライアントで実行できます:

command: npx
args:    ["-y", "tripwire-roblox"]

プリビルドバイナリ(Node不要)。 Releasesページからプラットフォーム用のアーカイブをダウンロードし(例: tripwire-server-vX.Y.Z-aarch64-apple-darwin.tar.gz)、解凍して、クライアントのcommandを解凍したtripwire-serverに空のargsで指定します。

ソースからビルドRustが必要):

git clone https://github.com/aliboIly/Tripwire.git
cd Tripwire/server
cargo build --release   # produces server/target/release/tripwire-server

次に、クライアントのcommandをそのバイナリパスに指定します。

Studioツールは、ローカルサーバーをロングポーリングする小さなプラグインを通じてStudioに到達します。ReleasesページからTripwire.rbxmxを取得するか、ビルドします:

cd Tripwire/plugin
npm install
npx rbxtsc
rojo build --output Tripwire.rbxmx
cp Tripwire.rbxmx ~/Documents/Roblox/Plugins/   # macOS; Windows: %LOCALAPPDATA%\Roblox\Plugins

Studioを再起動し、ゲーム設定 > セキュリティ > HTTPリクエストを許可を有効にして、Tripwireツールバーボタンをクリックし、パネルで接続を押します。パネルに接続済みと表示され、出力に[Tripwire v...] connectedと表示されます。

Studioツールにはキーは不要です。Open Cloudツールには必要です。完全な手順は下記のOpen Cloudセットアップを参照してください。


Open Cloudセットアップ

Tripwireの大部分は資格情報を必要としません。これらのツールはRoblox Open Cloudを呼び出すため、資格情報が必要です: run_luau、ヘッドレステスト(run_testsrun_test_filelist_tests)、および以下のOpen Cloudセクションのすべてのツール(アセット、公開、データストア、メッセージング、メモリ、ユニバースとサーバー、Engine Instance API、モデレーション、シークレット、マネタイゼーション、Creator Store、グループ、アナリティクス、プラットフォーム、open_cloud_request)。これらはRoblox Open Cloud APIキーで認証します。

自己責任で使用してください。 Open Cloudキーは、エクスペリエンスに対して実際の権限を持つ実際の資格情報です。付与するスコープによっては、ライブのDataStoresを読み取り・上書きしたり、プレイスの新しいバージョンを公開したり、アカウントにアセットをアップロードしたり、サーバーにメッセージを送信したりできます。パスワードのように扱ってください: 実際に使用するスコープのみを付与し、自分のIPに制限し、決してコミットせず、漏洩したら失効させてください。あなたは自分が行うことに対して責任があります。TripwireはRobloxとは提携しておらず、Robloxの推奨も受けていません。

1. キーの作成

  1. create.roblox.com/dashboard/credentialsにアクセスしてサインインします。

  2. APIキーの作成をクリックし、名前を付けます(例: Tripwire)。

  3. アクセス許可で、使用するツールに必要なAPIシステムのみを追加し、それぞれに必要な操作をエクスペリエンスにスコープして付与します。ダッシュボードが提供するすべてのシステムにはツールがあります。マップは下記の権限とツールにあります。簡単なバージョン:

    • Luau実行(書き込み): run_luauとヘッドレステスト。

    • universe-places(書き込み): publish_place

    • アセット(読み取り+書き込み)およびアセット権限: アセットツール。

    • DataStoresおよびOrdered DataStores: データストアツール。

    • Messaging Service(公開)およびMemory Stores: それらのツール。

    • UniversePlaceInstanceUser RestrictionsSecretsAnalytics: ユニバース、サーバー、インスタンス、モデレーション、シークレット、アナリティクスツール。

    • Developer ProductsGame PassesCreator Store: マネタイゼーションとストアツール。

    • User/Group/Inventory/Subscription/Notification: プラットフォーム、グループ、エンゲージメントツール。

    • その他(レガシーおよび実験的システム): open_cloud_request

  4. セキュリティで、許可IPアドレスを自分のマシンのIPに設定するか、0.0.0.0/0に設定して任意を許可します(ローカル使用には最も簡単)。必要に応じて有効期限を設定します。

  5. 保存してキーを生成をクリックし、キー文字列をコピーします。一度だけ表示されます。

2. ユニバースIDとプレイスIDを見つける

Studioのコマンドバー(表示、次にコマンドバー)で、次を実行します:

print("universe", game.GameId, "place", game.PlaceId)

GameIdROBLOX_UNIVERSE_IDPlaceIdROBLOX_PLACE_IDです。Open Cloudが操作するには、プレイスがRobloxに公開されている必要があります。

3. Tripwireに資格情報を渡す

リポジトリのルートに.envを作成します。これはgitignoreされており、サーバーが自動的に読み込みます:

ROBLOX_OPEN_CLOUD_KEY=paste_the_key_here
ROBLOX_UNIVERSE_ID=000000
ROBLOX_PLACE_ID=000000
ROBLOX_CREATOR_USER_ID=000000   # only for upload_asset (your user id)

または、同じ変数をMCPクライアントのenvブロックに配置します(これらが優先されます)。変更後はMCPサーバーを再接続してください。各ツールは、キーがそのスコープを付与されている場合に機能し、スコープが欠落している場合はRoblox自身のエラーを返すため、必要に応じてスコープを追加できます。


ツール

接続

読み取りと検査

空間(読み取り専用)

編集(各操作は1つの元に戻すステップ)

プレイテストと入力

テストとヘッドレス実行(Open Cloud)

セキュリティレビュー(静的解析、キー不要)

アセットと公開(Open Cloud)

DataStores(Open Cloud)

メッセージングとメモリ(Open Cloud)

ユニバース、プレイス、サーバー(Open Cloud)

Engine Instance API(Open Cloud、Studio不要)

モデレーション(Open Cloud)

シークレット(Open Cloud)

マネタイゼーションとCreator Store(Open Cloud)

グループ(Open Cloud)

プラットフォーム、エンゲージメント、分析 (Open Cloud)

その他すべて (Open Cloud)

ツールの権限

Creator Dashboard でキーに追加できるすべての API システムと、それを使用するツール。スコープ名は、ダッシュボードと Roblox のエラーメッセージで使用される名前です。

権限 (スコープ)

ツール

Luau 実行 (universe.place.luau-execution-session)

run_luau, run_tests, run_test_file, list_tests

プレイス (universe-places:write, universe.place)

publish_place, update_place, get_place

ユニバース (universe:read, universe:write)

update_universe, restart_servers, translate_text, list_game_servers, get_game_server_logs

インスタンス (universe.place.instance)

cloud_list_instance_children, cloud_get_instance, cloud_update_instance

データストア (universe-datastores.control, .objects, .versions)

DataStores セクション: エントリ、リビジョン、ストア削除、スナップショット

順序付きデータストア (universe.ordered-data-store.scope.entry)

list/get/set/increment/delete_ordered_entry

メモリストア (memory-store.sorted-map, .queue, :flush)

sorted-map ツールとキュー ツール、flush_memory_store

メッセージングサービス (universe-messaging-service:publish)

publish_message

ユーザー制限 (universe.user-restriction)

list/get/set_user_restriction, list_user_restriction_logs

シークレット (universe.secret)

list/create/update/delete_secret

アセット (asset:read, asset:write)

upload_asset, get_asset, update_asset, list_asset_versions, rollback_asset_version, archive_asset, restore_asset, list_asset_quotas

アセット権限 (asset-permissions:write)

grant_asset_permissions

レガシーアセット (legacy-asset:manage)

download_asset

デベロッパープロダクト (developer-product)

list/get/create/update_developer_product

ゲームパス (game-pass)

list/get/create/update_game_pass

Creator Store (creator-store-product)

search_creator_store, get_creator_store_asset, get_creator_store_product; 作成と更新は open_cloud_request 経由

グループ (group:read, group:write)

get_group, list_group_memberships, list_group_roles, list_group_join_requests, resolve_group_join_request, set_group_role

ユーザーとインベントリ (user.advanced:read, user.social:read, user.inventory-item:read)

get_user, generate_user_thumbnail, list_inventory

通知 (user.user-notification:write)

send_notification

サブスクリプション (universe.subscription-product.subscription:read)

get_subscription

分析 (universe.analytics:read)

query_analytics

その他すべて: 広告、ゲームイベント、サムネイル、Creator Store の保存、レガシーバッジ、レガシー開発、レガシーフォロー、レガシーゲームの国際化、レガシーグループ、レガシーローカリゼーションテーブル、レガシーパブリッシュ、レガシーチームコラボレーション、レガシーユーザー

open_cloud_request


できること

  • プロンプトからシーンを構築する。 インスタンスの作成・一括作成、型付きプロパティの設定、モデルの挿入、スクリプトの記述を、それぞれクリーンなアンドゥステップとして実行できます。

  • CIでゲームプレイをテストする。 スペックを書き、Open Cloudを通じて実際のエンジンでヘッドレスに実行し、プルリクエストを結果でゲートします。

  • 公開前にエクスプロイトを検出する。 セキュリティレビューアが、クライアント入力を信頼するサーバーハンドラをフラグし、サーバー側の修正を提案します。同じチェックがすべてのPRで自動的に実行されます。

  • 実際のプレイテストを実行する。 プレイモードに入り、キーボードとマウスの入力を送信し、キャラクターを特定の場所まで歩かせ、サーバー/クライアントの結合出力を読み取り、停止します。

  • ライブのプレイスを検査する。 インスタンスツリーを読み取り、名前やプロパティで検索し、スクリプトを読んでgrepし、Outputログを取得します。

  • Open Cloudを自動化する。 テストフィクスチャ用にDataStoresをシードし、プレイスを公開し、MessagingServiceのトピックをブロードキャストするか、ユーザー、グループ、インベントリを検索します。


既知の制限

これらはプラットフォームの制限であり、バグではありません。事前に把握しておけるよう、ここに記載しています。

  • F5プレイテストの停止はベストエフォートです。stop_playtest は、プラグインと実行中のゲームが別々のDataModelであるため、効かない場合があります。stop_simulation(F8)はクリーンに停止します。F5プレイテストが停止しない場合は、StudioでStopを押してください。

  • プレイ中のアクションは、注入されたランナーを通じて実行されます。プレイテスト中の入力、ランタイム状態、停止は、ブリッジ経由で中継され、プラグインに直接呼び出されるわけではありません。

  • ヘッドレステストはサーバーコンテキストで実行されます。Open Cloudは公開されたプレイスをサーバー上で実行するため、RunService:IsStudio() はfalseになり、プラグインAPIは存在しません。サーバーおよびゲームプレイのロジックとセキュリティテストに使用し、Studioプラグインやクライアント入力の動作には使用しないでください。

  • Robloxの組み込みAssistantとのツールのパリティは手動で維持されています。

  • いくつかのOpen Cloudシステムは、Roblox側でベータ版または実験的です(Instance API、ユーザー制限、シークレット、ゲームサーバー、アナリティクス、および open_cloud_request の背後にあるすべてのもの)。それらの形状は変更される可能性があり、open_cloud_request は整理された応答ではなく生の応答を返します。

Tripwireは、一人の開発者が余暇にメンテナンスしています。Issueとプルリクエストには、通常1週間以内に返信があります。返信が遅くても、無視しているわけではありません。


トラブルシューティング

Studioツールがタイムアウトする、または接続されたStudioがないと報告される。 プラグインが接続されていません。Tripwire.rbxmx をインストールし、Studioを再起動し、Tripwireツールバーボタンをクリックして、パネルでConnectを押してください。パネルのステータスとOutput行の [Tripwire v...] connected の両方で確認できます。

プラグインがHTTPがブロックされていると報告する。 開いているプレイスで、Game Settings > Security > Allow HTTP Requests をオンにしてください。これは最も一般的なセットアップの失敗です。これがないとStudioはローカルブリッジに到達できません。

Outputにプラグインとサーバー間のバージョン不一致が表示される。 インストールされている .rbxmx が古いです。再ビルドし(npx rbxtsc && rojo build --output Tripwire.rbxmx)、Pluginsフォルダにコピーして、Studioを再起動してください。プラグインはコンパイルされたバージョンを出力するため、プレフィックスで実際にインストールされているものがわかります。パネルのヘッダーにも同じバージョンが表示されます。

Open Cloudツールが 401 Invalid API Key を返す。 キー自体が受け入れられていません。キーが再生成されたか、期限切れか、不完全に貼り付けられた可能性があります。すべてのツールが同じように失敗します。Creator Dashboardでキーを再作成またはコピーし、ROBLOX_OPEN_CLOUD_KEY を置き換えて、MCPサーバーに再接続してください。

Open Cloudツールが403またはスコープエラーを返す。 キーにそのツールが必要とするスコープがないか、ユニバースIDまたはプレイスIDが間違っているか、プレイスが公開されていません。Creator Dashboardでスコープを追加し(ツールの説明に名前が記載されています)、IDを確認し、MCPサーバーに再接続してください。エラーテキストはRoblox自身のものなので、何が不足しているかが示されます。

run_tests が最新の変更を認識しない。 公開されたプレイスを読み取ります。先に公開してください。rojo serve はライブ編集セッションのみを更新し、Open Cloudが実行するものは更新しません。

npx がサーバーを取得できない。 Node.jsがないか、最初のダウンロードのためのネットワークがありません。Nodeをインストールするか、Releasesページのプリビルドバイナリを使用して、command をそれに向けてください(InstallのAlternativesを参照)。

サーバーがブリッジポートがビジーであると報告する。 以前のサーバーがまだポート44331を保持しています。古いMCPセッションまたは古いプロセスを閉じてから、再接続してください。


先行技術

Studioランタイムのアプローチ(ローカルサーバーをロングポーリングするプラグイン、注入されたインプレイランナー)は、boshyxd/robloxstudio-mcpChrrxs/robloxstudio-mcp のアイデアに従っています。Tripwireは独立したゼロからの実装であり、ヘッドレステストハーネス、CIセキュリティレビューア、Open Cloudツールは独自のものです。


コントリビューション

バグ報告、機能アイデア、パッチを歓迎します。セットアップ、ビルドゲート、ブランチとコミットのルールについては CONTRIBUTING.md を、各部分がどのように連携するかについては ARCHITECTURE.md を参照してください。参加することで、Code of Conduct に同意したことになります。

セキュリティの問題を発見しましたか? 公開のIssueを開かないでください。非公開の開示方法については SECURITY.md を参照してください。

変更履歴

各バージョンのリリースノートは Releases ページにあります。


ライセンス

MIT。 LICENSE を参照してください。

A
license - permissive license
Not graded
quality - not tested
A
maintenance

Maintenance

0dRelease cycle
5Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    An agentic MCP server for Roblox Studio that provides over 45 tools for script diffing, playtest automation, and bulk instance manipulation. It enables AI agents to manage full development cycles within Roblox, including transaction-safe batch operations and real-time script reviews.
    2
    1
    MIT

View all related MCP servers

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/aliboIly/Tripwire'

If you have feedback or need assistance with the MCP directory API, please join our Discord server