13.5 MCP 實際應用示例
透過實際示例學習如何有效使用 MCP 伺服器。
示例 1: 代码审查工作流
场景
使用 GitHub MCP 伺服器自動化程式碼審查流程。
### 配置
bash
# 添加 GitHub MCP 服务器
claude mcp add --transport http github https://api.githubcopilot.com/mcp/
### 工作流程
bash
# 1. 查看 PR
使用 GitHub 工具查看 PR #456
# 2. 分析代码变更
分析 PR #456 的代码变更
# 3. 运行测试
运行 PR #456 的测试
# 4. 生成审查报告
生成 PR #456 的审查报告
### 使用的 MCP 工具
* `github.get_pr`: 獲取 PR 資訊
* `github.get_diff`: 獲取程式碼差異
* `github.run_tests`: 執行測試
* `github.create_review_comment`: 建立審查評論
### 结果
bash
# PR #456 审查报告
## 代码变更
- 修改文件:15
- 新增代码:500 行
- 删除代码:200 行
## 测试结果
- 单元测试:通过 (100/100)
- 集成测试:通过 (50/50)
- 覆盖率:85%
## 建议
## 结论
✅ 批准 PR
## 示例 2: 错误监控和调试
### 场景使用 Sentry MCP 伺服器監控和除錯生產錯誤。
### 配置
bash
# 添加 Sentry MCP 服务器
claude mcp add --transport http sentry https://mcp.sentry.dev/mcp
# 进行身份验证
/mcp
# 选择 "sentry"
# 完成 OAuth 流程
### 工作流程
bash
# 1. 查看最近的错误
使用 Sentry 工具查看过去 24 小时的错误
# 2. 分析错误模式
分析错误模式
# 3. 查看特定错误详情
查看错误 ID abc123 的详细信息
# 4. 识别根本原因
识别错误的根本原因
# 5. 生成修复建议
生成修复建议
### 使用的 MCP 工具
* `sentry.get_errors`: 獲取錯誤列表
* `sentry.get_error_details`: 獲取錯誤詳情
* `sentry.get_stacktrace`: 獲取堆疊跟蹤
* `sentry.get_events`: 獲取相關事件
### 结果
bash
# 错误分析报告
## 错误摘要
- 总错误数:150
- 独特错误数:45
- 影响用户:1,200
## 主要错误
- 发生次数:50
- 影响用户:500
- 最后出现:2 小时前
- 发生次数:30
- 影响用户:300
- 最后出现:1 小时前
## 根本原因
## 修复建议
## 示例 3: 数据分析和报告
### 场景使用資料庫 MCP 伺服器分析銷售資料並生成報告。
### 配置
bash
# 添加数据库 MCP 服务器
claude mcp add --transport stdio sales-db -- npx -y @bytebase/dbhub \
--dsn "postgresql://readonly:pass@prod.db.com:5432/sales"
### 工作流程
bash
# 1. 查询销售数据
使用数据库工具查询本月销售额
# 2. 分析销售趋势
分析销售趋势
# 3. 识别热门产品
识别最畅销的产品
# 4. 生成报告
生成销售分析报告
### 使用的 MCP 工具
* `database.query`: 執行 SQL 查詢
* `database.get_schema`: 獲取資料庫架構
* `database.analyze`: 分析資料
### 结果
bash
# 销售分析报告
## 总体统计
- 总销售额:$2,345,678
- 订单数量:15,432
- 平均订单金额:$152.00
## 销售趋势
- 周一:$345,678
- 周二:$423,456
- 周三:$378,901
- 周四:$456,789
- 周五:$512,345
- 周六:$234,567
- 周日:$189,942
## 热门产品
## 建议
## 示例 4: 自动化部署
### 场景使用 GitHub 和 CI/CD MCP 伺服器自動化部署流程。
### 配置
bash
# 添加 GitHub MCP 服务器
claude mcp add --transport http github https://api.githubcopilot.com/mcp/
# 添加 CI/CD MCP 服务器
claude mcp add --transport http cicd https://cicd.internal.com/mcp \
--header "Authorization: Bearer ${CICD_TOKEN}"
### 工作流程
bash
# 1. 创建发布分支
使用 GitHub 工具创建发布分支
# 2. 更新版本号
更新 package.json 中的版本号
# 3. 运行测试
使用 CI/CD 工具运行测试
# 4. 构建项目
使用 CI/CD 工具构建项目
# 5. 部署到生产环境
使用 CI/CD 工具部署到生产环境
# 6. 创建 Release
使用 GitHub 工具创建 Release
### 使用的 MCP 工具
* `github.create_branch`: 建立分支
* `github.update_file`: 更新檔案
* `cicd.run_tests`: 執行測試
* `cicd.build`: 構建專案
* `cicd.deploy`: 部署專案
* `github.create_release`: 建立 Release
### 结果
bash
# 部署报告
## 部署信息
- 分支:release/v2.1.0
- 版本:2.1.0
- 环境:production
- 时间:2024-01-15 10:30:00
## 测试结果
- 单元测试:通过 (100/100)
- 集成测试:通过 (50/50)
- E2E 测试:通过 (20/20)
## 构建结果
- 构建时间:5 分钟
- 构建状态:成功
- 构建产物:dist/
## 部署结果
- 部署状态:成功
- 部署时间:2 分钟
- 健康检查:通过
## Release
- Release URL:https://github.com/user/repo/releases/tag/v2.1.0
- Release 说明:包含新功能和修复
## 示例 5: 客户支持工作流
### 场景使用 JIRA 和 Slack MCP 伺服器自動化客戶支援工作流。
### 配置
bash
# 添加 JIRA MCP 服务器
claude mcp add --transport http jira https://mcp.atlassian.com/jira \
--header "Authorization: Bearer ${JIRA_TOKEN}"
# 添加 Slack MCP 服务器
claude mcp add --transport http slack https://mcp.slack.com/mcp \
--header "Authorization: Bearer ${SLACK_TOKEN}"
### 工作流程
bash
# 1. 查看新问题
使用 JIRA 工具查看新问题
# 2. 分析问题优先级
分析问题优先级
# 3. 分配问题
分配问题给合适的团队
# 4. 通知团队
使用 Slack 工具通知团队
# 5. 跟踪进度
跟踪问题进度
### 使用的 MCP 工具
* `jira.get_issues`: 獲取問題列表
* `jira.update_issue`: 更新問題
* `jira.assign_issue`: 分配問題
* `slack.send_message`: 傳送訊息
* `slack.create_channel`: 建立頻道
### 结果
bash
# 客户支持报告
## 新问题
- 总数:25
- 高优先级:5
- 中优先级:10
- 低优先级:10
## 问题分配
- 开发团队:15
- 运维团队:5
- 产品团队:5
## 团队通知
- 已通知团队:3
- 通知渠道:#support, #dev, #ops
## 进度跟踪
- 已解决:10
- 进行中:10
- 待处理:5
## 示例 6: 文档生成工作流
### 场景使用 Notion 和 GitHub MCP 伺服器自動化文件生成。
### 配置
bash
# 添加 Notion MCP 服务器
claude mcp add --transport http notion https://mcp.notion.com/mcp
# 添加 GitHub MCP 服务器
claude mcp add --transport http github https://api.githubcopilot.com/mcp/
### 工作流程
bash
# 1. 获取代码变更
使用 GitHub 工具获取最近的代码变更
# 2. 分析代码功能
分析代码功能
# 3. 生成文档
生成 API 文档
# 4. 更新 Notion
使用 Notion 工具更新文档页面
# 5. 通知团队
使用 Slack 工具通知团队文档已更新
### 使用的 MCP 工具
* `github.get_commits`: 獲取提交
* `github.get_diff`: 獲取程式碼差異
* `notion.get_page`: 獲取頁面
* `notion.update_page`: 更新頁面
* `slack.send_message`: 傳送訊息
### 结果
bash
# 文档更新报告
## 代码变更
- 提交数:50
- 修改文件:20
- 新功能:5
## 生成的文档
- API 文档:已更新
- 用户指南:已更新
- 开发者文档:已更新
## Notion 更新
- 更新页面:10
- 新增页面:5
- 更新时间:2024-01-15 10:30:00
## 团队通知
- 通知频道:#docs, #dev
- 通知时间:2024-01-15 10:35:00
## 最佳实践
### 1\. 组合多个 MCP 服务器
bash
# 使用多个 MCP 服务器
使用 GitHub 工具创建 PR
使用 Sentry 工具检查错误
使用数据库工具验证数据
### 2\. 自动化工作流
bash
# 创建自动化工作流
cat > ~/.claude/commands/deploy.md << 'EOF'
EOF
### 3\. 错误处理
bash
# 处理 MCP 错误
如果 MCP 工具失败,重试 3 次
如果仍然失败,通知团队
### 4\. 监控和日志
bash
# 监控 MCP 使用
显示 MCP 使用统计
# 记录日志
显示 MCP 日志
### 5\. 性能优化
bash
# 优化 MCP 性能
启用 MCP 缓存
批量处理请求
使用并行处理