Skip to main content
Glama

enable_toolset

Read-onlyIdempotent

Adds tool packs or editor domains to this connection's tool list so their tools can be called directly instead of through call_tool; core tools remain listed.

Instructions

Adds packs or whole domains to this connection's tool list, so their tools are called directly instead of through call_tool; the 11 core tools are always listed. Give packs, domains or both.

A pack is the few tools of one job the core leaves out: actors (delete_actor, find_actors_by_name, spawn_actor, get_actors_by_class), levels (get_current_level, list_dirty_packages, load_level, save_level), play (capture_viewport, is_play_in_editor_active, start_play_in_editor, stop_play_in_editor), assets (get_asset_referencers, delete_asset, duplicate_asset), blueprint_authoring (add_blueprint_variable, build_blueprint_graph, create_blueprint, disconnect_pin, get_blueprint_info, remove_graph_node), data_tables (get_data_table_row, set_data_table_row_fields). A domain is every tool of one area of the editor, such as Material or Animation, and can add a hundred tools to your context: find_tools with no arguments lists the domains and their sizes. Prefer a pack when one covers the job.

It changes only which tools this connection lists, never the editor or the project, and lasts until the connection's session ends; enabling the same one again adds nothing. The server announces the new list and your client re-reads it; if your client does not, call_tool reaches the same tools. An unknown name is an error that lists the packs and the domains.

Returns: { success, packs?: [{ pack, already_listed, tools }], domains?: [{ domain, already_listed, tools }], tools_added: int, list_changed: bool, note?: string }

Input Schema

NameRequiredDescriptionDefault
packsNoThe packs to add, e.g. ["actors"] or ["play", "levels"].
domainsNoThe whole domains to add, as find_tools lists them, e.g. ["Material"].

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv2.7.0
    • changedInput schema / properties / domains / description
      Previous value: -"The domains whose tools to add, as find_tools lists them, e.g. [\"Material\"] or [\"Animation\", \"Audio\"]."New value: +"The whole domains to add, as find_tools lists them, e.g. [\"Material\"]."
    • addedInput schema / properties / packs
      Added value: +{
      +  "description": "The packs to add, e.g. [\"actors\"] or [\"play\", \"levels\"].",
      +  "items": {
      +    "enum": [
      +      "actors",
      +      "levels",
      +      "play",
      +      "assets",
      +      "blueprint_authoring",
      +      "data_tables"
      +    ],
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • removedInput schema / required
      Removed value: -[
      -  "domains"
      -]
  2. Addedv2.5.0

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnly, idempotent and non-destructive, and the description adds exactly the context they cannot carry: it affects only the connection's tool listing, never the editor or project, persists until session end, and re-enabling adds nothing (consistent with idempotentHint). It further discloses the client re-read handshake and that unknown names produce an error listing valid packs and domains.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the effect and the pack-vs-domain trade-off, then behavior, then return shape. The pack inventory is long but earns its place by letting an agent pick without an extra find_tools round trip; the domain enumeration is left to the schema rather than repeated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, so the description inlines the return shape including per-pack/domain already_listed and tools, tools_added, list_changed and note. Combined with the discovery pointer to find_tools and the error behavior, an agent has everything needed to invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with enums for both arrays, yet the description still adds real meaning: it distinguishes a pack (a few job-specific tools the core omits, with member examples) from a domain (an entire editor area that can add ~100 tools to context), which is the key trade-off an agent must weigh before choosing a value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Adds packs or whole domains to this connection's tool list') and immediately contrasts with the sibling call_tool, explaining that enabled tools are then called directly. The parenthetical pack inventory makes the resource concrete rather than abstract.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says to give 'packs, domains or both', warns 'Prefer a pack when one covers the job', and points to find_tools with no arguments to discover domains and sizes. It also names call_tool as the fallback path when the client does not re-read the list, so both the choose-this and choose-other cases are covered.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.