Skip to content
Back to skills

Tools

ASecurity

Manage MCP tools with natural language commands to list, enable, and disable tools and tool groups

  • 46 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 5, 2026
design

Works with

  • cli
  • mcp

Security analysis

A100/100

Scanned September 5, 2026

npx -y skills add gracefullight/krds --skill tools --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Tools?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Tools
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/gracefullight-tools-krds/badge)](https://www.skillsdirectory.com/skills/gracefullight-tools-krds)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…