Model Context Protocol
通过 Model Context Protocol(MCP)插件系统,将外部工具和数据源连接到 Cursor。
什么是 MCP?
Model Context Protocol(MCP)是一种开放协议,用于标准化应用如何为大语言模型(LLM)提供上下文和工具。你可以把 MCP 理解为 Cursor 的插件系统——它允许你通过标准化接口,将各种数据源和工具接入 Agent,扩展其能力。
用途
MCP 允许你将 Cursor 连接到外部系统和数据源。这意味着你可以将 Cursor 集成到现有工具和基础设施中,而无需单独告知 Cursor 代码之外的项目结构。
MCP 服务器可以用任何能够输出到标准输出(stdout
)或提供 HTTP 接口的语言编写。这种灵活性让你可以用自己喜欢的编程语言和技术栈快速实现 MCP 服务器。
示例
架构
MCP 服务器是通过标准协议暴露特定能力的轻量级程序。它们作为 Cursor 与外部工具或数据源之间的中间层。
Cursor 支持两种 MCP 服务器的传输方式:
对于 stdio 服务器,命令应为 Cursor 可运行的有效 shell 命令。
对于 SSE 服务器,URL 应为 SSE 端点的地址,例如:http://example.com:8000/sse。
每种传输方式适用于不同场景:
- stdio 更适合本地开发,简单易用
- SSE 更适合分布式团队,灵活性更高
配置 MCP 服务器
MCP 配置文件采用 JSON 格式,结构如下:
// CLI Server -Node.js
// 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"
}
}
}
}
// CLI Server -Python
// This example demonstrated an MCP server using the stdio format
// Cursor automatically runs this process for you
// This uses a Python server, ran with `python`
{
"mcpServers": {
"server-name": {
"command": "python",
"args": ["mcp-server.py"],
"env": {
"API_KEY": "value"
}
}
}
}
// SSE Server
// This example demonstrated an MCP server using the SSE format
// The user should manually setup and run the server
// This could be networked, to allow others to access it too
{
"mcpServers": {
"server-name": {
"url": "http://localhost:3000/sse",
"env": {
"API_KEY": "value"
}
}
}
}
env
字段允许你为 MCP 服务器进程指定可用的环境变量。这对于管理 API 密钥和其他敏感配置特别有用。
配置文件位置
你可以根据需求将 MCP 配置文件放在以下两个位置:
认证(Authentication)
你可以通过为 MCP 服务器进程提供环境变量来实现认证。这允许你为 MCP 服务器提供 API 密钥和其他认证令牌,而无需将它们暴露在代码中或存储在 MCP 服务器本身。
这种用法的语法已在上方的 MCP 服务器配置文件示例中展示。
虽然目前还不支持其他认证方式,但像 mcp-remote 这样的社区项目可以为网络上的 MCP 服务器提供安全的认证方式。
在 Chat 中使用 MCP
Composer Agent 会自动使用 MCP 设置页面“可用工具”下列出的所有 MCP 工具(如果判断为相关)。如果你想主动让 Agent 使用某个工具,只需在对话中直接说明工具名称或描述即可。你也可以在设置页面启用或禁用单个 MCP 工具,控制 Agent 可用的工具范围。
工具审批
默认情况下,当 Agent 想要使用 MCP 工具时,会弹出消息请求你的批准。你可以点击工具名称旁的箭头展开消息,查看 Agent 调用该工具时传递的参数。

自动运行(Auto-run)
你可以启用自动运行,让 Agent 在无需审批的情况下自动运行 MCP 工具,类似于终端命令的自动执行。详细了解 Yolo 模式及其启用方法请见相关文档。
工具响应
当工具被调用时,Cursor 会在聊天中显示响应内容。你可以展开查看工具调用的参数和响应详情。

图片注入(Image Injection)
当使用某些 MCP 服务器时,Cursor 可能会运行返回图片(如网站截图或图表)的工具。为了让 Chat 能正确显示和使用这些图片,你需要确保服务器以正确的格式返回图片。
做法如下:在工具响应中返回图片的 base64 编码字符串。
const RED_CIRCLE_BASE64 = "/9j/4AAQSkZJRgABAgEASABIAAD/2w..."
// ^ 省略的 base64 字符串
server.tool("generate_image", async (params) => {
return {
content: [
{
type: "image",
data: RED_CIRCLE_BASE64,
mimeType: "image/jpeg",
},
],
};
});
完整的返回图片的 MCP 服务器示例可参考官方文档。
以这种格式返回图片后,Cursor 会将图片插入到聊天中。如果当前模型支持图片输入,模型还可以查看和分析图片,辅助后续操作。
限制说明
MCP 是一个非常新的协议,目前仍在积极开发中。需要注意以下已知注意事项: