WorkBuddy · AI 助手教程 第 5 讲 / 共 3 讲 进阶 4 个学习目标 3 道自测 ⏱ 约 10 分钟

WorkBuddy 接入 ChatCut:通了,卡在最后一步

#AI Agent#WorkBuddy#MCP#配置实测

🎯本讲你将学会:

  • 能在 WorkBuddy 里找到自定义 MCP 入口,并改对 ~/.workbuddy/mcp.json
  • 能完成「信任」确认与 ChatCut 的 OAuth 浏览器授权
  • 会用 list_projects 这类只读工具验收 MCP 是否真的可用
  • 能读 tools/list 耗时,判断故障出在配置层、连接层还是工具层
📌

开始前需要你具备:

  • 已安装 WorkBuddy(www.workbuddy.cn)并登录
  • 有一个 ChatCut 账号(授权环节要用)
  • 能看懂基础 JSON 结构

你是不是也遇到过

MCP 现在是个热词,但真正动手接的时候,卡点往往不在”填什么”,而在”这个软件的入口长什么样”。

同一件事,千问办公是在设置里填一张表单;WorkBuddy 却是让你直接改一个 JSON 文件。走错一步就找不到北。

这篇拿 ChatCut(一个能用自然语言剪视频的 AI 剪辑工具)当例子,把 WorkBuddy 的 MCP 接入全流程走一遍。全程截图,配置可以直接抄。

先说结论,免得你看到最后:

  • 配置、信任、授权三步全部成功——照抄就能连上;
  • 但工具没能注册进会话,模型调不到 list_projects,所以”读一个真实项目""做一条 5 秒标题视频”这两项验证没跑通
  • 卡点我查到了确切的日志证据,在文末,不是你的配置写错了

先认识一下:WorkBuddy 的 MCP 入口在哪

打开 WorkBuddy,左侧导航栏找到 「专家·技能·连接器」,进去后切到顶部的 「连接器」 标签页。

第 1 步:连接器页面,右上角有「自定义连接器」按钮

右上角那个 「自定义连接器」 就是入口。注意:这里同时列出的是 WorkBuddy 官方市场里的连接器(腾讯文档、飞书、钉钉……),我们要加的是自己的,所以走”自定义”。

第一步:看清你的 MCP 现状

点「自定义连接器」,弹出 MCP 服务管理 面板。

第 2 步:MCP 服务管理面板,本次接入前已有 7 个 MCP,0 个启用

本次接入前,这台机器上已经有 7 个 MCP(xhs-mcp、douyin-mcp、wechat-mcp、rss-mcp、weibo、gitee、bilibili-mcp),全部是关闭状态

这一步值得单独截图留档。加新 MCP 时最怕的就是把原有的配置覆盖掉——先看清有几个,加完之后对得上数,就不会出事。

第二步:点「配置 MCP」,你会看到一个 JSON 编辑器

这是 WorkBuddy 和千问办公最大的差别

千问办公给你一张表单:填服务名、填 URL、选类型。 WorkBuddy 直接把你带到配置文件面前:

第 3 步:配置 MCP 打开的是 JSON 编辑器,顶部显示配置文件路径

注意顶部那行小字——配置文件路径:/Users/你的用户名/.workbuddy/mcp.json

也就是说,你在界面里填的东西,最终落盘就是这个文件。它的格式是 Claude Desktop 同款的 mcpServers 结构,所以你在别处写好的 MCP 配置可以整段搬过来

第三步:把 ChatCut 加进 JSON

因为编辑器里显示的是整个文件(包含已有的 7 个 MCP),所以正确做法是:全选 → 用加了新条目的完整 JSON 覆盖 → 保存

需要新增的条目就这 4 行:

"chatcut-experiment": {
  "type": "http",
  "url": "https://api.chatcut.io/api/external-mcp/mcp"
}

把它插到 mcpServers 里最后一个条目的后面(注意给前一个条目补上逗号):

第 4 步:JSON 已填入 chatcut-experiment,右侧「保存」按钮激活,路径旁出现「未保存」标记

看到两个信号就说明填对了:「保存」按钮从灰变黑,路径旁边冒出 「未保存」

可选:WorkBuddy 没有”粘贴 JSON 配置”的独立入口,但整个编辑器本身就是 JSON 输入框。所以本文的流程反过来更省事——你不需要在别处拼 JSON,直接在这里编辑就行

第四步:保存后,列表从 7 个变 8 个

保存后回到 MCP 列表,chatcut-experiment 出现在最下面。

第 5 步:我的 MCP 变成 8 个,chatcut-experiment 显示「1 失败」并提示需要信任

注意右上角的状态:「0 启用 · 1 失败」,底部还有一条横幅——

首次连接此 MCP 服务需要您的信任确认。

这是 WorkBuddy 独有的第二道关卡,千问办公没有。它的逻辑是:从外部加进来的 MCP 服务,第一次连接必须由你手动点一次「信任」,否则一直算失败。

点「信任」。

第五步:浏览器弹出 ChatCut 授权页

点了信任之后,WorkBuddy 会识别出这个服务需要 OAuth,自动打开系统浏览器走授权。

第 6 步:ChatCut 授权页,列出智能体能做的事,可选 Google 或邮箱登录

页面把权限说得很清楚,值得一读:

  • 访问、创建和编辑你的 ChatCut 项目
  • 将你提供的媒体上传到这些项目中
  • 仅在你请求或批准生成时使用积分

用你自己的 ChatCut 账号登录,确认授权。完成后页面会提示授权成功,并弹一个”要打开 WorkBuddy 吗”的系统询问——点「打开」,让授权码回传给 WorkBuddy。

这里有个不能省的习惯:不要把账号密码、Cookie、访问令牌或刷新令牌粘贴进任何 AI 对话、共享文档或截图。ChatCut 官方也要求在其浏览器授权页面上完成登录与授权,老老实实走正门。

第六步:检查连接状态

回到 MCP 列表,chatcut-experiment 的开关已经打开,显示 1 启用

第 7 步:授权完成后,chatcut-experiment 开关打开,标记为已启用

想确认得更硬一点,可以去看 WorkBuddy 的凭据文件(只看结构,别把内容复制到任何地方)。凭据是加密存储的,你能看到的只有服务名和过期时间:

python3 -c "
import json
d=json.load(open('~/.workbuddy/connectors/你的连接器ID/.credentials.v3.json'.replace('~','$HOME')))
print([k for k in d['mcpOAuth'] if 'chatcut' in k])
"

本次实测拿到了这条:

chatcut-experiment|73f9d7645bee80c7
  serverUrl  https://api.chatcut.io/api/external-mcp/mcp
  tokenType  Bearer
  scope      openid profile email offline_access
  expiresAt  1789309493275      # 带 refreshToken,可自动续期

offline_access 拿到了,说明离线刷新令牌也一并签发,不用每次重新授权。

工具验证测试

配置走完了,接下来才是真正的考验。按参考文章的做法,把验证拆成小步——先发现工具,再只读读取,最后才动手做作品,这样一失败就能立刻知道坏在哪一层。

测试 A:工具发现

在 MCP 管理页展开连接卡片看工具清单。

通过标准:客户端成功列出来自 ChatCut 的工具。

本次实测:服务端这一层是通的。 日志里连续 7 次探测都拿到同样的结果:

MCP-Inspect end configId=custom-mcp:chatcut-experiment
    totalMs=28191 openMs=769 toolsMs=25223
    tools=60 prompts=0 resources=2

tools=60——服务端确实吐出了 60 个工具,数量和参考文章里千问办公拿到的完全一致。

测试 B:真实读取项目

新建一个任务,发送这段只读测试指令:

请做一次 ChatCut 只读连接测试,使用已配置的 chatcut-experiment MCP。

实际调用 list_projects,显示最近最多 3 个项目的名称;如果有项目,
再用 read_project 读取最新一个项目的基本信息,报告名称、时间线数量
和素材数量。

请使用工具实际返回的参数格式,不要猜测字段;不支持的字段标为未知。
不要创建、切换、修改或删除项目,不要上传素材、调用生成或导出。

最后说明实际调用了哪些工具、哪些成功或失败;没有项目也可以如实报告。
不要用网页浏览或本地配置检查代替这次 MCP 工具调用。

本次实测结果:卡住了。 模型非常老实地报告了每一层:

模型逐条列出测试 B 的调用结果与失败原因
#调用结果
1ListMcpResources { server: "chatcut-experiment" }✅ 成功,返回 3 个资源
2mcp__chatcut-experiment__list_projects❌ 失败:Tool not found
3mcp__chatcut-experiment__read_project❌ 未执行(工具不在索引里)
4工具索引检索(多种关键词 + 精确工具名)❌ 检索不到任何 chatcut 工具

关键在于第 1 项成功了——ListMcpResources 是真实打到 ChatCut 服务器上的调用,返回了 chatcut-followup-questionschatcut-editor-ui 等资源。

所以连接是通的。 失败发生在第 2、3 项,而且原因不是网络也不是鉴权:本次会话的工具清单里根本没有这 60 个工具,请求压根没发出去。

三个要报告的字段,模型一个都没编:

  • 项目名称:未知(未取到项目列表)
  • 时间线数量:未知
  • 素材数量:未知

这一点值得点名表扬。它完全可以猜一个”看起来合理”的数字糊过去,但它写的是「我不会用任何推测值填充这三项」。验收 AI 的时候,肯说”未知”比给个漂亮答案更可信。

我不死心,把 WorkBuddy 完全退出重启,又跑了一遍——结果一样:

重启后重跑,结论依然是工具层缺失,附完整的调用与失败记录

这次它连”等一会儿再试”都做了:

#工具结果
1ToolSearch(含精确名 + 多种关键词变体)❌ 全部未命中
2ListMcpResources✅ 成功——服务器已连接
3DeferExecuteTool → list_projects❌ “Tool not found in the defer…“
4等待重试(8s + 20s 后再次搜索)❌ 仍无变化

测试 C:制作一个 5 秒标题作品

只读测试没通过,这一项就没有继续做——按参考文章的规矩,先证明读取,再动手做作品,不然连”坏在哪一层”都说不清。

请使用 chatcut-experiment,新建一个名为「WorkBuddy 接入实验」的 ChatCut 项目,
制作一段 5 秒、16:9 的黑底白字视频,居中显示「WorkBuddy × ChatCut 测试成功」。

在 ChatCut 时间线上完成制作,并打开项目供我播放检查。
不要修改已有项目,不使用付费 AI 生成,暂时不要导出。

通过标准(留给你在工具注册修好后自测):

  • ChatCut 中确实出现指定测试项目
  • 时间线包含作品内容,播放长度为 5 秒
  • 画面为 16
    ,黑底、白字、居中,文字内容正确
  • 实际结果与任务要求一致,不能只凭聊天里的一句”已完成”验收

卡点在哪:日志给了确切答案

配置没错、授权没错、连接也没错。那问题在哪?

看 WorkBuddy 的握手日志(~/.workbuddy/logs/),7 次探测的记录摆在一起,规律非常明显:

探测次序建连耗时 openMs工具列表耗时 toolsMs拿到工具数
13049 ms23091 ms60
28391 ms43786 ms60
31560 ms31658 ms60
46974 ms14290 ms60
5769 ms25223 ms60
66995 ms20619 ms60
71095 ms14765 ms60

每一次,WorkBuddy 都打了一行 tools/list SLOW 警告。

根因一句话说清:ChatCut 这个 MCP 服务器的 tools/list(拉取工具清单)要花 14~44 秒,而 WorkBuddy 在会话启动时等不了这么久——连接建好了,工具清单却没赶在注册窗口内返回,这 60 个工具就没能注入会话。

所以模型看到的是一个”连上了但没工具”的服务器,它连尝试调用的资格都没有。这也解释了为什么同一套配置在千问办公那边能跑通——两家客户端的注册超时策略不一样

顺便把这句也说清:WorkBuddy 目前没有给用户留调节这个超时的开关settings.json 里没有相关项,mcp-disabled-tools.json 也是空的,排除了”工具被误禁用”)。所以这一层不是改配置能解决的,得等服务端把 tools/list 提速,或客户端放宽注册窗口。

用 WorkBuddy 接 MCP,特别提醒你三句

1. 先分清是”哪一层”断了。

MCP 出问题有三层:配置层(JSON 写错)、连接层(网络/鉴权)、工具层(工具没注册进会话)。 本次三层里前两层全绿,只有第三层挂了。如果你一上来就反复改 JSON,纯属白费功夫——JSON 没错

2. 服务端返回 60 个工具 ≠ 你能用这 60 个工具。

界面上显示”已启用”、日志里写着 tools=60,都不等于模型真的调得到。唯一可信的验收是让模型实际调一次,并且要它报告”调了哪些工具、哪些成功、哪些失败”。本次就是靠这条规矩,才把问题精确锁到工具层。

3. 别把令牌贴进对话里。

OAuth 就该在浏览器授权页完成。凭据文件是加密存的,你去读也只能读到服务名和过期时间——这是正确设计,不需要你手动搬运令牌。


本次实测:配置、信任、OAuth 授权三步全部成功并通过凭据验证(scopeoffline_access,带 refreshToken);服务端 7 次探测均正常返回 60 个工具;但 tools/list 耗时 14.3~43.8 秒,超出会话启动的注册窗口,导致 60 个工具未注入会话工具索引,测试 B / 测试 C 未能完成。全程只做了读取,未创建、切换、修改、删除任何项目,未上传素材,未调用生成或导出。

如果你的 ChatCut MCP 在 WorkBuddy 里也卡在同一处,欢迎在评论区报一下你的 toolsMs——这个数字是不是普遍偏大,值得一起验一验。

【欢迎评论区交流你的实测体验】

🧪本讲实操清单

0/3

先照着正文做一遍,再回来勾选。做完一题点左侧圆圈,卡不准就展开答案对照。

完成全部 3 步,打卡结课 →

📝本节小结

学完本讲,你应该能做到:1.能在 WorkBuddy 里找到自定义 MCP 入口,并改对 ~/.workbuddy/mcp.json;2.能完成「信任」确认与 ChatCut 的 OAuth 浏览器授权;3.会用 list_projects 这类只读工具验收 MCP 是否真的可用;4.能读 tools/list 耗时,判断故障出在配置层、连接层还是工具层