Manage MCP tools with natural language commands to list, enable, and disable tools and tool groups
Scanned 9/5/2026
Install to Claude Code
npx -y skills add gracefullight/krds --skill tools --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Tools?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/gracefullight-tools-fe3e6c04)More formats (shields.io, HTML) on the badges page.
---
name: tools
description: Manage MCP tools with natural language commands to list, enable, and disable tools and tool groups
disable-model-invocation: true
---
# MANDATORY RULES: VIOLATION IS FORBIDDEN
- **Response language follows `language` setting in `.agents/oma-config.yaml` if configured.**
- **NEVER skip steps.** Execute from Step 1 in order.
- **Read configuration files BEFORE making changes.**
---
> **Vendor note:** This workflow executes inline (no subagent spawning). All vendors use their native file reading tools to inspect MCP and skill configurations.
---
## Step 1: Show Current Status
1. Read `.agents/mcp.json` (project configuration)
2. Read `~/.gemini/settings.json` if exists (Gemini CLI global settings); optional
3. Display status for each MCP server:
- `available_tools: null` → "All enabled (no restrictions)"
- `available_tools: [...]` → "N tools enabled" + list
4. If `toolGroups` is defined, display available group list
**Output example:**
```
Current MCP Tool Status
[serena]
- Status: All enabled (no restrictions)
- Available tools: 15
Available Tool Groups:
- memory: read_memory, write_memory, edit_memory, list_memories, delete_memory
- code-analysis: get_symbols_overview, find_symbol, find_referencing_symbols, search_for_pattern
- code-edit: replace_symbol_body, insert_after_symbol, insert_before_symbol, rename_symbol
- file-ops: list_dir, find_file
- all: All tools (no restrictions)
What would you like to change?
```
---
## Step 2: Parse User Command
Parse natural language commands:
| Command Pattern | Interpretation |
|-----------------|----------------|
| "current status", "list", "show" | Re-execute Step 1 |
| "memory tools only", "enable only {group}" | Set only that group's tools in `available_tools` |
| "disable {tool}", "turn off {tool}" | Remove that tool from `available_tools` |
| "enable all", "turn on all", "reset" | Set `available_tools: null` |
| "enable only {tool1}, {tool2}" | Set only specified tools in `available_tools` |
| "temporarily", "--temp" | Apply for session only (Step 3b) |
**Group combination support:**
- "memory + file tools" → Merge `memory` + `file-ops` groups
- "all except code analysis" → Exclude `code-analysis` from `all`
---
## Step 3: Update Configuration
### Step 3a: Permanent Modification (Default)
1. **Show before/after diff:**
```
Pending mcp.json changes:
Before:
- serena.available_tools: null (all)
After:
- serena.available_tools: ["read_memory", "write_memory", "edit_memory", "list_memories", "delete_memory"]
Apply changes? (Y/N)
```
2. **After user confirmation**, modify `.agents/mcp.json`
3. **Completion message:**
```
Done! serena can now only use memory tools.
Note: Changes will fully apply after IDE/CLI restart.
Previous settings may continue to apply in current session.
```
### Step 3b: Temporary Application (`--temp` or "temporarily")
Temporary settings that apply only during the session:
1. Create `.serena/memories/tool-overrides.md` using `write_memory`:
```markdown
# Tool Overrides (Temporary)
## Session
Created: {ISO timestamp}
Expires: Session end
## Overrides
```json
{
"serena": {
"available_tools": ["read_memory", "write_memory"]
}
}
```
## Note
This file contains temporary settings. It will be ignored in the next session.
To apply permanently, run the `/tools` workflow without `--temp`.
```
2. **Completion message:**
```
Temporarily applied!
serena will only use memory tools for this session.
To apply permanently, run `/tools enable memory only` (without --temp).
```
---
## Step 4: Handle Special Cases
### Unknown Tool Name
```
'{tool_name}' is an unknown tool.
Similar tools:
- read_memory
- write_memory
Please enter the exact tool name.
```
### Server Conflict
When multiple MCP servers are configured:
```
Multiple MCP servers detected:
- serena
- custom-memory
Which server's tools would you like to modify?
1. serena
2. custom-memory
3. All
```
### Empty Tool List
```
Setting available_tools to an empty array will disable all tools for that server.
Are you sure you want to continue? (Y/N)
```
---
## Quick Reference
| Command | Result |
|---------|--------|
| `/tools` | Show current status |
| `/tools memory only` | Enable only memory tools |
| `/tools code analysis + memory` | Enable both groups |
| `/tools all` | Enable all tools (reset) |
| `/tools read_memory, write_memory only` | Enable only specified tools |
| `/tools disable code edit` | Remove that group |
| `/tools memory only --temp` | Apply temporarily (this session only) |
---
## Runtime Override Protocol
How other workflows SHOULD check tool restrictions (advisory — no workflow currently automates this check; apply it manually when tool discipline matters):
1. **At workflow start:** Check `read_memory("tool-overrides.md")`
2. **If override exists:** Apply that setting with priority
3. **If not present or expired:** Use `.agents/mcp.json` settings
**Note:** If IDE/CLI doesn't directly support `available_tools`,
tool usage must be self-restricted at the workflow level.
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!