Skip to content
cccskills
FreePublished on GitHub

tool-set-enabled-state

Enable or disable named MCP tools, the tools available to an AI agent, in Unity. Submit several changes together, receive a success result for each name, and optionally inspect operation logs. Settings are saved only when a state changes.

OriginalShow the original description

Enable or disable MCP tools by name in batch. Persists the change via `UnityMcpPluginEditor.Instance.Save()` only when at least one tool actually flipped. Returns per-input success flags plus optional operation logs.

See how to install

Good for

  • Enabling several tools together
  • Disabling tools for the current task
  • Checking results for each requested change
  • Inspecting operation logs for failed changes

Files included (1)

  • SKILL.md4.4 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Tool / Set Enabled State

Enable or disable MCP tools by name. Allows controlling which tools are available for the AI agent.

Inputs

  • tools — array of ToolToggleInput { Name, Enabled }. Non-empty.
  • includeLogs (default false) — when true, returns per-step operation logs alongside the success map.

Behavior

Each entry is resolved against the tool manager's exact-name and case-insensitive lookups. Already-correct state short-circuits as success without writing. The plugin's config is saved once at the end iff at least one tool actually changed state.

How to Call

unity-mcp-cli run-tool tool-set-enabled-state --input '{
  "tools": "string_value",
  "includeLogs": "string_value"
}'

For complex input (multi-line strings, code), save the JSON to a file and use:

unity-mcp-cli run-tool tool-set-enabled-state --input-file args.json

Or pipe via stdin (recommended):

unity-mcp-cli run-tool tool-set-enabled-state --input-file - <<'EOF'
{"param": "value"}
EOF

Troubleshooting

If unity-mcp-cli is not found, either install it globally (npm install -g unity-mcp-cli) or use npx unity-mcp-cli instead. Read the /unity-initial-setup skill for detailed installation instructions.

Input

NameTypeRequiredDescription
toolsanyYesArray of tools with their desired enabled state.
includeLogsanyNoInclude operation logs in the result. Default: false

Input JSON Schema

{
  "type": "object",
  "properties": {
    "tools": {
      "$ref": "#/$defs/AIGD.ToolToggleInput-1"
    },
    "includeLogs": {
      "$ref": "#/$defs/System.Boolean"
    }
  },
  "$defs": {
    "AIGD.ToolToggleInput": {
      "type": "object",
      "properties": {
        "Name": {
          "type": "string",
          "description": "Name of the MCP tool to enable or disable."
        },
        "Enabled": {
          "type": "boolean",
          "description": "Whether the tool should be enabled (true) or disabled (false)."
        }
      },
      "required": [
        "Enabled"
      ]
    },
    "AIGD.ToolToggleInput-1": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/AIGD.ToolToggleInput"
      }
    },
    "System.Boolean": {
      "type": "boolean"
    }
  },
  "required": [
    "tools"
  ]
}

Output

Output JSON Schema

{
  "type": "object",
  "properties": {
    "result": {
      "$ref": "#/$defs/AIGD.ToolToggleResult"
    }
  },
  "$defs": {
    "com.IvanMurzak.ReflectorNet.Model.Logs": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/com.IvanMurzak.ReflectorNet.Model.LogEntry"
      }
    },
    "com.IvanMurzak.ReflectorNet.Model.LogEntry": {
      "type": "object",
      "properties": {
        "Depth": {
          "type": "integer"
        },
        "Message": {
          "type": "string"
        },
        "Type": {
          "type": "string",
          "enum": [
            "Trace",
            "Debug",
            "Info",
            "Success",
            "Warning",
            "Error",
            "Critical"
          ]
        }
      },
      "required": [
        "Depth",
        "Type"
      ]
    },
    "System.Collections.Generic.Dictionary(System.String,System.Boolean)": {
      "type": "object",
      "additionalProperties": {
        "type": "boolean"
      }
    },
    "AIGD.ToolToggleResult": {
      "type": "object",
      "properties": {
        "Logs": {
          "$ref": "#/$defs/com.IvanMurzak.ReflectorNet.Model.Logs",
          "description": "Optional operation logs. Only included when 'includeLogs' is true."
        },
        "Success": {
          "$ref": "#/$defs/System.Collections.Generic.Dictionary(System.String,System.Boolean)",
          "description": "Result of each tool operation. Key: original input name as provided by the caller (case preserved as-is). Value: true if the enable/disable operation completed successfully, false if the name was unknown, ambiguous, or empty."
        }
      }
    }
  },
  "required": [
    "result"
  ]
}

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

build-cli

FreeSummary

Build unity-mcp-cli from its TypeScript source and optionally make the command available across terminals with npm link. Covers dependency installation, compilation, version checks, and reporting errors when a step fails.

  • Build unity-mcp-cli from source for the first time
  • Rebuild the CLI after changing TypeScript files
  • Make the CLI command available across terminals
IvanMurzak/Unity-MCP4.5KUpdated Oct 20, 2026

Save changed scenes and assets, then quit a Unity Editor started by a CLI session. A matching session identifier is required, and editors opened manually are left running. Headless editors are supported.

  • Closing a Unity Editor after CLI work
  • Saving changes before ending a headless session
  • Closing only the editor owned by a CLI session
IvanMurzak/Unity-MCP4.5KUpdated Oct 20, 2026

Review unresolved GitHub pull request comments against the current code, apply minimal fixes for valid issues, and reply to review threads. Comments that need human judgment remain open, while fixed or unnecessary requests are resolved with explanations.

  • Addressing unresolved pull request reviews
  • Checking whether review comments still apply
  • Separating fixes from requests needing human review
IvanMurzak/Unity-MCP4.5KUpdated Oct 20, 2026

package-add

FreeSummary

Add packages to a Unity project from its package registry, a Git URL, or a local path. Choose a compatible version or specify one, and receive the installation result after any required reload.

  • Installing a Unity registry package
  • Adding a package at a specific version
  • Installing from a Git branch or tag
IvanMurzak/Unity-MCP4.5KUpdated Oct 20, 2026

package-list

FreeSummary

List packages installed in a Unity project with their names, versions, sources, and descriptions. Filter by source or keyword, or show only direct dependencies—the packages explicitly listed in the project manifest.

  • Checking installed package versions
  • Listing packages installed from Git
  • Reviewing only direct dependencies
IvanMurzak/Unity-MCP4.5KUpdated Oct 20, 2026

package-remove

FreeSummary

Remove an installed UPM package, a package managed by Unity, from a project. Checks that it exists, updates manifest.json, and delivers the result after any reload. Built-in packages and dependencies of other packages cannot be removed.

  • Remove an unused package from a Unity project
  • Check whether a package is installed before removal
  • Receive removal results after Unity finishes reloading
IvanMurzak/Unity-MCP4.5KUpdated Oct 20, 2026

See all skills by IvanMurzak

Report a problem with this skill