Skip to content

12.1 添加 MCP 服务器

学习如何添加不同类型的 MCP 服务器到 Claude Code。

添加远程 HTTP 服务器

HTTP 服务器是连接到远程 MCP 服务器的推荐选项。

### 基本语法

    bash


    claude mcp add --transport http <name> <url>

### 示例:连接到 Notion

    bash


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

### 带身份验证的示例

    bash


    # Bearer 令牌
    claude mcp add --transport http secure-api https://api.example.com/mcp \
    --header "Authorization: Bearer your-token"

    # API 密钥
    claude mcp add --transport http api https://api.example.com/mcp \
    --header "X-API-Key: your-api-key"

### 带多个标头的示例

    bash


    claude mcp add --transport http custom-api https://api.example.com/mcp \
      --header "Authorization: Bearer your-token" \
      --header "X-Custom-Header: custom-value"

## 添加远程 SSE 服务器

SSE(Server-Sent Events)传输已弃用,请在可用的地方使用 HTTP 服务器。

### 基本语法

    bash


    claude mcp add --transport sse <name> <url>

### 示例:连接到 Asana

    bash


    claude mcp add --transport sse asana https://mcp.asana.com/sse

### 带身份验证的示例

    bash


    claude mcp add --transport sse private-api https://api.company.com/sse \
    --header "X-API-Key: your-key-here"

## 添加本地 stdio 服务器

Stdio 服务器作为本地进程在您的计算机上运行。

### 基本语法

    bash


    claude mcp add --transport stdio <name> <command> [args...]

### 示例:添加 Airtable 服务器

    bash


    claude mcp add --transport stdio airtable --env AIRTABLE_API_KEY=YOUR_KEY \
    -- npx -y airtable-mcp-server

### 示例:添加数据库服务器

    bash


    claude mcp add --transport stdio db -- npx -y @bytebase/dbhub \
      --dsn "postgresql://readonly:pass@prod.db.com:5432/analytics"

### 示例:添加 Python 服务器

    bash


    claude mcp add --transport stdio python-server -- python server.py

### 使用 `--` 参数

--(双破折号)将 Claude 自己的 CLI 标志与传递给 MCP 服务器的命令和参数分开。

    bash


    # 运行 npx server
    claude mcp add --transport stdio myserver -- npx server

    # 运行 python server.py --port 8080
    claude mcp add --transport stdio myserver --env KEY=value -- python server.py --port 8080

### Windows 用户注意事项

在本机 Windows(不是 WSL)上,使用 npx 的本地 MCP 服务器需要 cmd /c 包装器:

    bash


    claude mcp add --transport stdio my-server -- cmd /c npx -y @some/package

## 配置选项

### 环境变量

使用 --env 标志设置环境变量:

    bash


    claude mcp add --transport stdio db \
      --env DB_URL=postgresql://user:pass@localhost/db \
      --env DB_TIMEOUT=30 \
      -- npx -y db-server

### 作用域

使用 --scope 标志指定配置的存储位置:

    bash


    # 本地范围(默认)
    claude mcp add --transport http github https://api.github.com/mcp/

    # 项目范围
    claude mcp add --transport http github --scope project https://api.github.com/mcp/

    # 用户范围
    claude mcp add --transport http github --scope user https://api.github.com/mcp/

### 超时设置

使用 MCP_TIMEOUT 环境变量配置 MCP 服务器启动超时:

    bash


    # 设置 10 秒超时
    MCP_TIMEOUT=10000 claude

### 输出限制

使用 MAX_MCP_OUTPUT_TOKENS 环境变量增加输出限制:

    bash


    # 设置 50,000 令牌限制
    MAX_MCP_OUTPUT_TOKENS=50000 claude

## 身份验证

### OAuth 2.0

许多基于云的 MCP 服务器需要 OAuth 2.0 身份验证:

    bash


    # 1. 添加服务器
    claude mcp add --transport http github https://api.github.com/mcp/

    # 2. 在 Claude Code 中进行身份验证
    /mcp

    # 3. 选择需要身份验证的服务器
    # 4. 按照 OAuth 流程完成身份验证

### API 密钥

使用 API 密钥进行身份验证:

    bash


    claude mcp add --transport http api https://api.example.com/mcp \
    --header "Authorization: Bearer your-api-key"

### 环境变量

使用环境变量传递凭证:

    bash


    claude mcp add --transport stdio db \
      --env API_KEY=your-key \
      -- npx -y db-server

## 验证安装

### 检查服务器状态

    bash


    # 列出所有已配置的服务器
    claude mcp list

    # 获取特定服务器的详细信息
    claude mcp get github

    # 在 Claude Code 中检查服务器状态
    /mcp

### 测试服务器连接

    bash


    # 测试服务器连接
    测试 MCP 服务器连接

    # 使用服务器工具
    使用 GitHub 工具查看 PR

## 常见问题

### 连接失败


**问题** : 无法连接到 MCP 服务器

**解决方案** :

### 身份验证错误


**问题** : 身份验证失败

**解决方案** :

### 超时错误


**问题** : 服务器启动超时

**解决方案** :

### Windows 执行错误


**问题** : Windows 上无法执行 `npx` 命令

**解决方案** :

    bash


    # 使用 cmd /c 包装器
    claude mcp add --transport stdio my-server -- cmd /c npx -y @some/package

## 最佳实践

### 1\. 选择合适的传输方式
  • HTTP : 适合远程服务器和云服务
  • stdio : 适合本地工具和脚本
  • SSE : 已弃用,使用 HTTP 替代

2. 安全配置

  • 使用强身份验证
  • 限制权限范围
  • 使用环境变量管理凭证
  • 定期更新凭证

3. 性能优化

  • 设置适当的超时
  • 配置输出限制
  • 使用连接池
  • 启用缓存

4. 错误处理

  • 捕获和处理错误
  • 提供恢复方案
  • 记录错误日志
  • 监控服务器状态

删除服务器

如果不再需要服务器,可以删除它:

    bash


    # 删除服务器
    claude mcp remove github

    # 确认删除
    # 服务器已成功删除

## 重置配置

如果需要重置项目范围的选择:

    bash


    # 重置项目选择
    claude mcp reset-project-choices

基于 MIT 许可发布 | 永久导航