Melo

93 tools. 50 can modify or destroy data without limits.

6 destructive tools with no built-in limits. Policy required.

Last updated:

50 can modify or destroy data
43 read-only
93 tools total

Community server · catalogue entry verified 30/06/2026

How to control Melo ↓

What Melo exposes to your agents

Read (43) Write / Execute (44) Destructive / Financial (6)
Critical Risk

The most dangerous Melo tools

50 of Melo's 93 tools can modify, destroy, or commit something on every call — and an agent calls them with no built-in limits.

How to control Melo

PolicyLayer is an MCP gateway — it sits between your AI agents and Melo, and nothing reaches the server without passing your rules. These are the rules we recommend:

Deny destructive operations
{
  "clear_terrain": {
    "deny_if": [
      {
        "conditions": [],
        "on_deny": "Blocked by default. Requires approval."
      }
    ]
  }
}

Destructive tools should never be available to autonomous agents without human approval.

Rate limit write operations
{
  "add_tag": {
    "limits": [
      {
        "counter": "add_tag_per_hour",
        "window": "hour",
        "max": 30,
        "scope": "grant"
      }
    ]
  }
}

Prevents bulk unintended modifications from agents caught in loops.

Cap read operations
{
  "capture_screenshot": {
    "limits": [
      {
        "counter": "capture_screenshot_per_minute",
        "window": "minute",
        "max": 60,
        "scope": "grant"
      }
    ]
  }
}

Controls API costs and prevents retry loops from exhausting upstream rate limits.

  1. Create a free account and register Melo — nothing to install.
  2. Add these rules — paste them, or build them visually. Tune the limits to your setup.
  3. Point your MCP client (Claude, Cursor, anything) at your gateway URL.
ENFORCE POLICY ON MELO →

Instant setup, no code required.

All 93 Melo tools

EXECUTE 13 tools
Execute batch_operations Execute multiple tool operations in a single batch. Operations run sequentially. Args: - operations (array) Execute character_navigation Move a character to a position using pathfinding. Bypasses the input system. Args: - target (string | numbe Execute execute_luau Run arbitrary Luau code directly in Studio Execute redo Trigger redo in Studio to redo the last N operations. Args: - count (number, optional): Number of redo step Execute rollback Trigger undo in Studio to rollback the last N operations. Args: - count (number, optional): Number of undo Execute run_code Execute Luau code in Studio and return printed output. Alias for execute_luau. Args: - code (string): Luau Execute run_playtest_scenario Orchestrate a sequence of playtest steps and return a structured verdict. Steps run in order; the run aborts o Execute run_script_in_play_mode Start a playtest, run a script, then automatically stop. Returns all output. Useful for testing code changes w Execute set_mode Switch the operating mode of Linkedsword. - Execute start_playtest Start a play session in Studio. Begins capturing all print/warn/error output. Use get_playtest_output to poll Execute stop_playtest End the current play session and return all captured output logs. Returns: { output: string, errors: string[] Execute user_keyboard_input Simulate keyboard presses during a playtest. Args: - key (string): Key to press (e.g. Execute user_mouse_input Simulate mouse clicks and movements during a playtest. Requires an active play session. Args: - action (str
WRITE 31 tools
Write add_tag Add a CollectionService tag to an instance. Args: - path (string): Instance path - tag (string): Tag name Write clone_object Clone an instance and all its children. Args: - path (string): Path to the instance to clone - parent (st Write create_object Create a new instance in the DataModel. Args: - className (string): Roblox class to create (e.g. Write create_plan Create a Planning Mode plan with up to 20 steps. Returns a planId you reference from update_plan_step and snap Write create_weld Create a WeldConstraint between two parts. Args: - part0 (string): Path to the first part - part1 (string Write edit_script_lines Replace a range of lines in a script. The change is staged as a diff for review (unless auto-accept is on). A Write export_build Save a selection of instances as a versioned JSON snapshot in the build library. Args: - path (string): Ins Write fill_terrain Fill a region of terrain with a specific material. Args: - center (number[]): Center of the region [x, y, z Write grep_replace Find and replace text across all scripts. Changes are staged as diffs for review. Args: - find (string): Te Write group_objects Group multiple instances into a container (Model or Folder). Args: - paths (string[]): Paths to instances t Write import_build Load a saved build from the library into Studio. Args: - name (string): Build name to import - parent (st Write insert_model Insert a model from the Roblox Creator Store into the workspace. Args: - assetId (number): The Creator Stor Write insert_script_lines Insert new lines into a script after a given line. The change is staged as a diff for review (unless auto-acce Write mass_create_objects Create multiple instances in a single atomic operation. If any creation fails, all are rolled back. Args: - Write mass_duplicate Duplicate instances with automatic naming and optional position offsets. Args: - paths (string[]): Instance Write mass_set_property Set the same property on multiple instances atomically. All-or-nothing. Args: - paths (string[]): Instance Write patch_script Apply a targeted edit to a script — replace a specific section of code. The change is staged as a diff for rev Write remove_tag Remove a CollectionService tag from an instance. Args: - path (string): Instance path - tag (string): Tag Write reparent_object Move an instance to a new parent. Args: - path (string): Path to the instance to move - newParent (string Write resolve_diff Programmatically accept or reject a diff. Useful for auto-accept workflows. Args: - diffId (string): The di Write revert_to_checkpoint Restore a previously captured checkpoint. Plugin wraps the restore in a single ChangeHistory waypoint, so a si Write set_active_studio Switch the active Studio instance. All subsequent tool calls will target this instance. Args: - instanceId Write set_attribute Set an attribute on an instance. Args: - path (string): Instance path - name (string): Attribute name - Write set_auto_accept Control how the next staged script diffs are handled. Three scopes: - Write set_calculated_property Set a property using a formula. The formula can reference the current value. Args: - path (string): Instanc Write set_property Set a single property on an instance. Args: - path (string): Instance path - property (string): Property Write set_script_source Write new source code to a script. The change is NOT applied immediately — it is staged as a diff in the revie Write set_selection Set the current selection in the Studio Explorer panel. Args: - paths (string[]): Instance paths to select Write smart_duplicate Duplicate with intelligent positioning — auto-names and spaces copies in a grid. Args: - path (string): Ins Write update_plan_step Set a step Write upload_asset Upload a local file as a Roblox asset via Open Cloud (API key) or, for Decals only, the legacy publish endpoin
READ 43 tools
Read capture_screenshot Get metadata about the current Studio viewport — camera position, look direction, FOV, and visible objects. No Read compare_instances Structural diff of two instance subtrees. Compares a curated set of properties plus child-by-name matching. A Read get_activity_log Get the structured log of all MCP tool operations — timing, status, and summaries. Args: - limit (number, o Read get_asset_details Fetch metadata for a Roblox asset by id. Public endpoint, no auth required. Args: - assetId (number) Retur Read get_asset_thumbnail Resolve a thumbnail URL for a Roblox asset. Args: - assetId (number) - size (enum, default Read get_attribute Read a single attribute from an instance. Args: - path (string): Instance path - name (string): Attribute Read get_attributes Read all attributes on an instance. Args: - path (string): Instance path Returns: Object of attribute name Read get_auto_accept_status Read the current auto-accept budget state. Returns: { mode, remaining }. \ Read get_bounding_box Get the axis-aligned bounding box of an instance (and its descendants). Args: - path (string): Instance pat Read get_class_info Get API reference information for any Roblox class — properties, methods, events, superclass. Args: - class Read get_connected_instances Returns instances connected to the given one through known Instance-valued properties (Part0/Part1, Attachment Read get_console_output Get console logs (print, warn, error) from Studio Read get_descendants Get all descendants of an instance with optional filters. Args: - path (string, optional): Instance path (d Read get_diff_history Get history of previously resolved script diffs (accepted, rejected, or partial). Shows what changes were made Read get_diff_queue Get all script diffs currently staged and awaiting review in the Linkedsword plugin. Shows diff summaries with Read get_file_tree Get the full hierarchy of the Roblox place — scripts, models, folders, services. Returns a tree structure show Read get_instance_children List immediate children of an instance. Args: - path (string): Instance path Returns: Array of { name, cla Read get_instance_properties Read all properties of a specific instance. Args: - path (string): Full path to the instance (e.g. Read get_place_info Get metadata about the currently open place — name, place ID, creator, game settings. Returns: { name, placeI Read get_plan Fetch a plan by id. Args: - planId (string) Read get_playtest_output Poll captured output logs from the running play session. Call repeatedly to get new output. Args: - since ( Read get_project_structure Get a smart-compressed project structure optimized for LLM context. Collapses deep branches, deduplicates patt Read get_script_source Read the source code of a script with line numbers. Args: - path (string): Path to the script (e.g. Read get_selection Get the instances currently selected in the Studio Explorer panel. Returns: Array of selected instance paths Read get_services List all services in the DataModel (Workspace, ReplicatedStorage, ServerScriptService, etc.). Returns: Array Read get_stable_id Get a stable text handle (\ Read get_studio_mode Get the current Studio mode — edit, play, run, or server. Returns: { mode: Read get_tagged Find all instances with a specific CollectionService tag. Args: - tag (string): Tag name Returns: Array of Read get_tags Read CollectionService tags on an instance. Args: - path (string): Instance path Returns: Array of tag str Read grep_scripts Search across all script sources using patterns. Like ripgrep for your Roblox project. Args: - pattern (str Read list_library Browse all saved builds in the library. Returns: Array of { name, description, instanceCount, timestamp } Read list_plans List plans, newest first. Args: - activeOnly (bool, default true): exclude archived/deleted Read list_roblox_studios List all Roblox Studio instances currently connected to Linkedsword. Shows place name, ID, plugin version, and Read mass_get_property Read the same property from multiple instances at once. Args: - paths (string[]): Array of instance paths Read parallel_search Run up to 5 search queries concurrently and return compact summaries. Fan-out is internally batched 3-at-a-tim Read raycast Cast a ray in the 3D world and return hit information. Args: - origin (number[]): Ray origin [x, y, z] - Read resolve_stable_id Resolve a stable handle (\ Read search_assets Search the Roblox Creator Store / Catalog. Public endpoint, no auth required. Args: - query (string) - as Read search_by_property Find instances with a specific property value. Args: - propertyName (string): The property to check (e.g. Read search_files Search for scripts and instances by name pattern. Supports partial matches. Args: - query (string): Name or Read search_objects Find any instance in the DataModel by name, class, or both. Args: - name (string, optional): Instance name Read snapshot_checkpoint Capture the current state of selected DataModel subtrees into a checkpoint. Required: scope (array of instance Read ungroup_objects Dissolve a group — move all children to the group

Related servers

Other MCP servers with similar tools — same risk classification, starter policies for each.

Questions about Melo

Can an AI agent delete data through the Melo MCP server? +

Yes. The Melo server exposes 6 destructive tools including clear_terrain, delete_attribute, delete_checkpoint. These permanently remove resources with no undo. PolicyLayer blocks destructive tools by default so they never reach the upstream server.

How do I prevent bulk modifications through Melo? +

The Melo server has 31 write tools including add_tag, clone_object, create_object. Set a rate limit in your policy -- for example, 10 calls per hour prevents an agent from making more than 10 modifications per hour. PolicyLayer enforces this at the gateway, before calls reach Melo.

How many tools does the Melo MCP server expose? +

93 tools across 4 categories: Destructive, Execute, Read, Write. 43 are read-only. 50 can modify, create, or delete data.

How do I enforce a policy on Melo? +

Register the Melo MCP server in PolicyLayer, apply the suggested rules above (adjust the limits to your use case), and point your AI client at the PolicyLayer proxy URL instead of the server directly. Your agents keep the same tools; PolicyLayer evaluates every call against policy before it executes. Nothing to install, live in minutes.

Enforce policy on every Melo tool call.

Deterministic rules across all 93 Melo tools. Per-identity grants. Full audit log. Live in minutes. Nothing to install.

Instant setup, no code required.

93 Melo tools catalogued and risk-classified — across an index of 43,000+ MCP servers.

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.