| name | mcp-uninstall |
| description | Remove magnet-local and/or magnet-canary MCP server configurations from project and global locations. Use when user says "uninstall mcp", "remove mcp", "delete mcp config", or "clean up mcp". |
MCP Server Uninstall
This skill helps users remove Magnet MCP server configurations (magnet-local and/or magnet-canary) from their system.
When to Use This Skill
Use this skill when the user requests:
- Removing MCP server configurations
- Cleaning up old MCP settings
- Uninstalling the local or canary MCP server
- Resetting their MCP configuration
Instructions
Step 1: Ask What to Uninstall
Use AskUserQuestion to determine which configuration(s) to remove:
Question: "Which MCP server configuration do you want to remove?" Options:
- "magnet-local" - Remove the local development server configuration
- "magnet-canary" - Remove the canary environment server configuration
- "Both" - Remove both local and canary configurations
Step 2: Scan for Configurations
Check for MCP configurations in project and client-specific locations:
Project location (magnet-app):
# Find magnet-app directory
MAGNET_APP_DIR=$(ls -d ~/magnet-app 2>/dev/null || ls -d ~/Projects/magnet-app 2>/dev/null || ls -d ~/Code/magnet-app 2>/dev/null)
# Check for .mcp.json
if [ -n "$MAGNET_APP_DIR" ] && [ -f "$MAGNET_APP_DIR/.mcp.json" ]; then
echo "Found project config: $MAGNET_APP_DIR/.mcp.json"
cat "$MAGNET_APP_DIR/.mcp.json"
fi
Cursor:
if [ -f ~/.cursor/mcp.json ]; then
echo "Found Cursor config: ~/.cursor/mcp.json"
cat ~/.cursor/mcp.json
fi
Claude Desktop (macOS):
if [ -f ~/Library/Application\ Support/Claude/claude_desktop_config.json ]; then
echo "Found Claude Desktop config"
cat ~/Library/Application\ Support/Claude/claude_desktop_config.json
fi
Global Claude Code locations (~/.claude/):
# Check for global MCP configs
if [ -f ~/.claude/settings.json ]; then
echo "Found ~/.claude/settings.json"
grep -l "mcpServers" ~/.claude/settings.json 2>/dev/null && cat ~/.claude/settings.json
fi
if [ -f ~/.claude/settings.local.json ]; then
echo "Found ~/.claude/settings.local.json"
cat ~/.claude/settings.local.json
fi
Step 3: Display Findings
Report what was found to the user:
- List each location where the target configuration(s) exist
- Show the current configuration content
- If configuration not found, report "Configuration not found in [location]"
Step 4: Confirm Removal
Use AskUserQuestion to confirm before making changes:
Question: "Found [config-name] in [locations]. Do you want to remove it?" Options:
- "Yes, remove it" - Proceed with removal
- "No, cancel" - Abort the operation
Step 5: Remove Configuration Entries
For each location where the configuration exists:
Removing from .mcp.json:
# Use jq to remove specific server entry (if jq is available)
# Otherwise, use node/JavaScript to parse and modify JSON
# Example with node:
node -e "
const fs = require('fs');
const path = '$MAGNET_APP_DIR/.mcp.json';
const config = JSON.parse(fs.readFileSync(path, 'utf8'));
delete config.mcpServers['magnet-local']; // or 'magnet-canary'
fs.writeFileSync(path, JSON.stringify(config, null, 2));
console.log('Removed magnet-local from', path);
"
Important behaviors:
- Only remove the specific server entry, not the entire file
- If
mcpServersbecomes empty after removal, remove themcpServerskey - If the file becomes just
{}, optionally inform user they can delete the file - Preserve other configurations in the same file
Step 6: Report Results
After removal, report:
- Which configurations were removed
- From which locations
- Any configurations that were not found
- Remind user to restart Claude Code to apply changes
Example output:
Removed configurations:
- magnet-local from ~/magnet-app/.mcp.json
- magnet-canary from ~/magnet-app/.mcp.json
Not found:
- No global configurations in ~/.claude/
Please restart Claude Code to apply the changes.
Edge Cases
Configuration Not Found
If the requested configuration doesn't exist:
The magnet-local configuration was not found in any of the checked locations:
- ~/magnet-app/.mcp.json (file exists but doesn't contain magnet-local)
- ~/.claude/settings.json (no mcpServers section)
No changes were made.
Last Server in File
If removing the last server entry:
// After removal, check if mcpServers is empty
if (Object.keys(config.mcpServers).length === 0) {
delete config.mcpServers;
// Inform user: "The mcpServers section is now empty"
}
File Permissions
If unable to modify the file:
Error: Unable to modify ~/magnet-app/.mcp.json
Please check file permissions or remove the configuration manually.
Examples
Example 1: Remove Local Configuration
User: "Remove the local MCP server"
Actions:
- Confirm they want to remove magnet-local
- Check ~/magnet-app/.mcp.json - found magnet-local
- Check ~/.claude/ - no global config
- Ask for confirmation
- Remove magnet-local entry from .mcp.json
- Report success and remind to restart Claude Code
Example 2: Remove Both Configurations
User: "Clean up all Magnet MCP configurations"
Actions:
- Ask which to remove → user selects "Both"
- Scan all locations
- Find magnet-local and magnet-canary in ~/magnet-app/.mcp.json
- Confirm removal of both
- Remove both entries
- Report what was removed
Example 3: Configuration Not Found
User: "Remove the canary server"
Actions:
- Confirm they want to remove magnet-canary
- Scan locations - magnet-canary not found anywhere
- Report "Configuration not found, no changes made"
Notes
- This skill removes configuration entries, not the actual MCP server code
- Always confirm before removing configurations
- Check both project-specific and global locations
- Preserve other configurations in the same files
- Remind users to restart Claude Code after changes
- If jq is not available, use node for JSON manipulation