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