学习如何在 Cursor 的 Composer 功能中添加和使用自定义 MCP 工具与代理

Model Context Protocol (MCP) 是一个开放协议,允许你为 Cursor 中的代理 LLM 提供自定义工具。

MCP 工具可能不适用于所有模型。MCP 工具仅对 Composer 中的代理可用。

Cursor 实现了一个 MCP 客户端,支持任意数量的 MCP 服务器。Cursor 的 MCP 客户端支持 stdiosse 传输方式。

将 MCP 服务器添加到 Cursor

要将 MCP 服务器添加到 Cursor,请前往 Cursor 设置 > 功能 > MCP,然后点击 + 添加新 MCP 服务器 按钮。

这将打开一个表单的模态窗口,你需要填写相关信息。在 类型 下选择传输方式,并填写服务器的昵称(名称),然后根据传输方式填写要运行的命令或服务器的 URL。

例如,假设你已经构建并将 MCP 快速启动天气服务器 放置在 ~/mcp-quickstart/weather-server-typescript/build/index.js 路径下,你可以按照以下方式进行配置。在此情况下,整个命令字符串是 node ~/mcp-quickstart/weather-server-typescript/build/index.js

模型上下文协议 - 图1

如果你要配置 MCP 示例工具,假设它正在本地的 8765 端口运行,配置方法如下:

模型上下文协议 - 图2

对于 SSE 服务器,URL 应该是 SSE 端点的 URL,例如 http://example.com:8000/sse

对于 stdio 服务器,命令应该是一个可以从终端运行的有效 shell 命令。如果你需要设置环境变量,建议编写一个小的包装脚本,设置环境变量后再运行服务器。

添加服务器后,它应该出现在 MCP 服务器列表中。你可能需要手动点击 MCP 服务器右上角的刷新按钮,以便加载工具列表。加载了天气和示例服务器的(修改版本)后,工具列表应该如下所示。

模型上下文协议 - 图3

管理 MCP 服务器

MCP 服务器可以在 MCP 设置页面进行编辑或删除。

在 Composer 中使用 MCP 工具

Composer 代理会自动使用在 MCP 设置页面下的 可用工具 中列出的任何工具,前提是它认为这些工具是相关的。如果你想有意地提示工具的使用,只需告诉代理使用该工具,可以通过名称或描述来引用它。

当代理决定使用某个工具时,它会在聊天中显示类似以下的消息,提示用户批准或拒绝该工具调用。

模型上下文协议 - 图4

用户可以展开消息以查看工具调用参数。

如果用户批准该工具调用,代理将使用该工具并在聊天中显示响应。此图显示了来自示例工具的响应,以及工具调用参数和工具调用响应的扩展视图。

模型上下文协议 - 图5