模型上下文协议
了解如何在 Cursor 功能中添加和使用自定义 MCP 工具
什么是 MCP?
模型上下文协议 (MCP) 是一个开放协议,用于标准化应用程序如何向 LLM 提供上下文和工具。可以将 MCP 视为 Cursor 的插件系统 - 它允许您通过标准化接口将 Agent 连接到各种数据源和工具,从而扩展 Agent 的功能。
了解更多关于 MCP 的信息
访问 MCP 官方文档以深入了解该协议
用途
MCP 允许您将 Cursor 连接到外部系统和数据源。这意味着您可以将 Cursor 与您现有的工具和基础设施集成,而无需告知 Cursor 代码本身之外的项目结构。
MCP 服务器可以使用任何语言编写,只要该语言可以将内容打印到 stdout
或提供 HTTP 端点。这种灵活性使您可以使用您首选的编程语言和技术栈非常快速地实现 MCP 服务器。
示例
数据库
允许 Cursor 直接查询您的数据库,而无需手动输入模式或手动操作数据。
Notion
从 Notion 读取数据以指导 Cursor 实现某项功能
GitHub
让 Cursor 创建 PR、创建分支、查找代码等
内存
允许 Cursor 在您工作时记住和回忆信息
Stripe
允许 Cursor 创建客户、管理订阅等
架构
MCP 服务器是轻量级程序,通过标准化协议公开特定功能。它们充当 Cursor 和外部工具或数据源之间的中介。
Cursor 支持 MCP 服务器的两种传输类型
💻 stdio 传输
- 在您的本地机器上运行
- 由 Cursor 自动管理
- 通过 stdout
直接通信
- 仅限您本地访问
输入:Cursor 自动运行的有效 shell 命令
🌐 SSE 传输
- 可以本地或远程运行
- 由您管理和运行
- 通过网络通信
- 可以跨机器共享
输入:指向 Cursor 外部 MCP 服务器 /sse
端点的 URL
对于 stdio 服务器,该命令应该是 Cursor 可以运行的有效 shell 命令。
对于 SSE 服务器,URL 应该是 SSE 端点的 URL,例如 http://example.com:8000/sse。
每种传输类型都有不同的用例,其中 stdio 对于本地开发更简单,而 SSE 为分布式团队提供了更大的灵活性。
配置 MCP 服务器
MCP 服务器可以通过三种方式配置,按推荐顺序排列。所有配置方法都使用相同的 JSON 格式
配置格式
MCP 配置文件使用 JSON 格式,结构如下
env
字段允许您指定环境变量,这些变量将可用于您的 MCP 服务器进程。这对于管理 API 密钥和其他敏感配置尤其有用。
配置位置
您可以将此配置放置在两个位置,具体取决于您的用例
项目配置
对于特定于项目的工具,请在您的项目目录中创建一个 .cursor/mcp.json
文件。这允许您定义仅在该特定项目中可用的 MCP 服务器。
全局配置
对于您想要在所有项目中使用的工具,请在您的主目录中创建一个 ~/.cursor/mcp.json
文件。这使得 MCP 服务器在您的所有 Cursor 工作区中都可用。
UI 配置(不推荐)
虽然您可以通过 UI 添加 MCP 服务器,但不建议使用此方法,因为它不支持环境变量,并且需要为每个工作区手动配置。
通过 UI 添加 MCP 服务器
- 转到
Cursor 设置
>功能
>MCP
- 点击
+ 添加新的 MCP 服务器
- 填写表格
- 选择传输类型(stdio 或 SSE)
- 输入服务器名称
- 对于 stdio:输入要运行的命令(例如,
node ~/mcp-quickstart/weather-server-typescript/build/index.js
) - 对于 SSE:输入 SSE 端点 URL(例如,
https://127.0.0.1:8765/sse
)
添加服务器后,它将出现在您的 MCP 服务器列表中。
您可能需要点击刷新按钮来加载可用工具。
在 Agent 中使用 MCP 工具
Composer Agent 将自动使用 MCP 设置页面上 可用工具
下列出的任何 MCP 工具(如果它确定这些工具是相关的)。要有意提示工具的使用,只需告诉 Agent 使用该工具,并按名称或描述引用它即可。
工具批准
默认情况下,当 Agent 想要使用 MCP 工具时,它将显示一条消息,询问您是否批准。您可以使用工具名称旁边的箭头展开消息,并查看 Agent 调用该工具时使用的参数。
Yolo 模式
您可以启用 Yolo 模式,以允许 Agent 自动运行 MCP 工具而无需批准,类似于终端命令的执行方式。阅读更多关于 Yolo 模式以及如何启用它的信息此处。
工具响应
当工具被使用时,Cursor 将在聊天中显示响应。此图像显示了来自示例工具的响应,以及工具调用参数和工具调用响应的展开视图。
局限性
MCP 是一个非常新的协议,仍处于积极开发中。有一些已知的注意事项需要注意