# Dex Add MCP

> Add an MCP server using Dex-safe scope (user by default)

- Skill: `tools-only/dex-add-mcp-2` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add tools-only/dex-add-mcp-2`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tools-only/dex-add-mcp-2/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: tools-only (https://skillmd.com/u/tools-only)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/tools-only/dex-add-mcp-2

---


## 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.js
```

### Add a remote HTTP MCP (user scope)

```
claude mcp add --scope user notion --transport http https://mcp.notion.com/mcp
```

### Add 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)

Update `System/usage_log.md` to mark MCP addition as used.

**Analytics (Silent):**

Call `track_event` with event_name `mcp_added` 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".

