模型上下文协议
Zed 使用模型上下文协议与上下文服务器进行交互。
模型上下文协议 (MCP) 是一种开放协议,可实现大型语言模型 (LLM) 应用程序与外部数据源和工具之间的无缝集成。无论您是构建 AI 驱动的 IDE、增强聊天界面还是创建自定义 AI 工作流,MCP 都提供了一种标准化的方式,将 LLM 与其所需的上下文连接起来。
请查看Anthropic 新闻帖子和Zed 博客帖子,以获取 MCP 的一般介绍。
安装 MCP 服务器
作为扩展
在 Zed 中使用 MCP 服务器的一种方法是将其作为扩展暴露。请查看MCP 服务器扩展页面,了解如何创建自己的扩展。
感谢我们出色的社区,许多 MCP 服务器已作为扩展添加。您可以通过以下任一途径查看可用的服务器:
- Zed 网站
- 在应用程序中,打开命令面板并运行
zed: extensions操作 - 在应用程序中,转到代理面板的右上角菜单,查找“查看服务器扩展”菜单项
无论如何,以下是一些流行的可用服务器
作为自定义服务器
创建扩展不是在 Zed 中使用 MCP 服务器的唯一方法。您可以通过将它们的命令直接添加到您的 settings.json 来连接它们,如下所示
{
"context_servers": {
"your-mcp-server": {
"source": "custom",
"command": "some-command",
"args": ["arg-1", "arg-2"],
"env": {}
}
}
}
或者,您还可以通过访问代理面板的“设置”视图(也可通过 agent: open settings 操作访问)来添加自定义服务器。在那里,您可以点击“添加自定义服务器”按钮后出现的模态框进行添加。
使用 MCP 服务器
配置检查
无论您如何安装 MCP 服务器,无论是作为扩展安装还是直接添加,大多数服务器在设置过程中仍需要某种配置。
对于扩展,安装后,Zed 会弹出一个模态框,显示您正确设置它所需的内容。例如,GitHub MCP 扩展要求您添加一个个人访问令牌。
对于自定义服务器,请务必查看提供商文档,以确定需要添加到 JSON 中的命令、参数和环境变量类型。
要检查您的 MCP 服务器是否已正确配置,请转到代理面板的设置视图,并查看其名称旁边的指示灯点。如果它们运行正常,指示灯将为绿色,其工具提示将显示“服务器处于活动状态”。否则,其他颜色和工具提示消息将指示正在发生什么。
代理面板使用
安装完成后,您可以返回代理面板并开始提示。
在从 MCP 服务器中选择工具方面,有些模型比其他模型更好。提及服务器名称总有助于模型选择它。
但是,如果您想确保使用给定的 MCP 服务器,您可以创建自定义配置文件,其中所有内置工具(或可能与服务器工具发生冲突的工具)都已关闭,并且仅打开来自 MCP 服务器的工具。
例如,Dagger 团队建议使用他们的Container Use MCP 服务器这样做
"agent": {
"profiles": {
"container-use": {
"name": "Container Use",
"tools": {
"fetch": true,
"thinking": true,
"copy_path": false,
"find_path": false,
"delete_path": false,
"create_directory": false,
"list_directory": false,
"diagnostics": false,
"read_file": false,
"open": false,
"move_path": false,
"grep": false,
"edit_file": false,
"terminal": false
},
"enable_all_context_servers": false,
"context_servers": {
"container-use": {
"tools": {
"environment_create": true,
"environment_add_service": true,
"environment_update": true,
"environment_run_cmd": true,
"environment_open": true,
"environment_file_write": true,
"environment_file_read": true,
"environment_file_list": true,
"environment_file_delete": true,
"environment_checkpoint": true
}
}
}
}
}
}
工具批准
Zed 的代理面板包含 agent.always_allow_tool_actions 设置,如果将其设置为 false,则要求您为任何编辑尝试以及来自 MCP 服务器的工具调用授予权限。
您可以通过在 settings.json 中或通过代理面板的设置视图将此键设置为 true 来更改此设置。
外部代理
请注意,对于通过代理客户端协议连接的外部代理,从 Zed 安装的 MCP 服务器的访问权限可能因 ACP 代理实现而异。
关于内置代理,Claude Code 和 Codex 都支持它,而 Gemini CLI 尚未支持。同时,请通过他们的文档了解如何为 Gemini CLI 添加 MCP 服务器支持。