MCP Remove
Purpose
Safely remove an MCP server from the project, checking for adapter dependencies before deletion.
Mastery Levels (ShuHaRi)
- Shu: Show each check step, explain dependencies found
- Ha: Skip listing if server name provided, streamline confirmation
- Ri: Remove immediately if no dependencies, warn only when needed
Context
When to use: Developer wants to remove a registered MCP server.
When to skip: Developer prefers to delete the YAML file manually.
Steps
Step 1: Identify Server
If no server name provided as argument:
- List registered servers using
rai mcp list - Ask: "Which server would you like to remove?"
If server name provided, verify it exists in .raise/mcp/.
Step 2: Check Dependencies
Search for references to this server in declarative adapter configs:
grep -rl "ref:.*{server_name}" .raise/adapters/ 2>/dev/null
If references found, present them:
⚠ Found adapters referencing '{server_name}':
- .raise/adapters/{adapter1}.yaml
- .raise/adapters/{adapter2}.yaml
Removing this server will break these adapters.
If no references found: "No adapter dependencies found."
Step 3: Confirm and Remove
If dependencies exist, ask for explicit confirmation: "Remove anyway? This will break the listed adapters."
If no dependencies (or confirmed), delete the config:
rm .raise/mcp/{server_name}.yaml
Report: "Removed .raise/mcp/{server_name}.yaml"
If dependencies were found, add: "Update the listed adapters to use inline config or reference another server."
Output
| Item | Destination |
|---|---|
| Deleted config | .raise/mcp/{name}.yaml removed |
| Next | Update dependent adapters if any |
Quality Checklist
- Server existence verified before attempting removal
- Adapter dependencies checked via grep
- Explicit confirmation required when dependencies exist
- Follow-up guidance provided for broken adapters
- NEVER delete without checking dependencies first
References
- CLI:
rai mcp list - Complement:
/rai-mcp-add,/rai-mcp-status - Adapter config:
.raise/adapters/*.yaml(server.reffield) - Epic: E338 MCP Platform