WorkBuddy + Jumpserver MCP做智能运维助手
本文介绍如何将 WorkBuddy 与 Jumpserver 的 MCP(Model Context Protocol)服务集成,构建面向中小企业的轻量级智能运维助手。核心改进包括:采用永久 Token 替代临时 Token、独立 api_key 验证机制;精简 MCP 工具集至 13 个,覆盖资产/用户/授权/执行四类关键操作;定义四条标准工作流(远程命令执行、用户创建与授权、主机纳管、资产巡检),并明确批量命令执行权限的开启路径。
Jumpserver MCP 与 WorkBuddy 集成价值
对于小公司来说,如果机器总数只有几十台,配个 Jumpserver 又安全又高效,尤其是接入 AI 之后效率会更高。做什么事只要跟 AI 下个指令,它自动就帮你搞定!
老早就用过 Jumpserver MCP 了,虽然是官方提供的,但很久都没有更新过。最大的问题就是工具太多,800 多个,如果一股脑给到 AI,会有两个问题:一是上下文太多,Token 消耗会很大;二是严重影响做事效率。
最近我改进了验证机制:之前用临时 Token,一天就过期,现在换成了永久 Token;另外 MCP 客户端和服务端的验证,走独立的 api_key。最新代码已经更新到 github 了。
早期我整理 Dify + Jumpserver MCP 时,并没有搞定登录远程机器执行命令,这次我借助 WorkBuddy 实现了。下面整理下要点。
环境准备与认证配置
要想用这套东西,首先你得搭建好 Jumpserver,版本要 4.x,老的没测,估计不兼容。然后根据项目里的 README 编译最新的 docker images,最后把容器启起来。
还有一个很重要的点:定义 .env 配置文件时,要有三个东西。
jumpserver_url=http://<jumpserver-host>
api_token=<JumpServer private token>
api_key=<your-custom-token>最下面这个 api_key 需要你自己自定义。
其中永久的 api_token 这样获取,先进 jms_core 容器,再进 Django shell。
docker exec -it jms_core bash
cd /opt/jumpserver/apps
python manage.py shell在 shell 里执行这几行:
from users.models import User
u = User.objects.get(username='admin_api')
u.create_private_token() ## 首次创建用这个拿到的就是长期有效的 token,不会一天就过期。
精简工具集至 13 个核心能力
既然问题出在工具数量上,那配置的时候就没必要全给。这套 MCP 我只配了 13 个工具,按用途分成四组:资产 5 个、用户 3 个、授权 2 个、执行 3 个。
| 工具 | 作用 |
|---|---|
| 资产 · 5 个 | |
assets_hosts_list |
列/搜主机,支持 q 模糊、name、address、platform、is_active、分页 |
assets_hosts_retrieve |
按 id 看主机详情(平台、节点、账号、连通性) |
assets_hosts_create |
纳管新主机 |
assets_nodes_list |
列节点树,拿节点 id(授权、纳管都要用) |
assets_platforms_list |
列平台,拿平台 id(Linux、Windows、MySQL…) |
| 用户 · 3 个 | |
users_users_list |
列/搜用户,按 username 精确、q 模糊 |
users_users_create |
创建用户 |
users_users_password_partial_update |
单独设置密码(建用户后必须单独调) |
| 授权 · 2 个 | |
perms_asset_permissions_list |
列已有授权,创建前查重 |
perms_asset_permissions_create |
建资产授权 |
| 执行 · 3 个 | |
ops_jobs_create |
创建 adhoc 作业并立即执行命令 |
ops_job_execution_task_detail_retrieve |
取执行状态与成败汇总 |
ops_ansible_job_execution_log_retrieve |
取 stdout 输出 |
这 13 个基本覆盖了查资产 → 建用户 → 给授权 → 跑命令的完整链路,其余那 800 来个在 AI 手里基本用不上。
四条可复用的标准工作流
下面这四条 SOP,可以直接定义到 prompt 或者 skill 里,让 AI 照着走,不用每次重新解释一遍。
SOP 01:远程执行命令
这是最常用的一条,五步走完。
settings_public_retrieve→ 确认SECURITY_COMMAND_EXECUTION == true,是 false 就直接停,别白跑一趟。assets_hosts_list(q=名称或 address)→ 拿资产 uuid。ops_jobs_create(module、args、assets,is_periodic:false、instant:true、run_after_save:true)。ops_job_execution_task_detail_retrieve(task_id)→ 轮询直到is_finished。ops_ansible_job_execution_log_retrieve(task_id)→ 取 stdout 回复用户。
这条路上有几个特别容易误判的现象,先记下来:
| 现象 | 说明 |
|---|---|
| 任务排队中,time_cost 是 0 | 轮询间隔别太密,5~15 秒查一次就够了 |
| status=timeout,且 summary 全空 | 是网络不通、SSH 没连上,不是命令写错了 |
| status=success,但某台 UNREACHABLE | 账号密码错,看 msg 里的 Invalid/incorrect password |
SOP 02:创建用户并授权
users_users_list(username=xxx)→ 查重,已存在就跳到第 4 步。users_users_create(name, username, email)← 这里不传密码。users_users_password_partial_update(id, password)→ 密码单独设。assets_nodes_list(q=部门名)或assets_hosts_list逐个取 id。perms_asset_permissions_list(name=xxx)→ 查重。perms_asset_permissions_create(name, users, nodes/assets, accounts:[], protocols:["all"], actions)
SOP 03:纳管新主机
assets_hosts_list(address=目标 IP)→ 查重,已存在就停。assets_platforms_list(name__startswith=Linux)→ 平台 id。assets_nodes_list(q=节点名)→ 节点 id。assets_hosts_create(name, address, platform{id,name}, nodes[{id,name}])
第 5 步别忘了提示用户:资产已经纳管,但还得在这个资产上添加账号,才能登录或者执行命令。
SOP 04:盘点与巡检
assets_hosts_list(limit=100)→ 注意 count 与已返回条数,必要时翻页。assets_databases_list(如需要)另算一类资产。users_users_list(limit=100)perms_asset_permissions_list(limit=100)→ 列表里 users/assets 常是空数组,得逐个 retrieve 取详情。
批量命令执行权限必须显式开启
要想通过 Jumpserver MCP 到主机上执行命令,必须先把批量命令执行的权限打开,否则会被拒。
这个开关不开,SOP-1 走到执行那一步就会被直接拒掉。
路径:功能设置 → 作业中心 → 勾选批量命令执行



JOTO 企业落地观察
- 企业部署智能运维助手时,工具集规模与 Token 消耗呈强正相关;对中小规模基础设施,主动裁剪至 10–20 个高复用率工具,是平衡能力覆盖与推理成本的关键取舍。
- 将“查资产→建用户→给授权→跑命令”固化为原子化 SOP,并封装为可调用技能,能显著降低智能体工程中流程编排的维护复杂度,避免每次请求都需重新解析意图。
- Jumpserver 的批量命令执行开关属于典型的功能级访问控制策略,这类细粒度权限配置必须纳入 RAG 知识工程的元数据索引范围,否则智能体无法自主判断失败原因是否源于策略限制。
- 永久 Token 与独立 api_key 的双因子验证设计,提升了 MCP 接口调用的安全治理基线;企业在构建类似系统时,应将凭证生命周期管理作为 FDE 驻场共创阶段的必审项。
立即咨询 JOTO
JOTO 提供覆盖企业智能体规划与搭建、AI 平台私有化部署、RAG 知识工程、AI 安全治理、FDE 驻场共创及持续运营优化的全周期 AI 落地服务,帮助企业把验证中的 AI 能力转化为安全、可控、可持续迭代的生产力。 联系 JOTO 获取 AI 落地咨询
想把这些做法用到你的业务里?
留下你的场景和痛点,我们帮你判断从哪一步开始。
联系我们


