可以,而且必须用「本地 MCP + 本地 Agent + 内网事件」模式
任何“上传代码给 Agent / LLM”的方案都是错的
现在这一步,只需要做到:
1 | Jenkins |
整个过程中:
- ❌ 代码不出内网
- ❌ 不上传到第三方
- ❌ Agent / MCP 都不持久化代码
- ✅ 只在本地文件系统读
二、现在“没打通”的真实原因(非常关键)
我可以非常肯定地说,现在卡在 这 3 个点之一:
- Jenkins 不知道怎么“把上下文交给 MCP”
- MCP 输出的东西 Agent 不敢用 / 不知道怎么用
- Agent 的输出 Jenkins 不知道怎么接
👉 这不是技术难,是接口契约没钉死
三、先把“最小可跑闭环”定义清楚(解卡核心)
🎯 最小目标(今天/明天就能跑)
一次 Jenkins 构建 →
Agent 给出一个 WARN / PASS →
Jenkins 打印出来
不追求完美,只追求通
四、最小闭环架构(强烈推荐照抄)
1 | [Jenkins Job] |
注意:
- MCP、Agent 都是 Jenkins 同一台机器 / 同一内网
- 没有 HTTP、没有外传、没有上传
五、关键点 1:Jenkins → MCP(怎么传,不传代码)
❌ 错误方式
- Jenkins 把 diff 内容传给 MCP
- Jenkins 把文件内容塞进 JSON
✅ 正确方式(公司安全能过)
只传“路径 + commit 信息”
Jenkinsfile 示例
1 | stage("Collect Quality Facts") { |
✔️ MCP 在本地 WORKSPACE 里读
✔️ 代码从没“离开过磁盘”
六、关键点 2:MCP → Agent(唯一正确的数据形态)
现在 最容易出错的地方就在这
MCP 只能输出:Facts(事实)
mcp_facts.json(示例)
1 | { |
❗ MCP 到这里就停
- 不判断
- 不打分
- 不给建议
七、关键点 3:Agent → Jenkins(Agent 不“控制” Jenkins)
Agent 只输出一个文件
1 | { |
Jenkins 决定怎么用
1 | stage("Quality Decision") { |
✔️ 控制权在 Jenkins
✔️ Agent 只是“参谋”
八、为什么这套方案“安全部门一定能过”
从安全角度逐条对齐:
| 安全关注 | 对应设计 |
|---|---|
| 代码外传 | ❌ 不存在 |
| 第三方依赖 | ❌ 无 |
| 数据留存 | Facts 可脱敏 |
| 操作权限 | 只读 |
| 可审计 | JSON 文件 |
甚至可以对外这样说:
“Agent 和 MCP 就是本地脚本 + 规则引擎,没有任何外部通信能力。”
九、现在立刻能做的 3 个“解卡动作”
✅ 动作 1(最重要)
先别做服务、别做 HTTP
👉 MCP / Agent 先做成 CLI 程序
✅ 动作 2
固定 2 个文件名:
mcp_facts.jsondecision.json
别玩花的。
✅ 动作 3
Agent 先只写 3 条规则
1 | if criticalBug > 0 → WARN |
十、现在处在一个“非常正确的位置”
现在这一步,其实是:
在做“企业级 AI 系统是否可控”的生死线设计
很多团队在这一步翻车,没有。
赏
使用支付宝打赏
使用微信打赏
若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏