JOTO
Contact us
← AI 智库
WorkBuddy

WorkBuddy + Jumpserver MCP做智能运维助手

2026 年 10 月 30 日

本文介绍如何将 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>
.env 配置示例

最下面这个 api_key 需要你自己自定义。

其中永久的 api_token 这样获取,先进 jms_core 容器,再进 Django shell。

docker exec -it jms_core bash
cd /opt/jumpserver/apps
python manage.py shell
进入 Django shell

在 shell 里执行这几行:

from users.models import User
u = User.objects.get(username='admin_api')
u.create_private_token() ## 首次创建用这个
生成永久 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:远程执行命令

这是最常用的一条,五步走完。

  1. settings_public_retrieve → 确认 SECURITY_COMMAND_EXECUTION == true,是 false 就直接停,别白跑一趟。
  2. assets_hosts_list(q=名称或 address) → 拿资产 uuid。
  3. ops_jobs_create(module、args、assets,is_periodic:false、instant:true、run_after_save:true)。
  4. ops_job_execution_task_detail_retrieve(task_id) → 轮询直到 is_finished。
  5. 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:创建用户并授权

  1. users_users_list(username=xxx) → 查重,已存在就跳到第 4 步。
  2. users_users_create(name, username, email) ← 这里不传密码。
  3. users_users_password_partial_update(id, password) → 密码单独设。
  4. assets_nodes_list(q=部门名) 或 assets_hosts_list 逐个取 id。
  5. perms_asset_permissions_list(name=xxx) → 查重。
  6. perms_asset_permissions_create(name, users, nodes/assets, accounts:[], protocols:["all"], actions)

SOP 03:纳管新主机

  1. assets_hosts_list(address=目标 IP) → 查重,已存在就停。
  2. assets_platforms_list(name__startswith=Linux) → 平台 id。
  3. assets_nodes_list(q=节点名) → 节点 id。
  4. assets_hosts_create(name, address, platform{id,name}, nodes[{id,name}])
第 5 步别忘了提示用户:资产已经纳管,但还得在这个资产上添加账号,才能登录或者执行命令。

SOP 04:盘点与巡检

  1. assets_hosts_list(limit=100) → 注意 count 与已返回条数,必要时翻页。
  2. assets_databases_list(如需要)另算一类资产。
  3. users_users_list(limit=100)
  4. perms_asset_permissions_list(limit=100) → 列表里 users/assets 常是空数组,得逐个 retrieve 取详情。

批量命令执行权限必须显式开启

要想通过 Jumpserver MCP 到主机上执行命令,必须先把批量命令执行的权限打开,否则会被拒。

这个开关不开,SOP-1 走到执行那一步就会被直接拒掉。

路径:功能设置 → 作业中心 → 勾选批量命令执行

WorkBuddy + Jumpserver MCP做智能运维助手
WorkBuddy + Jumpserver MCP做智能运维助手 配图 2
WorkBuddy + Jumpserver MCP做智能运维助手 配图 3

JOTO 企业落地观察

  • 企业部署智能运维助手时,工具集规模与 Token 消耗呈强正相关;对中小规模基础设施,主动裁剪至 10–20 个高复用率工具,是平衡能力覆盖与推理成本的关键取舍。
  • 将“查资产→建用户→给授权→跑命令”固化为原子化 SOP,并封装为可调用技能,能显著降低智能体工程中流程编排的维护复杂度,避免每次请求都需重新解析意图。
  • Jumpserver 的批量命令执行开关属于典型的功能级访问控制策略,这类细粒度权限配置必须纳入 RAG 知识工程的元数据索引范围,否则智能体无法自主判断失败原因是否源于策略限制。
  • 永久 Token 与独立 api_key 的双因子验证设计,提升了 MCP 接口调用的安全治理基线;企业在构建类似系统时,应将凭证生命周期管理作为 FDE 驻场共创阶段的必审项。

立即咨询 JOTO

JOTO 提供覆盖企业智能体规划与搭建、AI 平台私有化部署、RAG 知识工程、AI 安全治理、FDE 驻场共创及持续运营优化的全周期 AI 落地服务,帮助企业把验证中的 AI 能力转化为安全、可控、可持续迭代的生产力。 联系 JOTO 获取 AI 落地咨询

想把这些做法用到你的业务里?

留下你的场景和痛点,我们帮你判断从哪一步开始。

联系我们
Contact Us

Start your enterprise AI rollout

Tell us your industry, team, and current pain points. We'll get back to you within one business day to help you decide what to tackle first, what data to prepare, and which platform fits.

WeChat
Scan to add us for a 1:1 chat
JOTO WeChat consultation QR code

Tell us what you need

Once we receive your details, we'll be in touch within one business day.