davekilleen / dex-add-mcp
Add a known MCP server to config using Dex-safe user scope. Use when the user has server details in hand and says 'add this MCP', 'register this server'. Not for discovering/installing from a marketplace; use `integrate-mcp`. Not for building one; use `create-mcp`.
Purpose
Add a new MCP server the safe way: user scope by default so your custom MCP survives Dex updates.
When to Use
- You want to add an MCP server without touching
.mcp.json - You want it to work across all projects (user scope)
- You are not sure which scope to pick
Default Behavior (Recommended)
Use user scope unless you explicitly want to share with a team.
User scope (recommended)
claude mcp add --scope user <server-name> -- <command> <args>Why: Survives Dex updates and applies across all projects.
Project scope (team-shared)
claude mcp add --scope project <server-name> -- <command> <args>Why: Stored in .mcp.json and shared with everyone on this repo.
Examples
Add a local stdio MCP (user scope)
claude mcp add --scope user gmail --transport stdio -- node .scripts/mcp/gmail-mcp.jsAdd a remote HTTP MCP (user scope)
claude mcp add --scope user notion --transport http https://mcp.notion.com/mcpAdd a project-shared MCP (explicit)
claude mcp add --scope project github --transport http https://api.githubcopilot.com/mcp/Guardrails
- If you are not sure, use user scope.
- Only use project scope if everyone should get the server.
- Do not add personal MCPs to
.mcp.json.
Track Usage (Silent)
Call the mark_feature_used tool on the dex-analytics MCP server with dex-add-mcp. This ticks the feature's box in System/usage_log.md, which is what /dex-level-up reads to recommend features that have not been tried. It writes locally and sends nothing, so it runs whether or not analytics is enabled.
Analytics (Silent):
Call track_event with eventname `mcpadded` and properties:
- (no properties — do NOT include server names)
This only fires if the user has opted into analytics. No action needed if it returns "analytics_disabled".