Skip to main content
Glama

enable_plugin

DestructiveIdempotent

Turns on a specified plugin in the .uproject file and saves the project, but requires an editor restart before its classes, assets, or MCP tools load.

Instructions

Turn a plugin on in the .uproject and save the project file to disk. WARNING: enabled:true is hardcoded on the write succeeding, and the plugin's MODULES are not loaded by this call -- the editor has to be restarted before its classes, assets or MCP tools actually exist. So do not treat a following "class not found" as a failure of this command; check project_saved and then restart. Use get_plugin_status to read the current state and disable_plugin for the inverse.

Returns: { plugin_name: string, enabled: bool (hardcoded true when the .uproject write succeeded), project_saved: bool, note: string about the required restart }

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
plugin_nameYesPlugin name exactly as in its .uplugin file (e.g. 'PythonScriptPlugin'), not a path.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.0

TDQS

A4.4/5.0
Behavior4/5

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

Annotations declare destructiveHint=true and idempotentHint=true, but the description adds significant context the annotations cannot: enabled:true is hardcoded on write success, plugin modules are not loaded by the call, and an editor restart is required before classes/assets/MCP tools exist. That is exactly the kind of beyond-annotation disclosure expected, though it stops short of confirming auth requirements or whether other project settings are touched.

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 action, then a clearly flagged WARNING, then alternatives and the return shape. It is dense but each sentence carries real value; the only minor redundancy is the restart requirement being stated twice (inline warning and the note field description).

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, yet the description supplies the full return shape (plugin_name, enabled, project_saved, note), and it covers the restart caveat and failure-interpretation guidance. An agent has everything needed to call and correctly interpret this tool.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already documents plugin_name including the 'exactly as in its .uplugin file, not a path' guidance. The description restates nothing extra about the parameter, so the baseline 3 applies.

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: turn a plugin on in the .uproject and save the file. It explicitly names the sibling tools it relates to (get_plugin_status, disable_plugin), letting an agent place it in the plugin-management family without opening a schema.

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?

Explicit when-to-use routing: use get_plugin_status to read state and disable_plugin for the inverse. It also gives a concrete operational rule -- don't treat a subsequent 'class not found' as failure, check project_saved and restart -- which tells the agent exactly how to interpret the result in context.

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

Deploy Server

Other Tools