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.
Scanned 9/4/2026
Install to Claude Code
npx -y skills add gabrielmoreira/agent-skills-mirror --skill tool-set-enabled-state --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Tool Set Enabled State?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/gabrielmoreira-tool-set-enabled-state)More formats (shields.io, HTML) on the badges page.
---
name: tool-set-enabled-state
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.
---
# 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
```bash
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:
> ```bash
> unity-mcp-cli run-tool tool-set-enabled-state --input-file args.json
> ```
>
> Or pipe via stdin (recommended):
> ```bash
> 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
| Name | Type | Required | Description |
|------|------|----------|-------------|
| `tools` | `any` | Yes | Array of tools with their desired enabled state. |
| `includeLogs` | `any` | No | Include operation logs in the result. Default: false |
### Input JSON Schema
```json
{
"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
```json
{
"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"
]
}
```
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!