Chapter 09

与外部工具集成

通过 MCP 协议,Cascade 可以连接数据库、浏览器、项目管理工具,成为真正能操作整个开发工具链的 AI 工程师。

Git 集成

Cascade 深度集成 Git,不只是生成 Commit Message,还能理解代码变更的语义:

AI 生成 Commit Message

请根据以下 git diff 生成一个符合 Conventional Commits 规范的 commit message:
- 格式:type(scope): description
- type:feat/fix/refactor/test/docs/chore 之一
- description 用中文,不超过 50 字
- 如果变更涉及多个关注点,添加 body 说明

[粘贴 git diff 输出]
在终端直接使用(配合 shell 别名): # 在 ~/.zshrc 或 ~/.bashrc 中添加: alias gcai='git diff --cached | windsurf-cascade "生成 commit message"' # 使用方式: git add src/auth/ gcai # Cascade 分析 staged 的变更,生成: # feat(auth): 添加 JWT 刷新 token 机制 # # - 新增 refreshToken API 端点 # - Token 有效期从 1 小时延长到 7 天(refresh) # - 自动检测 token 过期并静默刷新

理解 git diff 和分支差异

请分析这个 PR 的代码变更(git diff main...feature/payment),
告诉我:
1. 这个 PR 做了什么(用产品语言,不是技术语言)
2. 主要的风险点是什么
3. 需要特别 review 的关键代码行

[粘贴 git diff 输出]

MCP(Model Context Protocol)集成

MCP 是 Anthropic 发布的开放协议,让 Cascade 能连接任意外部工具。Windsurf 从 1.0 版本起支持 MCP,配置位于 Settings → MCP Servers。

MCP(Model Context Protocol)
Anthropic 2024 年 11 月发布的开放标准,定义了 AI 模型与外部工具/数据源之间的通信协议。类比:就像 USB-C 接口统一了各种设备连接,MCP 统一了 AI 工具集成的接口。任何人都可以写 MCP Server(工具提供方),任何支持 MCP 的 AI 客户端(如 Windsurf、Claude Desktop)都可以直接使用,无需为每个 AI 单独适配。

配置 MCP Server

// Settings → MCP Servers → 添加以下配置
{
  "mcpServers": {
    // PostgreSQL 数据库工具
    "postgres": {
      "command": "npx",
      "args": ["@modelcontextprotocol/server-postgres"],
      "env": {
        "POSTGRES_URL": "postgresql://user:pass@localhost/mydb"
      }
    },
    // 文件系统工具(允许读取项目外的文件)
    "filesystem": {
      "command": "npx",
      "args": ["@modelcontextprotocol/server-filesystem", "/Users/me/projects"]
    },
    // Playwright 浏览器自动化
    "playwright": {
      "command": "npx",
      "args": ["@playwright/mcp"]
    },
    // GitHub 集成
    "github": {
      "command": "npx",
      "args": ["@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_..."
      }
    }
  }
}

Playwright MCP:浏览器调试 UI

配置 Playwright MCP 后,Cascade 可以直接控制浏览器,截图、点击、填表单——让 UI 调试从"猜测"变成"实时验证":

使用 Playwright 打开 http://localhost:3000/checkout
截图当前状态,然后:
1. 点击"进入结算"按钮
2. 填写表单(姓名: 张三,地址: 北京市朝阳区)
3. 截图填写后的状态
4. 检查控制台是否有 JS 错误
5. 告诉我 UI 是否与设计稿(@design/checkout.png)吻合
Playwright MCP 工作流: Cascade Prompt │ ▼ MCP 工具调用 → playwright.navigate(url) │ ▼ playwright.screenshot() → 截图返回给 Cascade │ ▼ Cascade 分析截图内容 │ ▼ playwright.click(selector) → 执行操作 │ ▼ playwright.screenshot() → 验证结果 │ ▼ Cascade 报告发现的问题

数据库工具:分析 Schema 并生成查询

配置 PostgreSQL MCP Server 后,Cascade 可以直接查询数据库 Schema 并生成优化查询:

连接数据库,查看 orders 表和 order_items 表的 Schema,
然后:
1. 找出最近7天销售额 TOP 10 的商品
2. 分析这个查询是否需要添加索引(查看执行计划)
3. 如果需要索引,生成对应的 Prisma migration 文件

不要实际修改数据库,只生成 migration 文件。
-- Cascade 生成的查询(基于实际 Schema):
SELECT
  p.id,
  p.name,
  SUM(oi.quantity * oi.unit_price) AS total_revenue,
  COUNT(DISTINCT o.id) AS order_count,
  SUM(oi.quantity) AS units_sold
FROM products p
JOIN order_items oi ON p.id = oi.product_id
JOIN orders o ON oi.order_id = o.id
WHERE
  o.status = 'completed'
  AND o.created_at >= NOW() - INTERVAL '7 days'
GROUP BY p.id, p.name
ORDER BY total_revenue DESC
LIMIT 10;

-- 建议添加的复合索引(基于查询执行计划分析):
CREATE INDEX idx_orders_status_created
  ON orders(status, created_at)
  WHERE status = 'completed';

Jira / Linear 集成

通过 MCP,Cascade 可以读取 Issue 内容,直接根据需求描述生成代码:

读取 Linear Issue ENG-247 的完整描述,
然后:
1. 分析需求,列出需要修改的文件
2. 预估开发工作量(小时)
3. 开始实现(如果我确认)

实现时遵循 .windsurfrules 中的规范。
MCP 安全注意事项 MCP Server 配置中包含数据库连接字符串、API Token 等敏感信息,务必注意:① MCP 配置文件不要提交到 Git(添加到 .gitignore)② 数据库 MCP 使用只读账号(SELECT 权限,无写权限)③ 生产数据库不接入 MCP,只用于开发/测试环境 ④ 定期 rotate 访问 Token。
本章小结 MCP 是 Windsurf 扩展能力的关键协议,让 Cascade 从"代码编辑器"升级为"开发工具链控制中心"。最实用的集成:Playwright MCP(UI 调试)、PostgreSQL MCP(数据库分析)、GitHub MCP(PR 和 Issue 管理)。所有 MCP 配置中的凭据都应视为密钥级别的敏感信息妥善保管。