网站首页 > 博客文章 正文
今天,我要为大家隆重介绍 Cursor 代码编辑器 的 0.45.6 版本带来的 全新黑科技 —— MCP (Model Context Protocol) 功能集成!
什么是MCP?
官方说明
MCP(模型上下文协议)是一种开放协议,它标准化了应用程序如何为大型语言模型(LLMs)提供上下文。可以将MCP视为AI应用程序的USB-C端口。正如USB-C提供了一种标准化的方式将您的设备连接到各种外设和配件一样,MCP为将AI模型连接到不同的数据源和工具提供了一种标准化的方式。
为什么选择MCP?
MCP帮助您在LLMs之上构建代理和复杂的工作流程。LLMs经常需要与数据和工具集成,而MCP提供了:
- 不断增长的预构建集成列表:您的LLM可以直接插入这些集成,从而快速实现与各种数据和工具的连接。
- 在LLM提供商和供应商之间切换的灵活性:由于MCP是开放标准,您可以根据需要轻松更换LLM提供商,而无需对整个系统进行大规模修改。
- 保护您的数据的最佳实践:MCP提供了一系列最佳实践,帮助您在基础设施内安全地保护数据,确保敏感信息得到妥善处理。
通过使用MCP,您可以更高效地开发和部署AI应用,同时确保系统的可扩展性、安全性和灵活性。
MCP架构图
- MCP Hosts: 希望通过 MCP 访问数据的 Claude Desktop、cursor 或 AI 工具等程序
- MCP Clients: 与服务器保持 1:1 连接的协议客户端
- MCP Servers: 轻量级本地的server 程序,每个程序都通过标准化的 Model Context Protocol 公开特定功能, 支持多个
- Local Data Sources: 通过MCP 服务器可以安全访问的计算机文件、数据库和服务
- Remote Services: 通过MCP 服务器可以连接到的 Internet 上可用的外部系统(例如,通过 API)
我的理解
首先 MCP 是一个协议,定义了一种规范/规则,目的是让 LLM 和 外部 Data 源连接起来 。(连起来的目的是干啥呢,是为了扩展 LLM 等能力,就现阶段共识就是构建 AI Agent 或者自动化工作流。)
简单来说,MCP (模型上下文协议) 就像一座桥梁,它巧妙地连接了 Cursor 代码编辑器与强大的 AI 模型。 通过 MCP,Cursor 不再只是一个代码编辑工具,它变身成为一个 智能的 AI 助手,并 调用各种 AI 服务来辅助开发,例如:
- 智能搜索信息 (Brave Search)
- 抓取网页内容 (Fetch)
- 调用图像生成模型 (Replicate, Flux)
- 甚至进行更深度的思考和推理 (sequentialthinking)
这里以cursor 为例子,以我本地搭建的3个MCPserver 去做解释。如图
Markdown2pdf: 将我和cursor的讨论整理成markdown,然后再转成本地的pdf格式保存。
Sequentiaithinking: 让大模型的回答像deepseek一样,接入思维链模式。
Mcp-package-version: 让LLM可以帮我们准确的分析出当前项目依赖包的最新版本
用户向LLM进行提问,LLM处理发现有本地可执行的mcp server 工具可以执行, 然后询问你是否执行本地的 mcp tool。 你点击接受, 执行完之后,在将MCP tool 输入的数据返回给LLM。
一句话总结: MCP 就是你在使用cursor的过程中,允许大模型调用你自己开发的工具包(markdown转pdf、抓取网页内容...)
安装步骤
- 打开Cursor设置
- 导航到Cursor设置 > 功能 > MCP
- 点击“+ 添加新的MCP服务器”按钮
- 配置服务器
- 第二种可以执行运行 已经发布成npm包的MCP server
- 对于SSE服务器:SSE端点的URL
- 对于stdio服务器: 可执行的shell命令, 支持两种方式运行
- 名称:给您的服务器起个昵称,这是可以随意取
- 类型:选择传输类型(stdio或sse)
- 命令/URL:输入以下内容:
- 用node 运行本地打包的MCP server
比如下面这个, cursor 会自动扫描 server提供哪些tools
写一个字符串翻转的MCP server
安装
npm install @modelcontextprotocol/sdk
定义Mcp服务器
McpServer是您与MCP协议的核心接口。它处理连接管理、协议合规性和消息路由。
import { McpServer, ResourceTemplate } from "@modelcontextprotocol/sdk/server/mcp.js";
const server = new McpServer({name: "My App",version: "1.0.0"});
定义MCP服务器提供的能力
MCP 支持 Resources、tools、Promots功能 但是cusor中目前支持tools, 所以本篇文章也只演示tools的写法
详细能力可以参考https://modelcontextprotocol.io/clients
// 初始化服务器,设置名称和版本
this.server = new Server(
{
name: "My App",
version: "1.0.0",
},
{
capabilities: {
tools: {
reverse_string: true,
},
},
}
);
工具定义
工具定义分为2步
- 定义了一个可用工具列表, 定义工具名称、工具描述、以及输入参数的格式。
下面我定义了一个字符串翻转的工具
工具名称:reverse_string
工具描述:将输入的字符串反转
输入参数格式:需要一个包含text字段的对象
this.server.setRequestHandler(ListToolsRequestSchema, async () => ({
tools: [
{
name: "reverse_string",
description: "将输入的字符串反转",
inputSchema: {
type: "object",
properties: {
text: {
type: "string",
description: "需要反转的文本",
},
},
required: ["text"],
},
},
],
}));
- 工具的实际功能编写
拦截大模型的输入, 然后走自己实际的输入。
// 处理工具调用请求
this.server.setRequestHandler(CallToolRequestSchema, async (request) => {
if (request.params.name !== "reverse_string") {
thrownew McpError(
ErrorCode.MethodNotFound,
`未知工具: ${request.params.name}`
);
}
const { text } = request.params.arguments as { text: string };
const reversedText = text.split("").reverse().join("");
return {
content: [
{
type: "text",
text: `反转后的文本: ${reversedText}`,
},
],
};
});
连接客户端(cursor)
MCP服务器需要连接到传输层以与客户端进行通信。启动服务器的方式取决于选择的传输方式:
Cursor 目前支持 sse 和 command 两种方式
const transport = new StdioServerTransport();
server.connect(transport);
打包部署
打包工具推荐: tsup 或者 tsc 进行打包
因为我们最终构建的是 Node.js CLI ,为了确保编译后的程序可以作为命令行工具使用。
在文件开头需要加上
#!/usr/bin/env node
同时在构建的时候为了使编译后的 JavaScript 文件变成可执行文件 可以安装一下shx npm 包, 然后执行下面这个命令
shx chmod +x build/*.js
添加cursor
添加到MCP server, 然后再composer 和LLM聊天就可以愉快的使用自己编写的大模型工具了
局限性
- 只支持composer 模式
- 只有claude 模型才支持, 其他大模型暂不支持
学习资料
官网地址:https://modelcontextprotocol.io/introduction
Git 地址: https://github.com/modelcontextprotocol/typescript-sdk
MCP资源库: https://mcphub.io/registry
DeepSeek资料下载方式
关注后私信发送:DeepSeek,即可领取完整版资料
本文,完。觉得本篇文章不错的,记得随手点个赞、收藏和转发三连,大家感兴趣的可以关注下,后续我再研究点新东西分享给大家~
猜你喜欢
- 2025-06-15 基于Fis3和Idtc的头条前端开发套件安装及使用向导
- 2025-06-15 全新编译器,微软发布TypeScript 1.1 CTP
- 2025-06-15 打造属于自己的一款命令行 cli 脚手架工具
- 2025-06-15 文档代码化:重塑软件开发的文档系统
- 2025-06-15 当今最流行的Node.js应用开发框架简介
- 2025-06-15 Cursor + 12306 MCP,打造AI智能选票系统,超酷的!
- 2025-06-15 Vue「打包发布」(vue如何打包发布)
- 2025-06-15 Web Components实践:如何搭建一个框架无关的AI组件库
- 2025-06-15 必看!Cursor 新功能 MCP,解锁 AI 编程超强外挂
- 2025-06-15 微软TypeScript Native预览版发布,带来10倍以上编译性能提升
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)