- Add claude-mcp-toggle: CLI tool for managing MCP servers - Enable/disable individual MCP servers - Enable/disable all servers - Set specific servers (disable all, enable selected) - Interactive mode with menu - List servers with enabled/disabled status - Add comprehensive README with usage examples - Add Oracle DR restore troubleshooting documentation 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
245 lines
5.5 KiB
Markdown
245 lines
5.5 KiB
Markdown
# Claude Code MCP Server Toggle Utility
|
|
|
|
Utility CLI pentru gestionarea serverelor MCP (Model Context Protocol) în Claude Code.
|
|
|
|
## Caracteristici
|
|
|
|
✅ Enable/disable servere MCP individuale
|
|
✅ Enable/disable toate serverele
|
|
✅ Activare selectivă (doar anumite servere)
|
|
✅ List servere cu status (enabled/disabled)
|
|
✅ Mod interactiv când rulezi fără parametri
|
|
✅ Păstrează configurația când dezactivezi servere
|
|
|
|
## Instalare
|
|
|
|
Scriptul este deja în `utils/claude-mcp-toggle` și poate fi rulat direct:
|
|
|
|
```bash
|
|
./utils/claude-mcp-toggle
|
|
```
|
|
|
|
Sau îl poți instala global:
|
|
|
|
```bash
|
|
sudo cp utils/claude-mcp-toggle /usr/local/bin/
|
|
# sau
|
|
cp utils/claude-mcp-toggle ~/.local/bin/
|
|
```
|
|
|
|
## Comenzi
|
|
|
|
### List Servere
|
|
|
|
```bash
|
|
# Listează toate proiectele cu MCP servers
|
|
claude-mcp-toggle list
|
|
|
|
# Listează servere pentru proiect curent
|
|
claude-mcp-toggle list .
|
|
|
|
# Listează servere pentru proiect specific
|
|
claude-mcp-toggle list /path/to/project
|
|
```
|
|
|
|
**Output:**
|
|
```
|
|
📁 Project: /mnt/e/proiecte/ROMFASTSQL
|
|
============================================================
|
|
|
|
✅ Enabled Servers:
|
|
• chrome-devtools
|
|
Command: npx
|
|
Args: ['chrome-devtools-mcp@latest']
|
|
|
|
❌ Disabled Servers:
|
|
• filesystem
|
|
Command: npx
|
|
Args: ['-y', '@modelcontextprotocol/server-filesystem', '.']
|
|
```
|
|
|
|
### Enable/Disable Individual
|
|
|
|
```bash
|
|
# Enable un server dezactivat
|
|
claude-mcp-toggle enable . chrome-devtools
|
|
|
|
# Disable un server activ
|
|
claude-mcp-toggle disable . chrome-devtools
|
|
```
|
|
|
|
### Enable/Disable Toate
|
|
|
|
```bash
|
|
# Dezactivează toate serverele
|
|
claude-mcp-toggle disable-all .
|
|
|
|
# Activează toate serverele
|
|
claude-mcp-toggle enable-all .
|
|
```
|
|
|
|
### Set - Activare Selectivă
|
|
|
|
**Cea mai utilă comandă!** Dezactivează toate serverele, apoi activează doar pe cele specificate:
|
|
|
|
```bash
|
|
# Activează doar chrome-devtools (restul disabled)
|
|
claude-mcp-toggle set . chrome-devtools
|
|
|
|
# Activează chrome-devtools și filesystem (restul disabled)
|
|
claude-mcp-toggle set . chrome-devtools filesystem
|
|
|
|
# Activează 3 servere specific
|
|
claude-mcp-toggle set . server1 server2 server3
|
|
```
|
|
|
|
### Mod Interactiv
|
|
|
|
Rulează fără parametri din directorul proiectului:
|
|
|
|
```bash
|
|
cd /mnt/e/proiecte/ROMFASTSQL
|
|
claude-mcp-toggle
|
|
```
|
|
|
|
**Output interactiv:**
|
|
```
|
|
📁 Current Project: /mnt/e/proiecte/ROMFASTSQL
|
|
============================================================
|
|
|
|
✅ Enabled Servers:
|
|
1. chrome-devtools
|
|
|
|
❌ Disabled Servers:
|
|
2. filesystem
|
|
|
|
============================================================
|
|
Commands:
|
|
[e]nable <number> - Enable a disabled server
|
|
[d]isable <number> - Disable an enabled server
|
|
[l]ist - Show all servers with details
|
|
[q]uit - Exit
|
|
============================================================
|
|
|
|
Enter command:
|
|
```
|
|
|
|
Comenzi interactive:
|
|
- `d 1` - dezactivează serverul #1
|
|
- `e 2` - activează serverul #2
|
|
- `l` - listare detaliată
|
|
- `q` - ieșire
|
|
|
|
## Use Cases
|
|
|
|
### Development cu Tools Specifice
|
|
|
|
```bash
|
|
# Lucrezi doar cu Chrome DevTools
|
|
claude-mcp-toggle set . chrome-devtools
|
|
|
|
# Ai nevoie și de filesystem
|
|
claude-mcp-toggle set . chrome-devtools filesystem
|
|
```
|
|
|
|
### Testing
|
|
|
|
```bash
|
|
# Disable toate pentru performance testing
|
|
claude-mcp-toggle disable-all .
|
|
|
|
# Enable doar ce testezi
|
|
claude-mcp-toggle set . test-server
|
|
```
|
|
|
|
### Production
|
|
|
|
```bash
|
|
# Enable toate
|
|
claude-mcp-toggle enable-all .
|
|
```
|
|
|
|
### După Lucru
|
|
|
|
```bash
|
|
# Disable toate pentru a nu încărca servere inutile
|
|
claude-mcp-toggle disable-all .
|
|
```
|
|
|
|
## Cum Funcționează
|
|
|
|
Scriptul editează `~/.claude.json` care conține configurația Claude Code pentru fiecare proiect:
|
|
|
|
- **Servere active**: stocate în `projects[path].mcpServers`
|
|
- **Servere disabled**: mutate în `projects[path]._disabledServers`
|
|
|
|
Când disable un server:
|
|
1. Configurația este mutată din `mcpServers` în `_disabledServers`
|
|
2. Nu pierzi configurația (env vars, args, etc.)
|
|
|
|
Când enable un server:
|
|
1. Configurația este mutată înapoi din `_disabledServers` în `mcpServers`
|
|
2. Claude Code va încărca serverul la următoarea rulare
|
|
|
|
## Exemple Complete
|
|
|
|
```bash
|
|
# 1. Vezi ce servere ai
|
|
./utils/claude-mcp-toggle list .
|
|
|
|
# 2. Activează doar chrome-devtools
|
|
./utils/claude-mcp-toggle set . chrome-devtools
|
|
|
|
# 3. Verifică
|
|
./utils/claude-mcp-toggle list .
|
|
|
|
# 4. Adaugă filesystem
|
|
./utils/claude-mcp-toggle set . chrome-devtools filesystem
|
|
|
|
# 5. Când termini, disable toate
|
|
./utils/claude-mcp-toggle disable-all .
|
|
|
|
# 6. Mâine, enable toate
|
|
./utils/claude-mcp-toggle enable-all .
|
|
```
|
|
|
|
## Troubleshooting
|
|
|
|
### Error: Project not found
|
|
|
|
Asigură-te că directorul este un proiect Claude Code (are intrare în `~/.claude.json`):
|
|
|
|
```bash
|
|
# Verifică ce proiecte există
|
|
claude-mcp-toggle list
|
|
```
|
|
|
|
### Error: Server not found
|
|
|
|
Listează serverele disponibile:
|
|
|
|
```bash
|
|
claude-mcp-toggle list .
|
|
```
|
|
|
|
### Serverele nu se încarcă în Claude Code
|
|
|
|
După modificări, trebuie să **repornești Claude Code** sau să rulezi din nou în proiect:
|
|
|
|
```bash
|
|
# Claude Code va detecta modificările la următoarea rulare
|
|
claude
|
|
```
|
|
|
|
## Note
|
|
|
|
- Serverele disabled păstrează configurația completă
|
|
- `_disabledServers` este o cheie custom adăugată de acest script
|
|
- Compatible cu Claude Code CLI (nu Claude Desktop)
|
|
- Editează direct `~/.claude.json` (fă backup dacă modifici manual)
|
|
|
|
## Autor
|
|
|
|
Created pentru proiectul ROMFASTSQL
|
|
Data: 2025-10-08
|