一句话回答:Zed 里接 MCP 自动发布内容,在设置文件里把服务器写到
context_servers下(不是mcpServers),远程服务器用url字段。更简单的做法是 Settings → AI → MCP Servers → Add Server → Add Remote Server,Zed 会替你写好。工具默认每次都要你确认,发布是有副作用的操作,建议保持这个默认。
很多教程的 MCP 配置都是 mcpServers,照抄到 Zed 里是不生效的。Zed 的根键叫 context_servers,这是它的第一个坑;第二个坑是远程服务器没写 Authorization 头时,Zed 会去走标准的 MCP OAuth 流程。下面按 Zed 官方文档现在的说法来讲。
先搞清 PublishPort 给 AI 的是什么
PublishPort 暴露给 AI 的只有两个通用工具:list_capabilities() 告诉 AI 这台电脑上登录了哪些平台,local_bash(cmd) 把命令经官方中转交给你本机客户端执行,用的是你自己浏览器里的登录态。各平台要传什么参数,AI 自己读命令的 --help 就知道,不需要给每个平台配一个 MCP 服务器。
先装好 PublishPort 客户端,登录要发布的平台,到「接入 AI」页面生成接入地址。下面的 <接入地址> 都指这条。接入原理见《MCP 内容发布服务器到底是怎么工作的》。
两种添加方式
方式一:界面添加。 打开 Settings → AI → MCP Servers(也可以用命令面板的 agent: open settings,再选 MCP Servers),点页面顶部的 Add Server,选 Add Remote Server,填名称和接入地址即可。
方式二:直接改设置文件。 命令面板运行 zed: open settings file,写成这样:
{
"context_servers": {
"publishport": {
"url": "<接入 AI 页面给的接入地址>"
}
}
}
官方文档里的远程服务器示例就是 url(可选再加 headers),本地服务器才是 command / args / env。PublishPort 是远程的,用 url 这一种就行。
配好后回到 Settings → AI → MCP Servers,看服务器名字旁边的圆点:官方说明,绿色并且提示 “Server is active” 就是正常,其他颜色和提示会告诉你卡在哪。
OAuth 提示是怎么回事
官方文档有一条说明:远程 MCP 服务器没有配置 Authorization 头时,Zed 会提示你用标准 MCP OAuth 流程去认证。我自己的理解是,这是 Zed 对“需要登录的远程服务器”的默认处理。PublishPort 的接入地址本身就是凭据,所以我没有给它加 headers。这一块我没有在每个 Zed 版本上都实测过,如果你的环境里弹出了认证窗口,请以 PublishPort 文档和 Zed 的提示为准,不要随手把别的令牌填进去。
工具权限:保持“每次确认”
Zed 的 Agent 面板有一个 agent.tool_permissions.default 设置,据官方文档(v0.224.0 及以上)三个取值是:
"confirm"(默认):任何工具动作包括 MCP 调用,都先问你"allow":自动批准,不再询问"deny":全部拦下
发布出去的内容撤回成本高,所以我保持 confirm。如果想更细,文档说可以按工具单独设规则,MCP 工具的键格式是 mcp:<服务器名>:<工具名>,对 MCP 工具起主要作用的是该条目下的 default。比如可以只放行 list_capabilities、让 local_bash 继续确认。具体写法见 Zed 的工具权限文档,我没有把它抄在这里,以免版本一变就过期。
想让 AI 一定用这个服务器
官方文档提到,MCP 工具被调用的可靠程度因模型而异;在提示里直接点名服务器能帮模型选对工具。要“确保”用上,可以建一个自定义 Profile,把可能冲突的内置工具关掉,只开 MCP 服务器的工具。发布场景一般不用这么重,提示里写清“用 publishport 发”就够了。
一个例子:写完的文档直接发出去
在 Zed 里写完一篇技术笔记,在 Agent 面板里说“把这篇发到掘金和思否,先存草稿”。AI 先调 list_capabilities() 确认平台在线,再读各平台发文命令的 --help,补齐必填参数后用 local_bash 执行。两个平台的细节不同,可以看掘金自动发布和思否自动发布。确认弹窗出现时看一眼命令里的标题和平台,再点同意。
边界
- Zed 官方文档目前只说支持 MCP 的 Tools 和 Prompts 能力,别的特性(如 Sampling)还没覆盖,对 PublishPort 的两个工具够用。
- 用真实设备和登录态,不等于账号从此不会被限流。短时间往多个平台连发同一篇内容,平台怎么处理谁也不能保证,发布节奏和内容质量仍要你自己把关。
- 接入地址等于钥匙,不要写进会提交的仓库;Zed 的设置文件是用户级的,通常不会进项目仓库,但同步设置时要留意。已经泄露就去客户端重新生成。
接入前过一遍:
- 根键是
context_servers,远程服务器用url - Settings → AI → MCP Servers 里圆点是绿色
agent.tool_permissions.default保持confirm- PublishPort 客户端在后台运行,目标平台已登录
常见问题 / FAQ
Zed 的 MCP 配置为什么不能用 mcpServers?
Zed 自己的设置里 MCP 服务器叫 context servers,根键是 context_servers,这是它的约定,和 Cursor 等工具的 mcpServers 不通用。
Zed 里怎么看 MCP 服务器连上没有?
Settings → AI → MCP Servers 里看名字旁的指示点,绿色且提示 “Server is active” 是正常。
Zed 的 MCP 工具调用要不要每次确认?
默认要。agent.tool_permissions.default 默认值是 confirm,可改成 allow 或 deny,也可以按 mcp:<服务器>:<工具> 单独设置。
其他编辑器怎么接?
接入地址是同一条,差别在配置入口和字段。可以看 VS Code Copilot、Cursor 和 Cline 三篇。
接入细节以 PublishPort 文档为准,Zed 的配置字段如有变动,以官方 MCP 文档为准。
