MCP自定义模式——Kilo代码集成
概述
该项目实现了 自定义MCP(模型上下文协议)服务器 与...集成 基洛代码 启用 手动、验收和行为测试自动化 带着一个 用户确认的执行流程.
核心思想是:
- MCP服务器应正常工作 即使只安装了MCP (未安装自定义模式)。
- 任何 测试相关提示(单元测试除外) 必须到达我们的MCP服务器。
- 执行前 任何自动化(ParseOS/OS/浏览器),the 用户必须明确确认 在Kilo Code用户界面内。
- 自定义模式增强了体验,但 非强制性 核心功能。
______________________________________________________________________
关键目标
- ✅ 支持 手动/验收/行为测试 仅
- ❌ 明确阻止 单元测试 (问, 是, junit, etc.)
- ✅ 基于意图的路由(测试/调试/功能)
- ✅ 执行前用户确认
- ✅ 项目感知测试用例生成
- ✅ 适用于 内置Kilo Code模式 (调试、编排器等)
______________________________________________________________________
高层架构
Kilo Code UI
│
│ (User Prompt)
▼
MCP Client
│
│ JSON‑RPC
▼
MCP Server (server.py)
│
├─ intent.py → Detect intent (testing / debug / feature)
├─ protocol.py → Tool routing & confirmation logic
├─ acceptance.py → Acceptance test case generation
├─ feature_context.py → Project‑aware feature analysis
├─ root_cause.py → Debug & RCA analysis
└─ confirmation.py → Yes / No execution UI______________________________________________________________________
MCP配置
mcp.json
{
"mcpServers": {
"demo-mcp": {
"command": "/usr/bin/python3",
"args": ["/media/hr/newDisk/Dhruv/kilo_code/main_project/server.py"],
"disabled": false,
"alwaysAllow": [
"acceptance_testing",
"execute_parseos",
"root_cause_analysis",
"feature_context_analysis"
]
}
}
}这确保了:
- MCP服务器始终可访问
- 所需工具已获得自动批准
______________________________________________________________________
支持的功能
自 initialize 回应
"testing": {
"manual": true,
"acceptance": true,
"behavior": true,
"unit": false
}关键规则
- 手册/验收/行为→ ✅ 允许
- 单元测试→ ❌ 已屏蔽
______________________________________________________________________
意图检测逻辑
意图类别
| 意图类型 | 描述 |
|---|---|
| 测试 | 手动/验收/行为测试 |
| debug | 错误、失败、崩溃、超时 |
| 功能 | 新功能或增强功能 |
| unit_test | Pytest、Jest、JUnit、模拟(阻塞) |
阻塞单元测试
如果检测到单元测试关键字:
- 请求被拒绝
- 用户收到策略消息
______________________________________________________________________
工具概述
1. acceptance_testing
目的
- 生成手动/行为验收测试用例
触发时间
- 用户要求测试、验证、确认、接受、行为、流程
输出
- 测试用例
- 确认UI(预览)
______________________________________________________________________
2.确认经验(关键)
之前 任何处决:
- 用户看到:
- 特征名称 - 测试步骤(编号) - 测试用例总数 - 对运行内容的清晰描述
用户操作:
- ✅ Yes → 执行自动化
- ❌ No → 安全取消
这适用于 任何处决,不仅仅是命令。
______________________________________________________________________
3. execute_parseos
仅在确认后运行
执行:
- 操作系统自动化
- 浏览器自动化
- 类人自动化
______________________________________________________________________
4. feature_context_analysis
目的
- 了解项目结构
- 映射UI/服务/API层
- 帮助生成更好的验收测试
______________________________________________________________________
5. root_cause_analysis
目的
- 分析错误、日志、故障
- 建议可能的根本原因
- 指导调试流程
______________________________________________________________________
问题导向的需求映射
问题1-仅安装了MCP
✅ 即使:
- 仅安装了MCP服务器
- 用户使用内置的Kilo代码模式(调试/编排器/代码)
如果用户提示包含:
- 验收/行为/手动测试
➡ MCP服务器 必须被称作 ➡ 必须生成日志 ➡ 必须生成测试用例
❌ 忽略单元测试请求
______________________________________________________________________
问题2–自定义模式体验
当 已选择自定义模式:
- 增强的确认UI
- 明确描述:
- 将测试什么 - 有多少测试用例 - 将运行什么自动化
这确保了:
- 安全执行
- 可预测的用户体验
______________________________________________________________________
测试指南(适用于开发人员)
测试什么
- MCP服务器在没有自定义模式的情况下接收呼叫
- 测试提示从所有Kilo Code模式到达MCP
- 单元测试提示被阻止
- 执行前始终显示确认UI
- 执行发生 只有在Yes之后
什么不测试
- 单元测试代码生成
- 特定于框架的测试代码(pytest、jest)
______________________________________________________________________
日志记录
日志将写入:
mcp_server.loglog/mcp.log
用于:
- 调试
- 开发过程中的验证
- 确保正确的路由
______________________________________________________________________
总结
该项目确保:
- MCP-第一测试架构
- 确认安全性强
- 关注点清晰分离
- 自定义模式=增强的用户体验,而非依赖性
主要焦点:
用户信任和控制的接受和行为测试
______________________________________________________________________
版本
- MCP协议:
2024-11-05 - 服务器版本:
1.0.0
