# Aliboily Tripwire MCP server

Source: https://glimind.com/server/mcp-registry%2Fio.github.aliboily%2Ftripwire
Registry id: `mcp-registry/io.github.aliboily/tripwire`
Status: unknown

## Install

```json
{
  "mcpServers": {
    "aliboily-tripwire-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "tripwire-roblox"
      ]
    }
  }
}
```

Claude Code:

```sh
claude mcp add aliboily-tripwire-mcp-server -- npx -y tripwire-roblox
```

## Tools (80)

- `capture_screenshot`: Capture the Studio viewport and return it as a JPEG image, so you can see the scene. Needs the plugin connected and Game Settings > Security > Allow Mesh / Imag
- `character_navigation`: Walk the local player's character toward a world position during an F5 playtest. Returns whether it reached the goal.
- `create_instance`: Create an instance of a class under a parent path (default the whole game), with an optional name and initial properties. One undo step.
- `delete_datastore`: Schedule a whole data store for deletion in 30 days (scope universe-datastores.control:delete). Reversible with undelete_datastore until then. Affects live play
- `delete_datastore_entry`: Soft-delete a data store entry (scope universe-datastores.objects:delete); it is purged after 30 days.
- `delete_instance`: Destroy the instance at the given path and its descendants. One undo step.
- `delete_ordered_entry`: Delete an ordered data store entry (scope universe.ordered-data-store.scope.entry:write).
- `find_spawns`: List the SpawnLocations under a path (default the whole game): position, whether each is enabled, and whether it is neutral. Read-only.
- `flush_memory_store`: Flush every Memory Store structure in the universe and wait for it (scope memory-store:flush). scope LIVE (default) wipes production state; TEST is the Studio t
- `get_bounding_box`: Report the world-space bounding box (center and size) of a Model or a BasePart at a path. Useful for sizing and placing things. Read-only.
- `get_class_info`: Look up a Roblox class's members (properties, methods, events) with their types, inherited members folded in by default. Answered from a bundled API reflection 
- `get_datastore_entry`: Read a data store entry's value and metadata (scope universe-datastores.objects:read). Pass revision to read an older version (universe-datastores.versions:read
- `get_file_tree`: List the instance tree from a path (default the whole game), bounded by depth. Read-only.
- `get_group`: Get a group's metadata (name, owner, member count, etc.).
- `get_instance_children`: List the direct children (name and className) of the instance at a path. Read-only.
- `get_instance_properties`: Read an instance's name, className, full path, attributes, and a curated set of common engine properties (Position, Size, Color, Material, Anchored, Transparenc
- `get_ordered_entry`: Read one ordered data store entry's integer value.
- `get_output_log`: Return recent Studio output log entries (message, type, timestamp). Read-only.
- `get_place`: Get the configured place's metadata (name, server size, etc.).
- `get_playtest_output`: Return the running playtest's output log, aggregated across the server and client peers and tagged by peer. Pass the `cursor` from the previous call as `since` 
- `get_script_source`: Read the source of a Script, LocalScript, or ModuleScript. Read-only.
- `get_selection`: List the instances currently selected in Studio. Read-only.
- `get_subscription`: Read a user's subscription to a subscription product. userId is the subscriber. full returns state and timestamps.
- `get_universe`: Get the configured universe's metadata (name, visibility, owner, root place, etc.).
- `get_user`: Get a user's public profile. idVerified and social profiles need the user.advanced:read / user.social:read scopes.
- `grep_scripts`: Search script sources for a substring; returns path, line, and line text. Read-only.
- `increment_datastore_entry`: Atomically add an integer to a numeric data store entry; creates it if missing. The existing value must be an integer.
- `increment_ordered_entry`: Atomically add an integer to an ordered data store entry; the result must stay non-negative.
- `insert_model`: Insert an asset by id under a parent path (default Workspace). method 'load_asset' (owned/Roblox) or 'load_asset_async' (public free, needs the place setting). 
- `list_datastore_entries`: List entry keys in a data store (scope universe-datastores.objects:list). Keys only; read a value with get_datastore_entry.
- `list_datastore_entry_revisions`: List an entry's revisions, newest first (scope universe-datastores.versions:list). Each revision id can be passed to get_datastore_entry.
- `list_datastores`: List the standard data stores in the configured universe (scope universe-datastores.control:list). Optional name prefix and pagination.
- `list_inventory`: List a user's inventory items (scope user.inventory-item:read; also gated by the user's inventory privacy). filter selects types or ids.
- `list_ordered_entries`: List ordered data store entries by value (scope universe.ordered-data-store.scope.entry:read). descending sorts high to low. filter is a numeric range like 'ent
- `list_studios`: List every connected (or recently seen) Studio: instanceId, place, connected/active, last-seen, and whether a playtest is running.
- `list_tests`: List the spec files and their cases discovered in the published place. Runs no tests.
- `mass_create`: Create many instances in one undo step. atomic:true rolls all back on any failure; otherwise best-effort with per-item results.
- `mass_set_property`: Set one property on each of many instances in one undo step. atomic:true rolls all back on any failure; otherwise best-effort.
- `memory_queue_add`: Add an item to a Memory Store queue (scope memory-store.queue:add). data is any JSON; higher priority dequeues first; ttlSeconds sets expiry.
- `memory_queue_discard`: Permanently remove the items from a memory_queue_read batch (scope memory-store.queue:discard), using its readId.
- `memory_queue_read`: Read items from a Memory Store queue (scope memory-store.queue:dequeue); returns a readId. Pass it to memory_queue_discard before the invisibility window elapse
- `memory_sorted_map_delete`: Delete a Memory Store sorted-map item (scope memory-store.sorted-map:write).
- `memory_sorted_map_get`: Read a Memory Store sorted-map item (scope memory-store.sorted-map:read).
- `memory_sorted_map_list`: List Memory Store sorted-map items in sort order (scope memory-store.sorted-map:read). descending reverses; filter is a CEL range over id/sortKey.
- `memory_sorted_map_set`: Set (upsert) a Memory Store sorted-map item (scope memory-store.sorted-map:write). value is any JSON; ttlSeconds sets expiry; stringSortKey/numericSortKey set t
- `ping_studio`: Round-trip a ping through the Studio plugin to confirm the live bridge works.
- `publish_message`: Publish a message to a MessagingService topic in the universe (scope universe-messaging-service:publish). Reaches running production servers; no read side. topi
- `publish_place`: Publish a local place file (.rbxl/.rbxlx) as a new version of the configured experience via Open Cloud (universe-places write scope). Conflicts if Studio holds 
- `raycast`: Cast a ray through the world and report the first hit: instance, position, surface normal, material, and distance, or no hit. Give an origin and a direction (it
- `reset_playtest_output`: Clear the running playtest's output buffers (server and client) so the next get_playtest_output starts fresh, without restarting Studio.
- `restart_servers`: Restart the universe's live servers so players move to the newest published version (scope universe:write). By default only outdated servers restart. This kicks
- `review_security`: Review a Rojo source tree (default sample-game/src) for client-trust and unvalidated-remote issues, each with a suggested server-side fix.
- `run_luau`: Run a Luau script headlessly in the configured place via Open Cloud Luau Execution; returns return values and logs.
- `run_luau_live`: Evaluate Luau in the LIVE F5 playtest server and return the result, so you can inspect the running game (a Humanoid's state, an NPC's position, a path's waypoin
- `run_test_file`: Run a single spec by its ModuleScript name (for example 'economy.spec') headlessly via Open Cloud.
- `run_tests`: Run the headless test suite in the published place via Open Cloud and report passed/failed with failure messages.
- `scan_backdoors`: Scan the live place's scripts for free-model backdoor patterns: runtime code execution (loadstring), environment tampering (getfenv/setfenv), fetching code over
- `scan_client_trust`: Scan a Rojo source tree (default sample-game/src) for client-trust holes: server handlers that use client-supplied values without validating them.
- `scan_remotes`: List RemoteEvent and RemoteFunction server handlers in a Rojo source tree (default sample-game/src), with the client-controlled parameters of each.
- `search_by_property`: Find instances whose property equals a primitive value, optionally filtered by exact className or by class-and-subclasses with isA. Read-only.
- `search_objects`: Find instances whose name contains a query, optionally filtered by exact className or by class-and-subclasses with isA (for example isA "BasePart" matches Part,
- `send_notification`: Send an experience notification to a user (scope user.user-notification:write). messageId is a Creator Dashboard template; parameters fills its placeholders. On
- `set_active_studio`: Choose which connected Studio subsequent tools target, by exact instanceId, a unique id prefix, or a unique place name.
- `set_datastore_entry`: Create or overwrite a data store entry (upsert). value is any JSON; users/attributes are cleared if omitted, so pass them when you set them.
- `set_ordered_entry`: Set (overwrite/upsert) an ordered data store entry to a non-negative integer.
- `set_property`: Set one typed property on the instance at the given path. One undo step.
- `simulate_keyboard_input`: Simulate keyboard input during an F5 playtest: a key by KeyCode name with action tap/press/release, or typed text.
- `simulate_mouse_input`: Simulate a mouse click or move at screen coordinates during an F5 playtest. action 'click' presses and releases; 'move' just moves the cursor.
- `snapshot_datastores`: Take a snapshot of every data store so the next write to each key keeps a versioned backup (scope universe-datastores.control:snapshot). One per experience per 
- `start_playtest`: Start an F5 playtest (server and client DataModels with a player); injects the in-play runner. Live Studio only.
- `start_simulation`: Start an F8 run (server-only simulation, no client peer or player). Live Studio only.
- `stop_playtest`: Stop an F5 playtest. Best-effort: F5 teardown can outlast the confirmation window.
- `stop_simulation`: Stop an F8 run. The server runner calls EndTest; a clean, reliable stop.
- `studio_status`: Report whether a Studio plugin is connected, the active place, and any other connected studios.
- `undelete_datastore`: Cancel a pending data store deletion (scope universe-datastores.control:delete).
- `update_place`: Update the configured place's name, description, or server size (scope universe.place:write). Fails with 409 while the place is open in an active Team Create se
- `update_script_source`: Replace the source of a Script, LocalScript, or ModuleScript via the script editor.
- `update_universe`: Update the configured universe's settings (scope universe:write): voice chat, private server price, and per-platform join toggles. Only the fields you pass chan
- `upload_asset`: Upload a local file as a Roblox asset via Open Cloud (Decal, Audio, Model, Animation, or Video) and return its assetId. Needs the assets scope and ROBLOX_CREATO
- `write_test`: Write a roblox-ts test spec to disk as <name>.spec.ts (default sample-game/src/shared). Rebuild and publish, then run_tests picks it up.

Measured by Glimind (https://glimind.com): MCP handshake + tool list only, no tool is ever called. CC BY 4.0.
