MCP
MCP(模型上下文协议)是一个开放协议,它允许大型语言模型(LLMs)访问自定义的工具和服务。Zulu 作为 MCP 客户端,可以选择向 MCP 服务发起请求,使用它们提供的工具、读取数据源等,从而扩展功能。您可以为 Zulu 添加所需的 MCP 服务。更多信息参阅 MCP 介绍文档 。
支持的传输类型
Zulu 支持两种 MCP 服务的通信模式:
STDIO 传输 | SSE 传输 | Streamable HTTP 传输 |
---|---|---|
- 服务运行在本地 - 通信通过标准输入输出流进行通信 |
- 服务运行在本地或远程运行 - 通过服务器发送事件协议进行通信 |
- 服务运行在本地或远程 - 采用 HTTP POST 请求实现客户端到服务端的通信,并可选地通过服务器推送事件(SSE)流实现服务端到客户端的通信 - 采用 HTTP GET 请求请求实现客户端到服务端的通信,服务端通过 SSE 实现服务端到客户端通信 |
配置MCP服务
Zulu 目前支持在项目级配置 MCP 服务
配置入口
在 Zulu 页面,点击标题栏最右侧的“更多”按钮,可以看到弹出的下拉框中有 MCP 选项,若之前没有配置过 MCP,点击后即可跳转到 MCP 市场

添加MCP
方式一:通过 MCP 市场完成添加
- 进入 MCP 市场 标签页,可以看到市场的全部 MCP 服务列表。

- 在 MCP 市场 中,浏览或搜索所需 MCP 服务,点击”安装“完成一键自动安装。

部分 MCP Server 在运行使用时需要额外提供环境变量,例如 API_KEY 或 ACCESS_TOKEN。
查看更多 MCP 服务,参阅 MCP 服务文档
方式二:手动完成添加
- 点击右上角”+ 配置“,打开
mcp.json
文件 - 填写名称、命令、参数和环境变量(选填)。例如:
示例1:
1{
2 "mcpServers": {
3 "sequential-thinking": {
4 "command": "npx",
5 "args": [
6 "-y",
7 "@modelcontextprotocol/server-sequential-thinking"
8 ]
9 }
10 }
11}
示例2:
1{
2 "mcpServers": {
3 "github": {
4 "command": "npx",
5 "args": [
6 "-y",
7 "@modelcontextprotocol/server-github"
8 ],
9 "env": {
10 "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
11 }
12 }
13 }
14}
示例3:
1{
2 {
3 "mcpServers": {
4 "streamable": {
5 "transportType": "streamableHttp",
6 // url 字段需填写服务器提供的端点路径,该端点需同时支持 POST 和 GET 方法,又被称为 MCP 端点
7 "url": "http://localhost:3000/mcp",
8 "disabled": false
9 }
10 }
11}
- 保存文件 mcp.json 所有可配置项信息如下:
1export interface McpServerStdioConfig {
2 /** 传输类型标识符(可选,若没有给出此字段,当存在 url 字段时默认为 sse,否则默认为 stdio */
3 transportType: 'stdio';
4 /** 执行 MCP 服务器的命令(stdio 类型必需) */
5 command: string;
6 /** 服务器命令行参数 */
7 args?: string[];
8 /** 为服务器进程设置的环境变量 */
9 env?: Record<string, string>;
10 /** 服务器进程的工作目录,如果没有指定,将继承当前工作目录 */
11 cwd?: string;
12 /** 服务器是否被禁用,默认为 false,可以在 MCP tab 使用按钮切换 */
13 disabled?: boolean;
14 /** 请求超时时间(秒),默认为 60s */
15 timeout?: number;
16}
17
18export interface McpServerHttpConfig {
19 transportType: 'sse' | 'streamableHttp';
20 /** 连接的 URL 端点(sse/streamableHttp 类型必需) */
21 url: string;
22 /** HTTP 请求的额外 fetch 选项 */
23 requestInit?: RequestInit;
24 /** 服务器是否被禁用,默认为 false,可以在 MCP tab 使用按钮切换 */
25 disabled?: boolean;
26 /** 请求超时时间(秒),默认为 60s */
27 timeout?: number;
28}
验证调试
- 当您在市场中/手动添加后,可点击右上角”更新“,确保MCP服务正常运行
- 当您通过打开
mcp.json
文件中完成配置并进行保存后,请点击‘更新’操作,确保 MCP 服务正常运行。

- 可以跳转到已安装的 tab 页查看已经安装的 MCP server,配置的 MCP server 有四种状态,分别对应四种颜色的状态灯。
状态 | 示意图 |
---|---|
未启动 | ![]() |
启动中 | ![]() |
启动成功 | ![]() |
启动失败 | ![]() |
启动失败后可以点击“查看日志”蓝色按钮,从 BaiduComate MCP 输出通道中查看输出日志

在对话中使用 MCP 工具
在 Zulu 对话中,如果 Zulu 认为您的问题与某个 MCP Server 相关,它将自动使用 MCP 中提供的工具。如果您认为本次对话有必要使用某个工具,只需告知Zulu使用该工具名称或描述即可。
- 默认情况下,当 Zulu 想要使用 MCP 工具时,它会显示一条消息请求您的批准。

- 当您同意 Zulu 使用后,将自动完成 MCP 工具的使用,并将结果作为上下文继续生成后面的内容。

- 您可以使用工具名称旁边的箭头展开该消息,查看 Zulu 调用该工具时使用的参数、返回的结果信息。

查看/启用/禁用 已安装的MCP服务
- 若已安装了MCP服务,在进入配置项目MCP服务页面的”已安装“页签中,可看到所有已安装过的MCP服务

- 若您暂时不需要某个MCP服务生效,可以通过该MCP服务最后的”开关“操作,进行启用/禁用
启用/禁用与对话中是否可调用成功无关,禁用则一定无法调用。

使用须知
为了帮助您更好地使用MCP功能,我们温馨提醒您关注以下使用要点(相关功能正在持续优化中):
使用条件
目前 MCP 仅支持 Zulu 模式下使用,建议您提前确认账户剩余的 Zulu 可用次数,以确保流程顺利进行。
工具稳定性说明
由于 MCP 工具的调用逻辑由 AI 模型自主决策,且可能涉及不同开发者编写的服务端代码,存在以下需要您理解的情况:
- 工具调用具有不确定性,可能出现未触发调用或调用未成功的情况。
- 每次调用尝试(无论结果如何)都将消耗 1 次 Zulu 使用次数。
- 我们建议您在关键流程中做好备用方案,以确保服务连续性。
文件配置规范
为保障 MCP 服务稳定运行,请特别注意:
- 项目路径
.comate/mcp.json
的配置文件需控制总行数在 5000 行以内。 - 超过行数限制可能导致服务加载异常,建议定期优化文件结构。
应用场景
场景1:获取Github信息
用户指令:"帮我查下github上最近一次提交代码的信息"
Zulu智能决策: 自动识别需调用 Gtihub MCP 服务工具 → 展示工具调用确认弹窗,用户点击"执行"后开始运行
配置信息:
1{
2 "mcpServers": {
3 "github": {
4 "command": "npx",
5 "args": [
6 "-y",
7 "@modelcontextprotocol/server-github"
8 ],
9 "env": {
10 "GITHUB_PERSONAL_ACCESS_TOKEN": "your_gihub_token"
11 }
12 }
13 }
14}
实际使用过程
① 在GitHub找到对应服务的token

② 进入MCP市场,安装 Github MCP、SQLite MCP

③ 将Github拷贝的token粘贴到配置文件中

④ 用户确定是否允许执行本次 MCP 请求

⑤ 使用 SQLite MCP 访问本地数据库

⑥ Zulu会自动使用Github MCP Server提交代码PR
|
|
示例参考
场景2:网络检索
用户指令:"帮我查询一下今天 ai 圈有什么新闻"
Zulu智能决策: 自动识别需调用 tavily MCP 服务工具 → 展示工具调用确认弹窗,用户点击"执行"后开始运行
配置信息:
1{
2 "mcpServers": {
3 "tavily": {
4 "command": "npx",
5 "args": [
6 "-y",
7 "tavily-mcp@0.1.4"
8 ],
9 "env": {
10 "TAVILY_API_KEY": "your_tavily_api_key}"
11 }
12 }
13 }
14}
实际使用过程
① 用户确定是否允许执行本次 MCP 请求

② 因为用户的 API 密钥错误,所以 Zulu 自己改变了策略

③ 返回最终结果

场景3:深度思考
用户指令: "请帮我深度思考,如何写一段贪吃蛇的 python 代码"
Zulu智能决策: 自动识别需调用sequential-thinkingMCP工具 → 展示工具调用确认弹窗,用户点击"执行"后开始运行
配置信息:
1{
2 "mcpServers": {
3 "sequential-thinking": {
4 "command": "npx",
5 "args": [
6 "-y",
7 "@modelcontextprotocol/server-sequential-thinking"
8 ]
9 }
10 }
11}
实际使用过程
① 用户确定是否允许执行本次MCP请求

② 多步思考完善细节


③ 返回最终结果

场景4:使用远程 GitHub MCP server 获取信息
前面三个案例提到的都是本地 MCP 服务器,comate 插件客户端和 MCP 服务器走的是 stdio 进行通信,我们可以尝试使用 streamableHttp 通信方式来连接远程的 MCP server,这样只需复制粘贴服务器 URL 即可直接使用,无需安装 NPM 包等额外操作。以 GitHub MCP server 为例。
用户指令: "请帮我为 immersive_translation_rules 仓库创建一个 dev 分支"
Zulu智能决策: 自动识别需调用 remote-github MCP工具 → 展示工具调用确认弹窗,用户点击"执行"后开始运行
配置信息:
1{
2 "mcpServers": {
3 "github_remote": {
4 "transportType": "streamableHttp",
5 "url": "https://api.githubcopilot.com/mcp/",
6 "requestInit": {
7 "headers": {
8 "Authorization": "Bearer ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
9 }
10 }
11 }
12 }
13}
实际使用过程:
① 用户确定是否允许执行本次MCP请求

② Zulu会自动使用 Github Remote MCP Server 创建新分支

有关 GitHub Remote MCP server 的更多信息可以看 https://docs.github.com/en/copilot/customizing-copilot/using-model-context-protocol/using-the-github-mcp-server
更多远程 MCP server 可以在这个网站查询 https://github.com/jaw9c/awesome-remote-mcp-servers
FAQ
spawn uvx ENOENT

MCP Server 可以使用多种语言实现,例如 JavaScript、Python、Java 等。要运行这些服务器,需要在本地预先安装相应的运行环境和工具。有时会遇到上图中类似 “spawn uvx ENOENT” 的报错,这意味着系统中缺少名为 uvx 的可执行文件(例如 uv 提供的命令行工具)。同理,也可能出现 “spawn bunx ENOENT” 等错误,提示缺少 bunx 工具。这些报错的原因本质上都是本地没有安装相应的运行环境或工具,解决办法是在系统中正确安装所需的解释器或包管理工具(如 Python、Node.js、Bun、uv 等)。下面整理了一些常见运行环境的安装文档。