一句话回答:Roo Code 里接 MCP 自动发布内容,在 MCP 设置页点 Edit Global MCP,往
mcpServers里加一项,type写"streamable-http",url填接入地址。Roo 的远程服务器必须写明type,漏了这个字段是最常见的“配了没反应”。工具默认每次都要你批准,发布有副作用,建议保持。
Roo Code 的根键和 Cursor 一样叫 mcpServers,但远程服务器的写法有自己的约定。下面按 Roo Code 官方文档现在的说法来讲,涉及版本差异的地方我会标出来。
先搞清 PublishPort 给 AI 的是什么
PublishPort 暴露给 AI 的只有两个通用工具:list_capabilities() 告诉 AI 这台电脑上登录了哪些平台,local_bash(cmd) 把命令经官方中转交给你本机客户端执行,用的是你自己浏览器里的登录态。各平台要传什么参数,AI 自己读命令的 --help 就知道,不用给每个平台单独配 MCP 服务器。
先装好 PublishPort 客户端,登录要发布的平台,到「接入 AI」页面生成接入地址。下面的 <接入地址> 都指这一条。原理见《MCP 内容发布服务器到底是怎么工作的》。
配置写在哪:全局和项目两个文件
官方文档说 MCP 配置可以放在两个层级:
- 全局:
mcp_settings.json,对所有工作区生效 - 项目级:项目根目录的
.roo/mcp.json,适合和团队共享;两边有同名服务器时,项目级优先
入口都在 Roo Code 面板顶部的 MCP 图标里,滚到页面底部有 Edit Global MCP 和 Edit Project MCP 两个按钮,点后会直接打开对应文件(项目级文件不存在会帮你建)。
PublishPort 的接入地址等于钥匙,所以我放全局文件,不放 .roo/mcp.json。后者官方明确建议可以提交进版本控制,一旦提交,地址就跟着仓库走了。
远程服务器的写法
官方文档里的 Streamable HTTP 示例是这样的,type、url 必填,headers 可选:
{
"mcpServers": {
"publishport": {
"type": "streamable-http",
"url": "<接入 AI 页面给的接入地址>"
}
}
}
要点:
type必须是"streamable-http"。文档把它列为必填项,只写url的话 Roo 没法判断传输方式。这和有些客户端“有url就自动识别”不一样。- 文档说 Streamable HTTP 是新远程服务器的推荐方式,SSE 是旧的,不用管。
disabled、timeout这些可选项先不动。timeout默认 60 秒,发视频类任务如果经常超时,可以在服务器配置框底部的 Network Timeout 下拉里调大。
保存后回到 MCP 页面,服务器旁边会显示连接状态,也可以点重启按钮重连、用开关临时禁用。
自动批准:要开两层
Roo 的自动批准默认关闭,而且是两层都开才生效:
- 在 Roo 的自动批准设置里打开全局的 “Use MCP servers”
- 在具体服务器的工具列表里,给某个工具勾
Always allow
官方文档特别说明,全局那一项优先,它关着的话,单个工具勾了也不会自动批准。
发出去的内容撤回成本高,我的做法是只对 list_capabilities 勾 Always allow(它只读,用来看有哪些平台在线),local_bash 保持每次确认。你也可以在 JSON 里用 alwaysAllow: ["list_capabilities"] 达到同样效果。官方还有 disabledTools 可以把不想暴露给模型的工具直接关掉。
让 AI 按你的流程来
文档里提到,除了服务器自带的工具描述,还可以用 Custom Instructions 引导 Roo 怎么用某个 MCP 工具。发布场景可以写几条固定规矩,比如:
- 发之前先调
list_capabilities()确认目标平台已登录 - 默认先存草稿,我确认后再正式发
- 不同平台的标题长度、话题格式不同,先读该平台命令的
--help
这类规则放进去,比每次在对话里重复省事。
一个例子:改完的文章直接发出去
在 Roo Code 里让它改完一篇文章,然后说“把这篇发到掘金和知乎,先存草稿”。AI 先调 list_capabilities() 确认平台在线,再读命令的 --help 补齐参数,用 local_bash 执行。每次 local_bash 弹出批准框时,看一眼命令里的标题和目标平台再点同意。两个平台的差异见掘金自动发布和知乎自动发文。
边界
- 以上字段取自官方文档当前版本,Roo Code 更新较快,字段如有变动以官方为准。我没有在每个版本上逐一实测。
- 用真实设备和登录态,不等于账号从此不会被限流。短时间往多个平台连发同一篇内容,平台怎么处理谁也不能保证,发布节奏和内容质量仍要你自己把关。
- 接入地址不要写进会提交的仓库。已经泄露就去客户端重新生成。
接入前过一遍:
- 远程服务器写了
type: "streamable-http"和url - 配置放在全局文件,不在会提交的
.roo/mcp.json local_bash没有勾 Always allow- PublishPort 客户端在后台运行,目标平台已登录
常见问题 / FAQ
Roo Code 配了 MCP 服务器却没反应?
先看是不是漏了 type: "streamable-http",其次看服务器开关有没有被关、地址有没有复制完整。
全局配置和项目配置我该用哪个?
PublishPort 的接入地址是凭据,建议用全局文件。项目级 .roo/mcp.json 适合放不含密钥、需要团队共享的服务器。
勾了 Always allow 为什么还是每次问我?
自动批准要全局的 “Use MCP servers” 和单个工具的 Always allow 同时开启,只开一层不生效。
Roo Code 和 Cline 的配置通用吗?
不能直接照抄,Roo 远程服务器要写 type,字段名也和 Cline 不完全一致。Cline 的写法见这一篇,其他编辑器可以看 Cursor 和 Zed。
接入细节以 PublishPort 文档为准,Roo Code 的配置字段如有变动,以官方 MCP 文档为准。
