# `ClaudeWrapper.Commands.Mcp`
[🔗](https://github.com/joshrotenberg/claude_wrapper_ex/blob/main/lib/claude_wrapper/commands/mcp.ex#L1)

MCP (Model Context Protocol) server management commands.

Wraps `claude mcp add|remove|list|get|serve|reset-project-choices`.

# `scope`

```elixir
@type scope() :: :local | :user | :project
```

# `add`

```elixir
@spec add(ClaudeWrapper.Config.t(), String.t(), String.t(), [String.t()], keyword()) ::
  {:ok, String.t()} | {:error, term()}
```

Add a stdio MCP server.

# `add_json`

```elixir
@spec add_json(ClaudeWrapper.Config.t(), String.t(), String.t(), keyword()) ::
  {:ok, String.t()} | {:error, term()}
```

Add an MCP server from a JSON configuration.

# `get`

```elixir
@spec get(ClaudeWrapper.Config.t(), String.t(), keyword()) ::
  {:ok, map()} | {:error, term()}
```

Get details for a specific MCP server.

# `list`

```elixir
@spec list(
  ClaudeWrapper.Config.t(),
  keyword()
) :: {:ok, [map()]} | {:error, term()}
```

List configured MCP servers.

# `remove`

```elixir
@spec remove(ClaudeWrapper.Config.t(), String.t(), keyword()) ::
  {:ok, String.t()} | {:error, term()}
```

Remove an MCP server.

# `reset_project_choices`

```elixir
@spec reset_project_choices(ClaudeWrapper.Config.t()) ::
  {:ok, String.t()} | {:error, term()}
```

Reset project choices for MCP servers.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
