模型上下文协议
使用 Model Context Protocol (MCP) 插件系统将外部工具和数据源连接到 Cursor
什么是 MCP?
模型上下文协议 (MCP) 是一种开放协议,它标准化了应用程序向 LLM 提供上下文和工具的方式。将 MCP 视为 Cursor 的插件系统 - 它允许您通过标准化接口将代理连接到各种数据源和工具,从而扩展代理的功能。
[
了解有关 MCP 的更多信息
访问官方 MCP 文档以深入了解协议
](https://modelcontextprotocol.io/introduction)
使用
MCP 允许您将 Cursor 连接到外部系统和数据源。这意味着您可以将 Cursor 与现有工具和基础设施集成,而不必告诉 Cursor 您的项目结构在代码本身之外是什么。
MCP 服务器可以用任何可以打印到 HTTP 端点或为 HTTP 端点提供服务的语言编写。这种灵活性使您能够使用首选编程语言和技术堆栈非常快速地实施 MCP 服务器。stdout
例子
数据库
允许 Cursor 直接查询您的数据库,而不是手动输入架构或自己作数据。
概念
从 概念中读取数据以引导光标实现功能
GitHub的
让 Cursor 创建 PR、创建分支、查找代码等
记忆
允许 Cursor 在您工作时记住和调用信息
条纹
允许 Cursor 创建客户、管理订阅等
建筑
MCP 服务器是通过标准化协议公开特定功能的轻量级程序。它们充当 Cursor 与外部工具或数据源之间的中介。
Cursor 支持 MCP 服务器的两种传输类型:
💻 stdio 运输
- 在本地计算机上运行
- 由 Cursor 自动管理
- 直接通信stdout
- 仅由您在本地访问
输入:Cursor 自动运行的有效 shell 命令
🌐 SSE 运输
- 可以在本地或远程运行
- 由您管理和运营
-通过网络进行通信
- 可以在计算机之间共享
输入:指向游标外部的 MCP 服务器端点的 URL/sse
对于 stdio 服务器,该命令应该是 Cursor 可以运行的有效 shell 命令。
对于 SSE 服务器,URL 应该是 SSE 端点的 URL,例如 .http://example.com:8000/sse
每种传输类型都有不同的用例,stdio 更适合本地开发,而 SSE 为分布式团队提供了更大的灵活性。
配置 MCP 服务器
MCP 配置文件使用具有以下结构的 JSON 格式:
CLI 服务器 - Node.jsCLI 服务器 - PythonSSE 服务器复制
// This example demonstrated an MCP server using the stdio format// Cursor automatically runs this process for you// This uses a Node.js server, ran with `npx`{"mcpServers": {"server-name": {"command": "npx","args": ["-y", "mcp-server"],"env": {"API_KEY": "value"}}}}
该字段允许您指定可用于 MCP 服务器进程的环境变量。这对于管理 API 密钥和其他敏感配置特别有用。env
配置位置
您可以将此配置放置在两个位置,具体取决于您的使用案例:
项目配置
对于特定于项目的工具,请在项目目录中创建一个文件。这允许您定义仅在该特定项目中可用的 MCP 服务器。.cursor/mcp.json
全局配置
对于要在所有项目中使用的工具,请在主目录中创建一个文件。这使得 MCP 服务器在所有 Cursor 工作区中都可用。\~/.cursor/mcp.json
认证
可以为 MCP 服务器提供用于身份验证的环境变量。这允许您将 API 密钥和其他身份验证令牌提供给 MCP 服务器,而无需在代码中公开它们或将它们存储在 MCP 服务器本身中。
此语法包含在 MCP 服务器配置文件中,如上面的示例所示。
虽然尚不支持其他身份验证方法,但像mcp-remote 这样的社区项目能够提供一种安全的方式来通过网络对 MCP 服务器进行身份验证。
在 Chat 中使用 MCP
如果 Composer 代理确定 MCP 设置页面上列出的任何 MCP 工具是相关的,则它将自动使用它们。 要有意提示使用工具,只需告诉代理使用该工具,通过名称或描述引用它。您还可以从设置页面启用或禁用单个 MCP 工具,以控制哪些工具可供 Agent 使用。Available Tools
工具批准
默认情况下,当 Agent 想要使用 MCP 工具时,它将显示一条消息,请求您的批准。您可以使用工具名称旁边的箭头展开消息,并查看 Agent 使用哪些参数调用工具。

自动运行
您可以启用自动运行以允许 Agent 自动运行 MCP 工具而无需批准,类似于执行终端命令的方式。在此处阅读有关 Yolo 模式以及如何启用它的更多信息。
工具响应
使用工具时,Cursor 将在聊天中显示响应。 此图显示了示例工具的响应,以及工具调用参数和工具调用响应的扩展视图。

图像注入
当使用某些 MCP 服务器时,Cursor 可能会运行返回图像的工具,例如网站的屏幕截图或图表。要允许 Chat 正确查看和使用其回复中的图像,您可以确保将服务器配置为以正确的格式返回图像。
为此,您只需在工具响应中返回图像的 base64 编码字符串即可。
const RED_CIRCLE_BASE64 = "/9j/4AAQSkZJRgABAgEASABIAAD/2w..."// ^ full base64 clipped for readabilityserver.tool("generate_image", async (params) => {return {content: [{type: "image",data: RED_CIRCLE_BASE64,mimeType: "image/jpeg",},],};});
可在此处找到返回图像的 MCP 服务器的完整示例。
通过以这种格式返回图像,Cursor 会将图像附加到聊天中,如果当前模型支持,模型将查看和分析图像,以帮助进行下一步。
局限性
MCP 是一个非常新的协议,目前仍在积极开发中。有一些已知的注意事项需要注意:
工具数量
某些 MCP 服务器或具有许多 MCP 服务器处于活动状态的用户可能有许多工具可供 Cursor 使用。目前,Cursor 只会将前 40 个工具发送给 Agent。
远程开发
Cursor 从本地计算机直接与 MCP 服务器通信,无论是直接通过还是通过使用 的网络。因此,MCP 服务器在通过 SSH 或其他开发环境访问 Cursor 时可能无法正常工作。我们希望在未来的版本中改进这一点。stdio``sse
MCP 资源
MCP 服务器提供两个主要功能:工具和资源。Cursor 中目前提供了工具,并允许 Cursor 执行 MCP 服务器提供的工具,并在后续步骤中使用输出。但是,Cursor 中尚不支持 resources。我们希望在未来的发行版中添加资源支持。
