模型上下文协议(Model Context Protocol)
什么是MCP?
模型上下文协议(Model Context Protocol,MCP)是一个开放协议,用于标准化应用程序向大语言模型(LLM)提供上下文和工具的方式。可将MCP视为Cursor的插件系统——它允许您通过标准化接口连接各类数据源和工具,从而扩展Agent的功能。
深入了解MCP -------------------- 访问官方MCP文档深度理解协议
用途
MCP支持将Cursor连接到外部系统和数据源。这意味着您可将Cursor与现有工具及基础设施集成,无需在代码之外向Cursor说明项目结构。
MCP服务器可采用任何能向stdout
输出或提供HTTP端点的语言编写。这种灵活性使您能快速使用首选编程语言和技术栈实现MCP服务器。
应用示例
架构设计
MCP服务器是通过标准化协议暴露特定功能的轻量级程序,它们充当Cursor与外部工具或数据源之间的中介。
Cursor支持两种MCP服务器传输类型:
每种传输类型适用不同场景:stdio更适合本地开发,SSE则为分布式团队提供更高灵活性。
配置MCP服务器
MCP配置文件采用以下JSON结构:
配置路径
根据使用场景可将配置文件置于以下两处位置:
身份验证
可通过环境变量为MCP服务器提供认证凭据。这样既无需在代码中暴露API密钥等认证令牌,也避免将其存储在MCP服务器内部。
如前述示例所示,相关语法已包含在MCP服务器配置文件中。
在聊天中使用MCP
当Composer Agent判定MCP设置页面的可用工具
列表中的工具相关时,将自动调用它们。如需主动引导Agent使用工具,可直接通过名称或描述指示其调用特定工具。您也可在设置页面单独启用或禁用MCP工具,从而控制Agent可访问的工具范围。
工具调用确认
默认情况下,当Agent尝试调用MCP工具时,将显示确认请求。可通过工具名称旁的箭头展开详情,查看Agent调用工具时使用的参数。
自动运行
启用自动运行模式后,Agent将无需确认直接执行MCP工具(类似终端命令的执行方式)。详细了解Yolo模式及启用方式请参见此处。
工具响应
调用工具后,Cursor将在聊天界面显示响应结果。下图展示了示例工具的响应内容,以及展开的工具调用参数与响应详情视图。
图像注入
使用某些MCP服务器时,Cursor可能执行返回图像的工具(如网站截图或图表)。为确保聊天界面能正确显示并运用图像,需将服务器配置为返回正确格式的图像。
只需在工具响应中返回图像的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",
},
],
};
});