Token导航 LogoToken导航

MCP Server · 开发工具

Se333 Autonomous Testing Agent

一个基于模型上下文协议(MCP)的自动化测试代理,用于生成和改进单元测试、测量代码覆盖率、修复缺陷并提交已验证的更改。

stdio官方级别未说明来源级核验工具 3
自动化测试JavaVS Code

快速开始

作者 / 组织
Daniel-Carbajal
提供方
Daniel-Carbajal
运行时
Python

工具数量

3

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Se333 Autonomous Testing Agent 属于开发工具类 MCP Server,公开资料标注 3 个工具,通过stdio 本地进程接入,适配 VS Code,有可以直接复制的安装命令;接入前先确认权限范围。

分类

开发工具

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

uv run main.py

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 3 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

SE333最终项目——基于MCP的自主测试代理

概述

该项目实现了 自主、覆盖驱动的测试代理 使用 模型上下文协议(MCP)代理迭代地生成和改进Java应用程序的单元测试,使用JaCoCo测量代码覆盖率,修复发现的缺陷,并使用基于主干的工作流将经过验证的更改提交到GitHub。

该系统展示了一个端到端的自动化测试循环:

Generate tests → Run tests → Measure coverage → Identify gaps → Improve tests → Fix bugs → Commit → Repeat

______________________________________________________________________

建筑

1.MCP服务器(Python、FastMCP)

提供代理可通过SSE传输调用的工具:

  • jacoco_parser(xml_path) --解析JaCoCo XML并返回每个包/类/方法的覆盖率和需要测试的目标
  • scan_maven_vulbility(pom_path) --查询OSV的Maven依赖漏洞(安全预检查)
  • 添加(a,b) --示例第1阶段工具(连接验证)

运输: SSE (VS代码MCP兼容)

______________________________________________________________________

2.代理工作区(Java+提示配置)

包含:

  • Spark Java mini web应用程序正在测试中
  • 代理生成/改进的JUnit测试套件
  • JaCoCo构建集成
  • MCP提示配置

密钥文件:

.github/prompts/tester.prompt.md

此提示定义了测试代理的自主行为,包括工具:

  • 模型+MCP工具和用法
  • 迭代测试工作流程
  • Git自动化规则
  • 覆盖率驱动的决策逻辑

______________________________________________________________________

3.迭代测试流程

每次代理迭代执行:

  1. 依赖关系的安全预检查
  2. 运行Maven测试
  3. 查找JaCoCo XML报告
  4. 通过MCP工具分析覆盖率
  5. 选择低覆盖率方法/类别
  6. 生成或改进测试
  7. 重新运行测试
  8. 如果需要,修复失败的代码
  9. 提交功能分支上的更改
  10. 公开公关→ 合并到主

______________________________________________________________________

存储库结构

MCP Server/                # MCP server workspace
  main.py -> mcp server
  pyproject.toml
  uv.lock

Agent Workspace (se333-Demo)/              # Agent + Java app workspace
  src/main/java/
  src/test/java/
  pom.xml
  .github/prompts/tester.prompt.md

______________________________________________________________________

安装说明

先决条件

  • Python 3.11+
  • Node.js(用于VS Code MCP扩展运行时)
  • Java 17+
  • Maven 3.9+
  • 带有MCP扩展的VS代码
  • Git+GitHub账号

______________________________________________________________________

MCP服务器设置

cd MCP Server
uv sync
uv run main.py

服务器启动时间:

http://127.0.0.1:8000/sse

配置VS代码MCP:

{
  "servers": {
    "se333-mcp-server": {
      "type": "sse",
      "url": "http://127.0.0.1:8000/sse"
    }
  }
}

启用 YOLO/自动批准 工具执行模式。

______________________________________________________________________

Java项目设置

cd Agent Workspace (se333-Demo)
mvn clean test

JaCoCo报告生成于:

target/site/jacoco/jacoco.xml

______________________________________________________________________

运行自治代理

在VS Code中打开项目并运行MCP提示符:

.github/prompts/tester.prompt.md

代理人将:

  • 运行测试
  • 解析覆盖率
  • 生成新测试
  • 提高覆盖率
  • 修复bug
  • 提交更改

______________________________________________________________________

Git工作流

代理使用基于中继的开发:

  • 每次迭代创建分支
  • 提交测试/代码改进
  • 打开拉取请求
  • 验证后合并

历史进程示例:

test: add AuthenticationController edge cases
coverage: increase HTMLRenderer branch coverage
fix: resolve null handling in DashboardController

______________________________________________________________________

覆盖率驱动的决策

代理优先考虑:

  • 未发现的方法
  • 分支覆盖率低
  • 控制器和服务
  • 错误/边缘路径

选择来源: jacoco_parser MCP工具输出。

______________________________________________________________________

技术文档

MCP工具API参考

jacoco_parser(xml_path)

解析JaCoCo XML覆盖率报告并提取覆盖率统计信息

输入:

xml_path: string

JaCoCo XML文件的路径(通常在target/site/jaco/JaCoCo.XML中)

输出: 返回结构化覆盖数据,包括:

{
  packages: [...],
  classes: [...],
  methods: [...],
  methods_needing_coverage: [...]
}

用于识别未发现的方法、针对测试生成和优先考虑覆盖率改进。

scan_maven_vulbility(pom_path)

使用OSV数据库执行依赖性漏洞扫描。

输入:

pom_path: string

Maven之路 pom.xml文件 文件。

输出: 返回检测到的漏洞,包括:

{
  dependency: "...",
  version: "...",
  cve: "...",
  severity: "...",
  description: "..."
}

用于测试生成前的安全预检查,识别有风险的依赖关系,并演示具有安全意识的自主工具。

添加(a,b)

MCP连接工具示例。

输入:

a: number
b: number

输出:

sum = a + b

用于第一阶段MCP连接测试,并确保MCP服务器和代理可以在其他MCP工具可用之前进行通信。

______________________________________________________________________

代理决策逻辑

测试代理遵循覆盖率引导的推理过程。

决策优先事项包括:

  1. 覆盖率为0%的方法
  2. 分支覆盖率低的方法
  3. 控制器端点
  4. 服务逻辑
  5. 边缘案例和零处理

代理使用以下反馈信号: - 低覆盖率->生成新测试 - 失败测试->检查代码并应用修复 - 发现新分支->生成其他测试 - 安全问题->标记并修复依赖关系

______________________________________________________________________

再现迭代

要重现项目中显示的结果:

  1. 启动MCP服务器
cd MCP Server
uv sync
uv run main.py
  1. 构建Java项目
cd Agent Workspace (se333-Demo)
mvn clean test
  1. 运行代理

从VS Code聊天窗口执行提示:

.github/prompts/tester.prompt.md

请遵循以下流程:

  1. 测试执行
  2. 覆盖率解析
  3. 目标选择
  4. 测试生成
  5. 覆盖率提高
  6. Bug检测和修复
  7. Git提交已创建

______________________________________________________________________

结果

该系统实现了:

  • 自动生成测试
  • 迭代中的覆盖率提高
  • 自主错误检测和修复
  • 可复制的MCP驱动工作流程
  • Git可审计的进化
  • Maven依赖漏洞预检查

查看覆盖范围的改进 在这里

______________________________________________________________________

常见问题排查

MCP工具未出现在VS代码中

检查:

  • MCP服务器仍在运行
  • URL与配置匹配
  • SSE端点可访问

''' http://127.0.0.1:8000/sse '''

未找到JaCoCo XML

确保测试成功运行: ''' mvn清洁测试 ''' 预期文件: ''' target/site/jaco/jacoco.xml '''

MCP服务器无法启动

检查Python环境: ''' python--版本 ''' 然后重新安装依赖关系: ''' UV同步 '''

______________________________________________________________________

反思

本项目演示了MCP如何实现:

  • 工具增强LLM开发
  • 反馈驱动的测试循环
  • 自主软件和安全维护
  • 测试与DevOps的集成

关键见解:覆盖率反馈似乎足以指导迭代测试生成,而无需人工提示。我仍然认为在发出合并拉取请求之前进行审查很重要,因此我在这个阶段允许人工审查以及防止LLM使用外部工具的最佳做法之一是在提示中设置停止条件。

深度反射 '报告/SE333最终反思.pdf'

限制和挑战

目前,我认为LLM生成的测试仍然需要偶尔进行人工审查,特别是在投入生产之前。此外,并非所有覆盖率指标都能始终反映测试的行为正确性。 法学硕士有时喜欢“做自己的事”。在其发展轨迹中,它可能会尝试使用外部工具或创建自己的工具,这需要得到提示。

未来工作

我认为未来的一些改进是切实可行的:

  • 使用CodeQL(SAST)在代码库中进行静态分析安全漏洞检查
  • 与突变检测相结合
  • 使用GitHub Actions实现CI/CD自动化

______________________________________________________________________

作者

丹尼尔·卡巴哈尔 SE333——软件测试和质量保证 德保罗大学

______________________________________________________________________

许可证

学术项目——仅供教育使用。

工具与能力

工具数量

3

资源数量

0

提示词数量

0

能力标签

自动化测试Java混合部署代码覆盖率单元测试MCP协议JaCoCo

支持客户端

VS Code

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

让助手直接读代码

把仓库、提交记录和 issue 交给模型检索,补全和重构时不用来回复制文件。

在对话里跑命令

触发构建、测试和脚本,执行结果直接回到上下文,省去切终端。

接进开发流程

把 PR、CI 状态和代码审查接进助手,减少在几个工具之间跳。

选择建议

值得选的地方

  • 只提供 3 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在开发工具场景里让模型直接调用外部能力的人。
  • 已经在用 VS Code 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Se333 Autonomous Testing Agent

MCP World · 本页

3stdio有1 个2026-05-17
Git 838e2ec1

MCP World

12stdio有2 个2026-05-17
Markitdown MCP 2c653a5f

MCP World

1stdio有1 个2026-05-17
Context7 MCP C671e75a

MCP World

0stdio有1 个2026-05-17
Context7 831acf40

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Se333 Autonomous Testing Agent 怎么安装?

公开资料给出的安装命令是 uv run main.py,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Se333 Autonomous Testing Agent 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

Se333 Autonomous Testing Agent 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Se333 Autonomous Testing Agent 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Se333 Autonomous Testing Agent 支持哪些客户端?

公开资料标注支持 VS Code;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP