CtrlK
BlogDocsLog inGet started
Tessl Logo

tool-set-enabled-state

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.

50

Quality

55%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./Unity-MCP-Plugin/.claude/skills/tool-set-enabled-state/SKILL.md
SKILL.md
Quality
Evals
Security

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"
  ]
}
Repository
IvanMurzak/Unity-MCP
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.