A small terminal UI for turning MCP servers on and off across multiple AI tools from one place.
SgtZim automatically discovers your local MCP config files, shows the configured servers in a simple interactive list, and lets you toggle them on or off without hand-editing JSON, TOML, or YAML files.
Managing MCP servers across multiple tools gets tedious fast. Different clients store MCP settings in different file formats, use different enable/disable conventions, and often require repetitive manual edits.
SgtZim gives you one lightweight TUI to:
- Pick the AI tool you want to manage.
- See every configured MCP server for that tool.
- Toggle servers on or off with the keyboard.
- Save the updated config back to disk.
The name is inspired by Sergeant Zim from Starship Troopers — a strict, no-nonsense enforcer who keeps the system in shape.
- Terminal-first interactive UI.
- Keyboard-driven navigation.
- Auto-discovery of standard OS-specific config paths.
- Fallback support for custom centralized config directories.
- Per-tool MCP server toggling.
- Multi-format config support.
- Writes changes directly back to the source config files.
- Lightweight single-script Node.js implementation.
SgtZim currently auto-detects and supports these tools:
| Tool | Format | Windows | macOS | Linux |
|---|---|---|---|---|
| gemini-cli | JSON | ~/.gemini/ |
~/.gemini/ |
~/.gemini/ |
| codex-cli | TOML | ~/.codex/ |
~/.codex/ |
~/.codex/ |
| Hermes | YAML | ~/.hermes/ |
~/.hermes/ |
~/.hermes/ |
| Kilo | JSON | %APPDATA%\kilo\ |
~/Library/Application Support/kilo/ |
~/.config/kilo/ |
| Antigravity | JSON | %APPDATA%\Antigravity\User\ |
~/Library/Application Support/Antigravity/User/ |
~/.config/Antigravity/User/ |
(Note: SgtZim only displays tools in its menu if it successfully finds an existing configuration file for them on your system).
When you launch the script, it:
- Enables raw terminal input mode.
- Scans your system for default configuration paths of known AI tools.
- Shows a menu of the tools it successfully found.
- Loads the selected tool's MCP config.
- Extracts MCP server names and current enabled state.
- Lets you move with arrow keys and toggle with
Space. - Saves the updated state back to the config file when you press
Enter.
Each supported tool uses a small parser/updater pair in the script so the same UI can work across different file formats.
↑/↓— Move through discovered tools.Enter— Select a tool.qorCtrl+C— Quit.
↑/↓— Move through MCP servers.Space— Toggle selected server on/off.Enter— Save changes.qorCtrl+C— Cancel without saving.
- Node.js 18+ recommended.
- A terminal that supports raw input mode.
You can run SgtZim directly without installing it globally:
npx sgtzimnpm install -g sgtzim
sgtzimIf you prefer to keep all your MCP configs centrally located (e.g., symlinked into a single folder), you can pass that folder's path as an argument to SgtZim. SgtZim will look for files matching the standard names (gemini-mcp-server-enablement.json, codex-config.toml, kilo.json, etc.) in that directory:
sgtzim /path/to/your/central/configs- Run
npx sgtzim. - Select
codex-clifrom the auto-discovered list. - Toggle one or more MCP servers.
- Press
Enterto save. - Reopen your AI tool if needed so it reloads the updated config.
SgtZim currently updates MCP state using each tool's native convention:
- gemini-cli: updates
enabledon each server object. - codex-cli: rewrites the
enabled = true/falsevalue inside eachmcp_serversblock. - Hermes: updates
enabled:values inside themcp_serversYAML section. - Kilo: updates
enabledon each server object inside themcpblock. - Antigravity: removes
disabledwhen enabling a server and setsdisabled: truewhen disabling one.
- The current implementation assumes the config files already exist.
- Parsing is format-specific and relies on the expected file structure being present.
- The script is focused on enable/disable management, not creating new MCP server definitions.
- Some tools may need a restart before they pick up changed configs.
MIT