Skip to main content
Glama

Tripwire

erstellt von alibolly

npm CI MCP Registry License: MIT

Ein MCP-Server, der einem KI-Codierungsagenten echte Kontrolle über Roblox Studio und Roblox Open Cloud gibt, mit einer Test- und Sicherheitsebene, die kein anderes Studio-MCP hat.

Tripwire ermöglicht einem Assistenten, das Datenmodell zu lesen, zu schreiben und zu bearbeiten, Playtests mit simulierten Eingaben durchzuführen, Tests-als-Code headless in der echten Engine auszuführen, Client-Trust-Exploits im Spielcode zu kennzeichnen und die Open Cloud APIs aufzurufen (DataStores, MessagingService, Memory Stores und mehr). Die Studio- Tools benötigen keinen API-Schlüssel; die headless Test-, Asset- und Open-Cloud-Tools verwenden einen Open-Cloud-Schlüssel.


Anforderungen

  • Ein MCP-Client: Claude Code, Codex, Gemini oder jeder Client, der MCP über stdio spricht.

  • Roblox Studio, für die Studio-Tools. Diese benötigen keinen API-Schlüssel.

  • Node.js, nur wenn du den Server mit npx ausführst. Die vorgefertigte Binärdatei benötigt kein Node.

  • Für die headless Test-, Asset- und Open-Cloud-Tools: ein veröffentlichter Ort und ein Roblox Open Cloud API-Schlüssel. Siehe Open Cloud Einrichtung.

Related MCP server: Roblox Studio Ultimate MCP Server

Schnellstart

Tripwire ist für Roblox-Entwickler gedacht, die Studio über einen KI-Codierungsagenten steuern.

  1. Verdrahte den Server in deinen MCP-Client (ein Befehl oder ein kleiner Konfigurationsblock, siehe Installation unten).

  2. Installiere das Studio-Plugin, damit die Studio-Tools Studio erreichen können (siehe den Plugin-Schritt unter Installation).

  3. Öffne deinen Ort in Studio, aktiviere Game Settings > Security > Allow HTTP Requests, klicke dann auf die Tripwire-Toolbar-Schaltfläche und drücke in der Leiste auf Connect. Die Leiste zeigt Connected an und die Ausgabe gibt [Tripwire v...] connected aus.

  4. Bitte deinen Agenten, studio_status auszuführen. Ein verbundenes Studio bestätigt, dass die Brücke funktioniert.

  5. Optional: Füge einen Open-Cloud-Schlüssel für die headless Test-, Asset- und Open-Cloud-Tools hinzu (siehe Open Cloud Einrichtung).


Installation

Der Server von Tripwire ist eine einzelne Binärdatei. Am einfachsten lässt du ihn mit npx laufen, das die vorgefertigte Binärdatei für deine Plattform abruft, sodass keine Rust-Toolchain installiert werden muss. Bevorzugst du eine manuelle Binärdatei oder einen Build aus dem Quellcode? Siehe die Alternativen am Ende dieses Abschnitts.

Ein Befehl:

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

Oder füge ihn zu einem Projekt-.mcp.json (oder ~/.claude.json) hinzu:

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

Füge zu ~/.codex/config.toml hinzu:

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

Oder: codex mcp add tripwire -- npx -y tripwire-roblox

Füge zu ~/.gemini/settings.json (oder einem Projekt-.gemini/settings.json) hinzu:

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

Oder: gemini mcp add tripwire npx -y tripwire-roblox

Jeder Client, der MCP über stdio spricht, kann ihn ausführen:

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

Vorgefertigte Binärdatei (ohne Node). Lade das Archiv für deine Plattform von der Releases-Seite herunter (zum Beispiel tripwire-server-vX.Y.Z-aarch64-apple-darwin.tar.gz), entpacke es und weise den command deines Clients auf die entpackte tripwire-server-Datei mit leeren args zu.

Build aus dem Quellcode (benötigt Rust):

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

Weise dann den command deines Clients auf diesen Binärpfad zu.

Die Studio-Tools erreichen Studio über ein kleines Plugin, das den lokalen Server per Long-Polling abfragt. Lade Tripwire.rbxmx von der Releases-Seite herunter oder baue es:

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

Starte Studio neu, aktiviere Game Settings > Security > Allow HTTP Requests, klicke dann auf die Tripwire-Toolbar-Schaltfläche und drücke in der Leiste auf Connect. Die Leiste zeigt Connected an und die Ausgabe gibt [Tripwire v...] connected aus.

Die Studio-Tools benötigen keinen Schlüssel. Die Open-Cloud-Tools schon. Siehe Open Cloud Einrichtung unten für die vollständige Anleitung.


Open Cloud Einrichtung

Der größte Teil von Tripwire benötigt keine Anmeldeinformationen. Diese Tools schon, weil sie Roblox Open Cloud aufrufen: run_luau, die headless Tests (run_tests, run_test_file, list_tests) und jedes Tool in den Open-Cloud-Abschnitten unten (Assets, Veröffentlichung, Data Stores, Messaging, Memory, Universum und Server, die Engine Instance API, Moderation, Secrets, Monetarisierung, Creator Store, Gruppen, Analytics, Plattform und open_cloud_request). Sie authentifizieren sich mit einem Roblox Open Cloud API-Schlüssel.

Verwendung auf eigene Gefahr. Ein Open-Cloud-Schlüssel ist eine echte Anmeldeinformation mit echter Macht über dein Erlebnis. Je nachdem, welche Bereiche du ihm gewährst, kann er deine Live-DataStores lesen und überschreiben, neue Versionen deines Ortes veröffentlichen, Assets auf dein Konto hochladen und Nachrichten an deine Server senden. Behandle ihn wie ein Passwort: Gewähre nur die Bereiche, die du tatsächlich nutzt, beschränke ihn auf deine eigene IP, übergib ihn niemals und widerrufe ihn, wenn er leakt. Du bist verantwortlich für das, was du damit tust. Tripwire ist nicht mit Roblox verbunden oder von Roblox unterstützt.

1. Den Schlüssel erstellen

  1. Gehe zu create.roblox.com/dashboard/credentials und melde dich an.

  2. Klicke auf Create API Key und benenne ihn (zum Beispiel Tripwire).

  3. Füge unter Access Permissions nur die API-Systeme für die Tools hinzu, die du möchtest, und gewähre jedem die benötigte Operation, die auf dein Erlebnis eingegrenzt ist. Jedes System, das das Dashboard anbietet, hat ein Tool; die Zuordnung findest du in Berechtigungen zu Tools unten. Die Kurzversion:

    • Luau Execution (write): run_luau und die headless Tests.

    • universe-places (write): publish_place.

    • Assets (read + write) und Asset Permissions: die Asset-Tools.

    • DataStores und Ordered DataStores: die Data-Store-Tools.

    • Messaging Service (publish) und Memory Stores: diese Tools.

    • Universe, Place, Instance, User Restrictions, Secrets, Analytics: die Universums-, Server-, Instanz-, Moderations-, Secrets- und Analytics-Tools.

    • Developer Products, Game Passes, Creator Store: die Monetarisierungs- und Store-Tools.

    • User/Group/Inventory/Subscription/Notification: die Plattform-, Gruppen- und Engagement-Tools.

    • Alles andere (die Legacy- und experimentellen Systeme): open_cloud_request.

  4. Setze unter Security bei Accepted IP Addresses die IP deines Rechners oder 0.0.0.0/0, um jede IP zuzulassen (am einfachsten für die lokale Nutzung). Lege bei Bedarf ein Ablaufdatum fest.

  5. Klicke auf Save & Generate Key und kopiere die Schlüsselzeichenfolge. Sie wird nur einmal angezeigt.

2. Deine Universums- und Platz-IDs finden

Führe in der Studio-Befehlsleiste (View, dann Command Bar) Folgendes aus:

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

GameId ist deine ROBLOX_UNIVERSE_ID; PlaceId ist deine ROBLOX_PLACE_ID. Der Ort muss veröffentlicht sein, damit Open Cloud auf ihn einwirken kann.

3. Tripwire die Anmeldeinformationen geben

Erstelle eine .env im Repository-Stammverzeichnis. Sie ist gitignored und der Server lädt sie automatisch:

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)

Oder füge dieselben Variablen stattdessen in den env-Block deines MCP-Clients ein (diese haben Vorrang). Verbinde den MCP-Server nach einer Änderung neu. Jedes Tool funktioniert, wenn der Schlüssel seinen Bereich gewährt und bei fehlendem Bereich Roblox' eigenen Fehler zurückgibt, sodass du Bereiche nach Bedarf hinzufügen kannst.


Tools

Verbindung

Lesen und untersuchen

Räumlich (schreibgeschützt)

Bearbeiten (jeder Schritt ist ein Undo-Schritt)

Playtest und Eingabe

Tests und Headless-Ausführung (Open Cloud)

Sicherheitsüberprüfung (statische Analyse, ohne Schlüssel)

Assets und Veröffentlichung (Open Cloud)

DataStores (Open Cloud)

Messaging und Speicher (Open Cloud)

Universum, Ort und Server (Open Cloud)

Engine-Instance-API (Open Cloud, kein Studio erforderlich)

Moderation (Open Cloud)

Secrets (Open Cloud)

Monetarisierung und Creator Store (Open Cloud)

Gruppen (Open Cloud)

Plattform, Engagement und Analytics (Open Cloud)

Alles andere (Open Cloud)

Berechtigungen für Tools

Jedes API-System, das Sie auf dem Creator Dashboard zu einem Schlüssel hinzufügen können, und die Tools, die es verwenden. Scope-Namen sind diejenigen, die das Dashboard und Roblox-Fehlermeldungen verwenden.

Berechtigung (Scope)

Tools

Luau Execution (universe.place.luau-execution-session)

run_luau, run_tests, run_test_file, list_tests

Places (universe-places:write, universe.place)

publish_place, update_place, get_place

Universe (universe:read, universe:write)

update_universe, restart_servers, translate_text, list_game_servers, get_game_server_logs

Instance (universe.place.instance)

cloud_list_instance_children, cloud_get_instance, cloud_update_instance

Data Stores (universe-datastores.control, .objects, .versions)

der DataStores-Abschnitt: Einträge, Revisionen, Store-Löschung, Snapshot

Ordered Data Stores (universe.ordered-data-store.scope.entry)

list/get/set/increment/delete_ordered_entry

Memory Stores (memory-store.sorted-map, .queue, :flush)

die sorted-map- und queue-Tools, flush_memory_store

Messaging Service (universe-messaging-service:publish)

publish_message

User Restrictions (universe.user-restriction)

list/get/set_user_restriction, list_user_restriction_logs

Secrets (universe.secret)

list/create/update/delete_secret

Assets (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 (asset-permissions:write)

grant_asset_permissions

Legacy Assets (legacy-asset:manage)

download_asset

Developer Products (developer-product)

list/get/create/update_developer_product

Game Passes (game-pass)

list/get/create/update_game_pass

Creator Store (creator-store-product)

search_creator_store, get_creator_store_asset, get_creator_store_product; Erstellen und Aktualisieren über open_cloud_request

Groups (group:read, group:write)

get_group, list_group_memberships, list_group_roles, list_group_join_requests, resolve_group_join_request, set_group_role

Users and Inventory (user.advanced:read, user.social:read, user.inventory-item:read)

get_user, generate_user_thumbnail, list_inventory

Notifications (user.user-notification:write)

send_notification

Subscriptions (universe.subscription-product.subscription:read)

get_subscription

Analytics (universe.analytics:read)

query_analytics

Alles andere: Ads, Game Events, Thumbnails, Creator Store saves, Legacy Badges, Legacy Develop, Legacy Followings, Legacy Game Internationalization, Legacy Groups, Legacy Localization Tables, Legacy Publish, Legacy Team Collaboration, Legacy Users

open_cloud_request


Was Sie tun können

  • Szenen aus einem Prompt bauen. Erstelle Instanzen, auch massenhaft, lege typisierte Eigenschaften fest, füge Modelle ein und schreibe Skripte – jeweils als sauberer Undo-Schritt.

  • Gameplay in CI testen. Schreibe Spezifikationen, führe sie headless in der echten Engine über Open Cloud aus und mache Pull-Requests von den Ergebnissen abhängig.

  • Exploits abfangen, bevor sie ausgeliefert werden. Der Sicherheits-Reviewer markiert Server-Handler, die Client-Eingaben vertrauen, und schlägt den serverseitigen Fix vor; dieselbe Prüfung läuft automatisch bei jedem PR.

  • Einen echten Playtest durchführen. Wechsle in den Play-Modus, sende Tastatur- und Mauseingaben, lasse die Figur an eine Stelle laufen, lies die kombinierte Server-/Client-Ausgabe und stoppe dann.

  • Einen Live-Place untersuchen. Lies den Instanzbaum, suche nach Name oder Eigenschaft, lies Skripte und durchsuche sie mit grep und rufe das Output-Protokoll ab.

  • Open Cloud automatisieren. Befülle DataStores für Test-Fixtures, veröffentliche einen Place, sende ein MessagingService-Thema oder schlage Benutzer, Gruppen und Inventar nach.


Bekannte Grenzen

Das sind Plattformgrenzen, keine Fehler. Sie sind hier festgehalten, damit du es vorher weißt.

  • Der F5-Playtest-Stopp ist Best-Effort. stop_playtest greift möglicherweise nicht, weil das Plugin und das laufende Spiel getrennte DataModels sind. stop_simulation (F8) stoppt sauber. Wenn ein F5-Playtest nicht stoppt, drücke in Studio auf Stopp.

  • Aktionen im Play-Modus laufen über einen injizierten Runner. Eingaben, Laufzeitzustand und Stopp während eines Playtests werden über die Brücke übertragen, nicht direkt am Plugin aufgerufen.

  • Headless-Tests laufen in einem Serverkontext. Open Cloud führt deinen veröffentlichten Place auf einem Server aus, auf dem RunService:IsStudio() false ist und Plugin-APIs fehlen. Nutze es für Server- und Gameplay-Logik sowie die Sicherheitstests, nicht für Studio-Plugin- oder Client-Eingabeverhalten.

  • Die Tool-Parität mit dem in Roblox integrierten Assistant wird von Hand gepflegt.

  • Mehrere Open-Cloud-Systeme sind auf Roblox-Seite Beta oder experimentell (die Instance-API, Benutzereinschränkungen, Secrets, Spielserver, Analysen und alles hinter open_cloud_request). Ihre Formen können sich ändern, und open_cloud_request liefert dir die rohe Antwort, keine aufbereitete.

Tripwire wird von einer Person in der Freizeit gepflegt. Issues und Pull-Requests erhalten normalerweise innerhalb von etwa einer Woche eine Antwort. Eine langsame Antwort ist kein Nein.


Fehlerbehebung

Die Studio-Tools melden einen Timeout oder kein verbundenes Studio. Das Plugin ist nicht verbunden. Installiere Tripwire.rbxmx, starte Studio neu, klicke auf den Tripwire-Symbolleisten-Button und drücke im Panel auf Verbinden. Der Panel-Status und die Output-Zeile [Tripwire v...] connected bestätigen beides.

Das Plugin meldet, dass HTTP blockiert ist. Aktiviere unter Spieleinstellungen > Sicherheit > HTTP-Anfragen zulassen für den geöffneten Place. Das ist der häufigste Einrichtungsfehler. Ohne diese Einstellung kann Studio die lokale Brücke nicht erreichen.

Das Output zeigt einen Versionskonflikt zwischen Plugin und Server. Die installierte .rbxmx ist veraltet. Baue sie neu (npx rbxtsc && rojo build --output Tripwire.rbxmx), kopiere sie in deinen Plugins-Ordner und starte Studio neu. Das Plugin gibt seine kompilierte Version aus; das Präfix verrät dir, was tatsächlich installiert ist; die Panel-Kopfzeile zeigt dieselbe Version.

Ein Open-Cloud-Tool gibt 401 Invalid API Key zurück. Der Schlüssel selbst wird nicht akzeptiert: Er wurde neu generiert, ist abgelaufen oder wurde unvollständig eingefügt. Jedes Tool schlägt auf dieselbe Weise fehl. Erstelle oder kopiere den Schlüssel erneut im Creator Dashboard, ersetze ROBLOX_OPEN_CLOUD_KEY und verbinde den MCP-Server neu.

Ein Open-Cloud-Tool gibt einen 403- oder Scope-Fehler zurück. Dem Schlüssel fehlt der Scope, den das Tool benötigt; die Universe- oder Place-ID ist falsch, oder der Place ist nicht veröffentlicht. Füge den Scope im Creator Dashboard hinzu (die Tool-Beschreibung nennt ihn), prüfe die IDs und verbinde den MCP-Server neu. Der Fehlertext stammt von Roblox und nennt, was fehlt.

run_tests sieht deine letzte Änderung nicht. Es liest den veröffentlichten Place. Veröffentliche zuerst; rojo serve aktualisiert nur die Live-Bearbeitungssitzung, nicht das, was Open Cloud ausführt.

npx kann den Server nicht abrufen. Du hast kein Node.js oder kein Netzwerk für den ersten Download. Installiere Node oder verwende die vorgefertigte Binärdatei von der Releases-Seite und setze command darauf (siehe Alternativen unter Installation).

Der Server meldet, dass der Bridge-Port belegt ist. Ein vorheriger Server belegt Port 44331 weiterhin. Schließe die alte MCP-Sitzung oder den veralteten Prozess und verbinde dich dann neu.


Verwandte Arbeiten

Der Studio-Runtime-Ansatz (ein Plugin, das einen lokalen Server per Long Polling abfragt, und ein injizierter In-Play-Runner) folgt Ideen aus boshyxd/robloxstudio-mcp und Chrrxs/robloxstudio-mcp. Tripwire ist eine unabhängige Implementierung von Grund auf; der Headless-Test-Harness, der CI-Sicherheits-Reviewer und das Open-Cloud-Tooling sind eigene Entwicklungen.


Mitwirken

Fehlerberichte, Feature-Ideen und Patches sind willkommen. Siehe CONTRIBUTING.md für das Setup, die Build-Gates und die Regeln für Branches und Commits und ARCHITECTURE.md dafür, wie die Teile zusammenpassen. Durch deine Teilnahme stimmst du dem Code of Conduct zu.

Ein Sicherheitsproblem gefunden? Eröffne kein öffentliches Issue. Siehe SECURITY.md für den privaten Meldeweg.

Änderungsprotokoll

Die Versionshinweise für jede Version findest du auf der Releases-Seite.


Lizenz

MIT. Siehe 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