12.3 MCP 服务器管理
约 1196 字大约 4 分钟
学习如何管理已配置的 MCP 服务器,包括列出、查看详情、删除和检查状态。
列出服务器
列出所有服务器
claude mcp list
已配置的 MCP 服务器:
本地范围:
- github: https://api.githubcopilot.com/mcp/
- sentry: https://mcp.sentry.dev/mcp
项目范围:
- database: stdio server
- api: http server
用户范围:
- formatter: stdio server列出特定范围的服务器
列出本地范围服务器
claude mcp list --scope local
列出项目范围服务器
claude mcp list --scope project
列出用户范围服务器
claude mcp list --scope user
示例:查看 GitHub 服务器详情
claude mcp get github示例:查看数据库服务器详情
claude mcp get database删除服务器
基本用法
claude mcp remove <server-name>示例:删除 GitHub 服务器
claude mcp remove github删除特定范围的服务器
# 删除本地范围服务器
claude mcp remove github --scope local
# 删除项目范围服务器
claude mcp remove database --scope project
# 删除用户范围服务器
claude mcp remove formatter --scope user批量删除
# 删除多个服务器
claude mcp remove github sentry database检查服务器状态
在 Claude Code 中检查
/mcp检查特定服务器状态
# 检查 GitHub 服务器状态
claude mcp get github测试服务器连接
测试所有服务器
# 测试所有 MCP 服务器连接
claude mcp list测试特定服务器
# 测试 GitHub 服务器连接
claude mcp get github更新服务器配置
更新 HTTP 服务器
# 删除旧配置
claude mcp remove github
# 添加新配置
claude mcp add --transport http github https://api.githubcopilot.com/mcp/v2更新 stdio 服务器
# 删除旧配置
claude mcp remove database
# 添加新配置
claude mcp add --transport stdio database \
--env DB_URL=new-db-url \
-- npx -y @bytebase/dbhub更新环境变量
# 对于项目范围服务器,编辑 .mcp.json
vim .mcp.json{
"mcpServers": {
"database": {
"command": "npx",
"args": ["-y", "@bytebase/dbhub"],
"env": {
"DB_URL": "${NEW_DB_URL:-postgresql://localhost/db}"
}
}
}
}重置配置
重置项目选择
claude mcp reset-project-choices此命令将清除所有项目范围 MCP 服务器的批准选择。
重置所有配置
# 删除所有本地范围服务器
claude mcp list --scope local | awk '{print $1}' | xargs claude mcp remove
# 删除所有用户范围服务器
claude mcp list --scope user | awk '{print $1}' | xargs claude mcp remove监控服务器性能
查看性能统计
# 显示 MCP 服务器性能统计
claude mcp list查看错误日志
# 显示 MCP 服务器错误日志
claude --verbose故障排除
服务器连接失败
问题: 服务器无法连接
# 1. 检查服务器状态
/mcp
# 2. 测试连接
claude mcp list
# 3. 查看错误日志
claude --verbose
# 4. 验证配置
claude mcp get server-name
# 5. 重新配置服务器
claude mcp remove server-name
claude mcp add --transport http server-name <url>服务器响应缓慢
问题: 服务器响应时间过长
# 1. 查看性能统计
claude mcp list
# 2. 检查网络连接
ping api.example.com
# 3. 增加超时设置
MCP_TIMEOUT=30000 claude
# 4. 优化服务器配置
# 考虑使用更快的传输方式工具调用失败
问题: MCP 工具调用失败
# 1. 检查服务器状态
/mcp
# 2. 验证工具参数
# 检查工具参数
# 3. 查看错误日志
claude --verbose
# 4. 重试工具调用
# 重试工具调用配置文件错误
问题: .mcp.json 配置文件有错误
# 1. 验证 JSON 语法
cat .mcp.json | jq .
# 2. 检查环境变量
echo $API_KEY
# 3. 查看错误日志
claude --verbose
# 4. 修复配置文件
vim .mcp.json最佳实践
1. 定期检查服务器状态
# 每天检查一次
/mcp2. 监控性能
# 定期查看性能统计
claude mcp list
# 识别慢速服务器
# 优化配置或更换服务器3. 及时删除不需要的服务器
# 定期清理不使用的服务器
claude mcp list
claude mcp remove unused-server4. 备份配置
# 备份 .mcp.json
cp .mcp.json .mcp.json.backup
# 备份用户配置
cp ~/.claude/mcp.json ~/.claude/mcp.json.backup5. 文档化配置
# 创建配置文档
echo "MCP 服务器配置说明" > MCP_CONFIG.md
echo "- github: 用于代码审查" >> MCP_CONFIG.md
echo "- database: 用于数据查询" >> MCP_CONFIG.md自动化管理
使用脚本管理
#!/bin/bash
# mcp-manager.sh
# 列出服务器
list_servers() {
claude mcp list
}
# 添加服务器
add_server() {
claude mcp add "$@"
}
# 删除服务器
remove_server() {
claude mcp remove "$@"
}
# 检查状态
check_status() {
echo "> /mcp" | claude
}
# 主函数
case "$1" in
list) list_servers ;;
add) shift; add_server "$@" ;;
remove) shift; remove_server "$@" ;;
status) check_status ;;
*) echo "用法: $0 {list|add|remove|status}" ;;
esac定期维护
#!/bin/bash
# mcp-maintenance.sh
# 检查所有服务器状态
echo "检查 MCP 服务器状态..."
claude mcp list
# 测试连接
echo "测试服务器连接..."
claude mcp list
# 查看性能统计
echo "查看性能统计..."
claude mcp list
# 备份配置
echo "备份配置..."
cp ~/.claude/mcp.json ~/.claude/mcp.json.backup.$(date +%Y%m%d)设置定时任务
# 添加到 crontab
crontab -e
# 每天凌晨 2 点运行维护脚本
0 2 * * * /path/to/mcp-maintenance.sh