Why use the CLI instead?
Hand-editing JSON is easy until a missing comma breaks the file or an entry lands in the wrong scope. The Claude Code CLI handles the config format and leaves you with a command another developer can repeat.
There is an important limit: writing valid config does not prove the server can connect. You still need to check its status afterward.
1. Get the setup details from the publisher
Before you run a command, find three things in the server's own documentation:
- the transport, usually HTTP for a remote endpoint or stdio for a local process;
- the exact URL or launch command;
- the authentication method and any required environment variables.
Do not guess the command from the package name. MCP defines how hosts and servers communicate. Each server still has its own install steps, permissions, and release process.
2. Choose where the server should load
Pass --scope explicitly so the command records your intent:
localkeeps the server private to your user account in the current project;projectwrites it to the project's.mcp.jsonfor version control;usermakes it available across your projects on the Mac.
Local is a good default for testing because it does not change the shared project file. That does not make credentials safe to paste into a command or commit. Use the server's recommended authentication or environment mechanism.
3. Add the server
For a remote HTTP endpoint:
claude mcp add --transport http --scope local <name> <url>For a local stdio process:
claude mcp add --transport stdio --scope local <name> -- <command> [arguments...]Everything after -- belongs to the server process. Without that separator, a server argument can be mistaken for a Claude Code flag.
If the publisher documents an SSE endpoint, replace the transport with sse. WebSocket servers currently require JSON configuration or claude mcp add-json, so they are not a completely JSON-free case.
4. Check what happened
Run:
claude mcp listThe add command confirms that Claude Code wrote an entry. The list command goes further and reports whether the server connected, needs authentication, or failed.
Then open Claude Code in the project and run /mcp. Use that panel to inspect the server, approve project-scoped entries, complete supported OAuth flows, or toggle a server off without deleting its configuration.
5. Change or remove the entry
CLI flags can change between Claude Code releases, so check claude mcp add --help before copying an old setup command. A simple way to replace an outdated entry is to remove the named server and add it again with the corrected values:
claude mcp remove <name>If the entry uses project scope, review the .mcp.json diff before you commit it. The CLI protects you from malformed JSON, not from giving a server too much access.
When opening the JSON still makes sense
The CLI covers common HTTP, SSE, and stdio setups. You may still inspect or edit JSON when reviewing a team change, diagnosing scope precedence, or configuring a transport that the regular add command does not support.
That is a useful distinction. The goal is not to pretend the config file does not exist. It is to avoid treating manual edits as the first step for every server.
Using a visual manager
If you switch servers often, a visual manager can save time. It still works with the same underlying Claude Code configuration, and it cannot decide whether a third-party server deserves access to your files or accounts.
Vibedock is an independent macOS menu bar app for toggling Claude Code MCP servers and relaunching affected sessions. Claude Code's /mcp panel remains the place to check server health and complete OAuth.