系列11-测试平台 MCP Server 实践:用 Kimi Code 自然语言查项目、跑 API 回归

系列11-测试平台 MCP Server 实践:用 Kimi Code 自然语言查项目、跑 API 回归

你在 Kimi Code 里写脚本、改用例,AI 已经能读本地仓库;如果它还能 查测试平台里的失败记录、触发 API 回归、拉报告摘要,少切十几次浏览器,效率差很多。

MCP(Model Context Protocol) 就是干这个的:把 测试平台能力 封装成 AI 客户端可调用的 Tools


演示与源码

地址
功能演示 http://43.142.83.156/showcase/ (MCP 相关说明见文档中心;平台 admin / BrickCore123456)
开源仓库 https://gitee.com/BanZhuanKeOrz/BrickCore

线上路径:系统管理 → MCP 配置 ;使用者复制 JSON 在 数据看板 → 首页看板 → BrickCore MCP Server 卡片。


一、MCP 30 秒讲清

复制代码
你(自然语言)
    ↓
AI 客户端(Kimi Code / Cursor / Claude Desktop)
    ↓  MCP 协议(HTTP)
测试平台 MCP Server
    ↓
BrickCore API(查项目 / 跑计划 / 读报告)

不是 把平台网页塞给 AI,而是 结构化工具 + 参数校验 + 写操作二次确认

国内测开常用 Kimi Code(CLI + IDE),HTTP MCP 配置简单,下文以它为主。


二、典型测试场景

你在 Kimi Code 里说 MCP 可能调用的能力
「BrickCore 有哪些项目?」 列项目 / 项目上下文
「项目 3 昨天接口计划失败几条?」 查执行记录、失败列表
「先 preview 接口计划 5,确认后再跑」 preview → confirm → run_api_plan
「这条失败用例请求体是什么?」 get_test_report / 明细
「列出在线 UI Runner 设备」 list_online_devices

不必记英文工具名,自然语言描述即可;危险操作会自动走 preview。


三、BrickCore MCP 工具类别(概念)

类别 示例
上下文 项目概览、环境、最近失败
执行 触发 API/UI 计划(需 confirm)
报告 计划结果、用例日志
AI 失败分析(若启用)

CE 当前对外 MCP 共 58 个工具(与平台内助手「小测」共用后端);具体列表见文档中心 MCP 外部接入 。源码目录 backend/app/mcp/

3.1 源码视角:Tool 如何注册与暴露给 AI

backend/app/mcp/server.py_register 把 Python 函数挂到 HTTP 端点 /brickcore/agent-hub/

python 复制代码
_register("list_online_devices", mcp_tools.tool_list_online_devices, "列出在线 Web UI Runner 设备")
_register("preview_run_api_plan", mcp_tools.tool_preview_run_api_plan, "预览接口测试计划执行影响")
_register("run_api_plan", mcp_tools.tool_run_api_plan, "执行接口测试计划(需 confirm_token)")

写操作走 preview → confirm 两阶段(tools.py + mcp_confirm.py):

python 复制代码
async def tool_preview_run_api_plan(ctx, plan_id, env_id=None):
    ensure_permission(ctx, API_PLAN_EDIT)
    impact = {
        "plan_id": plan_id,
        "plan_name": plan.name,
        "item_count": item_count,
        "warning": "将异步执行接口测试计划,可能触发大量 HTTP 请求",
    }
    confirm_token = await create_confirm_token(
        "run_api_plan",
        {"plan_id": plan_id, "env_id": resolved_env_id},
        ctx.username,
    )
    return {"impact": impact, "confirm_token": confirm_token, "expires_in_seconds": 300}

真正 run_api_plan 时必须带上 confirm_token一次性消费------防止 AI 在 IDE 里误触「跑生产计划」。

认证与业务 JWT 分离:Authorization: Bearer <MCP_API_KEY>mcp/auth.py),便于运维轮换 Key 而不踢掉所有登录用户。


四、平台侧配置(管理员)

  1. 登录 BrickCore
  2. 系统管理 → MCP 配置
  3. 开启 启用 MCP Server
  4. 填写 平台对外地址 (如 http://43.142.83.156:8000 或你的域名)
  5. 设置 MCP API Key(足够长的随机串,勿用弱口令)
  6. 保存

使用者查看接入信息数据看板 → 首页看板 向下滚动 BrickCore MCP Server 卡片 → 复制 URL 或 一键复制 JSON

默认路径:http://<host>:8000/brickcore/agent-hub/(末尾建议带 /


五、Kimi Code 配置(实操)

5.1 前置:HTTP 认证写在 headers

重要 :HTTP 模式必须用 headers 传 Bearer Key ,不能写在 Environment Variables 里------env 仅用于 stdio 子进程,写在 env 里会 401 / authenticated: false

5.2 方式 A:命令行(推荐)

bash 复制代码
kimi mcp add --transport http brickcore http://43.142.83.156:8000/brickcore/agent-hub/ \
  --header "Authorization: Bearer 你的MCP_API_KEY"

本地部署把地址换成 http://localhost:8000/brickcore/agent-hub/

5.3 方式 B:编辑配置文件

路径:

  • Linux / macOS:~/.kimi/mcp.json
  • Windows:C:\Users\你的用户名\.kimi\mcp.json
json 复制代码
{
  "mcpServers": {
    "brickcore": {
      "url": "http://43.142.83.156:8000/brickcore/agent-hub/",
      "headers": {
        "Authorization": "Bearer 你的MCP_API_KEY"
      }
    }
  }
}
检查项 正确
Transport http
Requires OAuth 不要勾选(用 Bearer API Key)
Authorization 与平台 MCP API Key 完全一致

保存后 重启 Kimi Code

5.4 连通性自检

curl(先确认端点可达):

bash 复制代码
curl -s -o /dev/null -w "%{http_code}" \
  -H "Authorization: Bearer 你的MCP_API_KEY" \
  "http://43.142.83.156:8000/brickcore/agent-hub/"
# 期望 200 或非 401

Kimi Code 对话验证

用 BrickCore 查看 MCP 是否已连接成功

或:

用 BrickCore 列出所有项目

能返回项目列表即配置成功。

5.5 对话示例(Kimi Code)

复制代码
你:列出 BrickCore 当前在线的 UI Runner 设备
AI:[list_online_devices] → device_id、在线状态

你:项目 3 有哪些接口测试计划?最近执行结果如何?
AI:[查计划列表 + 最近 record] → 汇总

你:帮我在测试环境 preview 接口计划 plan_id=5
AI:[preview_run_api_plan] → impact(计划名、条数、环境)+ confirm_token

你:确认执行
AI:[run_api_plan + confirm_token] → record_id,异步执行中

写操作 AI 必须先 preview;你口头 confirm 后才会带 token 执行。


六、安全:preview + confirm

写操作(跑计划、触发 AI 生成等)三阶段:

  • preview 返回 影响范围5 分钟有效confirm_token
  • token 在 Redis 一次性消费,用后即废
  • 只读查询(列项目、读报告)无 confirm
  • MCP API Key 等同 API Token:HTTPS、定期轮换、RBAC

生产环境建议:内网/VPN 暴露 MCP;公网时在 Nginx 对 /brickcore/agent-hub/ 做 IP 白名单。


七、MCP vs 平台内「小测」助手

平台内助手「小测」 外部 MCP(Kimi Code)
入口 网页右下角 Kimi Code / Cursor
用户 测试在浏览器 测开 / 开发在 CLI
场景 查失败、轻量触发 编码时顺带跑回归
协议 平台内部 标准 MCP HTTP

两者互补:浏览器里用 小测 ,终端/IDE 里用 Kimi Code + MCP


八、与「UI Agent MCP 思路」区别

  • 外部 MCP Server (本文):Kimi Code 操控整个测试平台
  • UI 录制 Agent :平台 用 MCP 思路驱动浏览器录步骤

名字都带 MCP,方向相反,文档别混。


九、排错

现象 处理
401 / authenticated: false Key 错误;或 Authorization 误写在 env 而非 headers
Connection failed 但后端 200 Windows 上 Kimi Code 偶发显示编码问题,对话能返回数据可忽略红字
连接 refused 地址/port、Nginx 反代、防火墙
工具列表空 MCP 未启用或未保存配置
执行无权限 平台账号 RBAC
Nginx 404 需反代 /brickcore/agent-hub/ 到 backend:8000,不只 /api

十、其他客户端(Cursor / Claude Desktop)

步骤与 Kimi Code 相同:在 首页看板 MCP 卡片 一键复制 JSON,粘贴到客户端 mcpServers 配置。

Cursor 示例:

json 复制代码
{
  "mcpServers": {
    "brickcore": {
      "url": "http://your-server:8000/brickcore/agent-hub/",
      "headers": {
        "Authorization": "Bearer 你的MCP_API_KEY"
      }
    }
  }
}

Claude Desktop(Windows):%APPDATA%\Claude\claude_desktop_config.json


十一、小结

  1. MCP = AI 客户端与测试平台之间的标准工具协议。
  2. Kimi Code + HTTP headers 是国内测开接入 BrickCore 的常用方式。
  3. 适合 CLI/IDE 里边写代码边查失败、preview 后触发回归
  4. 写操作必须 confirm,API Key 当密钥管。
  5. 与网页助手「小测」并存,按场景选入口。

附录 A:源码文件索引(进阶读码)

复制代码
backend/app/mcp/
├── server.py    # /brickcore/agent-hub/ 挂载、_register
├── tools.py     # 各 tool_* 实现
├── auth.py      # Bearer MCP_API_KEY
└── schemas.py
写操作 preview 工具 执行工具
跑 API 计划 preview_run_api_plan run_api_plan
跑 UI 计划 preview_run_ui_task run_ui_task
需求用例生成 preview_trigger_generate trigger_generate

Nginxnginx-docker.conf 需把 /brickcore/agent-hub/ 反代到 backend:8000。


支持与交流

相关推荐
米小虾1 小时前
2026年7月AI圈大地震:GPT-5.6被政府限制、Claude入驻Slack、Anthropic自研芯片
人工智能·chatgpt·claude
带刺的坐椅1 小时前
ReActAgent 使用指南:构建会思考、能行动的 AI Agent
java·ai·llm·solon·loop·react-agent
向阳是我1 小时前
在 Mac(M2)上用 faster-whisper 实现高精度中文语音转文字
python·macos·ai·whisper·语音识别
城事漫游Molly1 小时前
文献综述不是“读书笔记堆砌“——三种文献整合策略详解
人工智能·论文写作·ai for science·文献综述·博士生必读
中微极客1 小时前
LangChain 0.3实战:企业级RAG与多Agent架构解析
人工智能·langchain·新人首发
山海云端有限公司1 小时前
企业工商信息查询API实战:从认证到数据解析全流程
python·api·数据解析·企业信息查询·聚合api·第三方集成
人工智能AI技术1 小时前
抛弃PaddleOCR!RapidOCR速度碾压,本地离线秒识别
人工智能
MartinYeung51 小时前
[论文学习]BackdoorLLM:大语言模型后门攻击与防御的综合性基准——深度解析
人工智能·学习·语言模型
大圣编程1 小时前
python break语句
开发语言·前端·python