Skip to main content
Ultra works with Claude Desktop, Cursor, VS Code (including GitHub Copilot), Cline, Claude Code, Codex, Grok Build, Windsurf, Roo Code, Goose, OpenCode, Gemini CLI, Antigravity, LM Studio, Amazon Q Developer, Zed, Ona, and Hermes. After installing Ultra, configure your AI clients to route MCP traffic through it.
For Ona cloud dev environments, see the dedicated Ona setup guide within Agent Environments, which covers devcontainer-based automated installation.

Automatic Configuration

When you install Ultra using the downloaded installer, the Ultra Setup wizard launches automatically. It detects your installed AI clients and lets you select which ones to configure.
Ultra Setup wizard showing detected AI clients
Check the clients you want to configure and click Configure. Ultra updates each client’s settings so all MCP traffic routes through Ultra automatically.After setup:
  1. Restart your AI client (e.g., quit and reopen Claude Desktop)
  2. Start using your AI tools as usual — Ultra is now monitoring all MCP traffic in the background
You can re-run the setup wizard at any time from the Ultra application to add or reconfigure clients.
Once connected, you can manage, discover, and reconnect your MCP servers visually with the ultra_servers MCP App, right inside your AI client.

Supported Clients

All clients in the table are detected and configured automatically by ultra install.
GitHub Copilot does not have a separate config file. It reads MCP servers from VS Code’s mcp.json, so running ultra install --client vscode configures Ultra for both native VS Code MCP and Copilot. If the Copilot extension is detected, Ultra labels the client as VS Code + Copilot in the setup wizard.

What It Does

When you configure a client (either through the setup wizard or CLI), Ultra registers itself as an MCP server in the client’s configuration file. The client then launches Ultra via ultra start whenever it needs MCP tools. Ultra in turn connects to your configured upstream servers.
Most clients use JSON with an mcpServers key:
VS Code native MCP uses a servers key:
Goose uses YAML with an extensions key:
Codex uses TOML:
Grok Build uses the same TOML mcp_servers format as Codex, in ~/.grok/config.toml:
Ultra overlays only the fields it models onto each server entry, so Grok-specific keys such as startup_timeout_sec, tool_timeout_sec, and bearer_token_env_var are preserved.OpenCode uses JSON with an mcp key:
Zed uses JSON with a context_servers key, embedded in the editor’s main settings.json. Custom stdio servers are marked with "source": "custom":
Zed’s settings.json is JSONC, so it ships pre-populated with // comments and trailing commas. Ultra edits the context_servers key in place, preserving your other settings, comments, and any per-server fields it does not model. If the file can’t be parsed as JSONC, Ultra refuses to write rather than risk corrupting it.
Hermes uses YAML with an mcp_servers key:
Antigravity uses the standard mcpServers JSON format. It intentionally stores its MCP config under the shared .gemini directory (in config/mcp_config.json), separate from the Gemini CLI’s own settings.json.Ona uses the standard mcpServers JSON format, scoped to the workspace (the file lives inside the project checkout, not at a global path).

Client Config Paths

Ultra stores its own configuration in ~/.config/ultra/config.yaml. See Configuration for details.

After Configuration

  1. Restart your MCP client to load Ultra
  2. Import existing MCP servers with ultra migrate (see Migrate Servers)
  3. Or add new servers with ultra search and ultra add