Searches, installs, configures, updates, and removes MCP servers across many coding agents (Claude Code, VS Code, Cursor, etc.). Supports npx add-mcp, the official registry, and direct config editing.
How this skill is triggered — by the user, by Claude, or both
Slash command
/ai-driven-development:mcp-managementThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
**IMPORTANT**: After adding, removing, or updating MCP servers, inform the user to **restart the affected agent** for changes to take effect.
IMPORTANT: After adding, removing, or updating MCP servers, inform the user to restart the affected agent for changes to take effect.
CRITICAL: Before removing any server, use AskUserQuestion to confirm with the user.
# Install
claude mcp add --transport http <name> <url>
claude mcp add --transport stdio <name> -- <command> [args...]
claude mcp add-json <name> '<json>' # Full JSON config in one shot
# List/inspect
claude mcp list
claude mcp get <name>
# Remove (confirm with user first!)
claude mcp remove <name>
# OAuth login/logout (for OAuth-protected HTTP servers)
claude mcp login <name>
claude mcp logout <name>
Options must come BEFORE the server name. As of 2026-04, --transport http (Streamable HTTP) is recommended; sse is end-of-life.
Plugin MCP servers connect automatically at session start. Use /reload-plugins to re-init after enabling/disabling a plugin mid-session.
Install MCP servers to multiple coding agents at once using add-mcp:
# Remote server (HTTP)
npx add-mcp https://mcp.example.com/mcp
# npm package (stdio)
npx add-mcp @modelcontextprotocol/server-postgres
# Local command
npx add-mcp "npx -y @org/mcp-server --flag value"
# SSE transport
npx add-mcp https://mcp.example.com/sse --transport sse
| Flag | Description |
|---|---|
-g, --global | Install globally instead of project-level |
-a, --agent <agent> | Target specific agent(s), repeatable |
-n, --name <name> | Custom server name |
-t, --transport <type> | HTTP (default) or SSE |
--header <header> | Custom HTTP headers, repeatable |
-y, --yes | Skip confirmation prompts |
--all | Install to all detected agents |
| Agent | CLI Argument | Supports Project-Level |
|---|---|---|
| Claude Code | claude-code | Yes (.mcp.json) |
| Claude Desktop | claude-desktop | No (global only) |
| Cursor | cursor | Yes (.cursor/mcp.json) |
| VS Code | vscode | Yes (.vscode/mcp.json) |
| Gemini CLI | gemini-cli | Yes (.gemini/settings.json) |
| Codex | codex | Yes (.codex/config.toml, trusted projects only) |
| Goose | goose | No (global only) |
| GitHub Copilot CLI | github-copilot-cli | Yes (.vscode/mcp.json) |
| OpenCode | opencode | Yes (opencode.json) |
| Zed | zed | Yes (.zed/settings.json) |
Codex has two relevant surfaces:
codex mcp list, codex mcp get, codex mcp login) can see and validate
MCP configuration from the CLI process.codex mcp list but still
be absent from the current model turn's tool list if the thread was created before the
server was added, authenticated, or reloaded.When configuring MCP for Codex App:
.codex/config.toml when the user explicitly asks for repo-level
setup. The project must be trusted in ~/.codex/config.toml under
[projects."/absolute/path"] trust_level = "trusted".codex mcp login <server-name>
Then verify codex mcp list shows Auth: OAuth.codex mcp add <name> --url https://example.com/mcp --bearer-token-env-var EXAMPLE_API_KEY
If writing .codex/config.toml directly, this is the expected shape:
[mcp_servers.example]
type = "http"
url = "https://example.com/mcp"
bearer_token_env_var = "EXAMPLE_API_KEY"
Some third-party installers write http_headers.Authorization = "Bearer ${EXAMPLE_API_KEY}";
Codex CLI may display this as a bearer-token server, but the native field is clearer.tool_search still cannot find the
server tools in the existing thread.codex mcp list
codex mcp get <server-name>
confirms Codex CLI/config/auth. Inside a Codex App thread, also use tool_search for a
server-specific tool name (for example supabase execute_sql or render list_services).
If tool_search returns no tools while codex mcp list is correct, the issue is usually
App/thread reload or the server being configured only in a scope the App did not load..codex/config.toml is not being picked up by Codex App, as a temporary
diagnostic duplicate the server in user-level ~/.codex/config.toml, restart the App, and
confirm tools appear. Remove the user-level duplicate afterward if the user wanted repo-only
setup.# Install to Claude Code and Cursor only
npx add-mcp -a claude-code -a cursor https://mcp.stripe.com
# Install npm package to all agents, globally
npx add-mcp -g --all @modelcontextprotocol/server-postgres
# Install with custom name and headers
npx add-mcp -n my-api --header "Authorization: Bearer TOKEN" https://api.example.com/mcp
# List available agents
npx add-mcp list-agents
See references/multi-agent.md for agent-specific config paths, formats, and transformations.
When users ask to find or install an MCP server, see references/search.md for:
Trust hierarchy: Official vendor > MCP reference servers > Verified partners > Community
The --env CLI flag is unreliable with special characters. Instead:
Add server without env vars:
claude mcp add --transport stdio <name> -- npx -y @package/mcp-server
Edit config file to add env vars. See references/scopes.md for file locations.
Before installing, check if the server needs API keys or tokens. Use AskUserQuestion to collect required values before running install commands.
No direct update command exists. Options:
For OAuth servers (GitHub, Sentry): Run /mcp in Claude Code to re-authenticate.
Always confirm with user via AskUserQuestion before removing.
claude mcp remove <server-name>
For project-scoped servers in .mcp.json, delete the entry from the file after user confirmation.
For OpenCode (anomalyco/opencode v1.14.x):
mcp (not mcpServers); each server must declare type: "local" or type: "remote"command is a single array ["bin", "arg1", "arg2"] — there's no separate args fieldenvironment (not env)enabled: false disables without removingopencode mcp auth <name> / opencode mcp logout <name> for OAuth servers (e.g., GitHub)tool.execute.* hooks do not fire for MCP tool calls in v1.14.x — use permission rules insteadSee references/opencode-mcp.md for the full OpenCode MCP reference.
| Scope | Flag | Config Location | Use Case |
|---|---|---|---|
| Local | --scope local (default) | ~/.claude.json | Personal dev servers |
| Project | --scope project | .mcp.json | Team-shared servers |
| User | --scope user | ~/.claude.json | Cross-project tools |
In config files: ${VAR} or ${VAR:-default}
Use cmd /c wrapper for npx:
claude mcp add --transport stdio my-server -- cmd /c npx -y @some/package
npx claudepluginhub codealive-ai/ai-driven-development --plugin ai-driven-developmentManages Model Context Protocol (MCP) servers for Claude Code projects: installs/configures .mcp.json, OAuth remotes, runtime enable/disable, troubleshooting connections.
Configures MCP (Model Context Protocol) servers for Claude Code to connect to external tools, databases, APIs, and services like Jira, Sentry, PostgreSQL, Figma, Slack via HTTP, SSE, or stdio with authentication.
Guides configuration and usage of MCP (Model Context Protocol) servers in Claude Code via CLI commands and .mcp.json files, covering HTTP/SSE/stdio transports, scopes, env vars, and 300+ external tools.