今天,我们特别想跟大家聊聊 Cursor 代码编辑器 的 0.45.6 版本带来的 新黑科技 —— MCP (模型上下文协议) 集成功能!
MCP到底是什么?官方解释
MCP(模型上下文协议)是一种开放的协议,旨在统一应用程序与大型语言模型(LLMs)之间的上下文交互。可以把MCP想象成AI应用的USB-C接口,就像USB-C让你轻松连接各种设备一样,MCP也能让AI模型与不同的数据源和工具高效对接。
选择MCP的理由
MCP能帮助你在LLMs之上建立代理和复杂工作流。因为LLMs经常需要与其他数据和工具结合,而MCP则提供了:
1.1不断扩展的预构建集成列表:通过这些集成,您的LLM可以迅速连接到各种数据和工具,省去繁琐的过程。
1.2在LLM供应商之间灵活切换:由于MCP是开放标准,您可以随时更换LLM提供商,根本不需要大动干戈。
1.3保护数据的最佳实践:MCP提供了一系列最佳做法,帮助您在基础设施中安全地管理数据,确保敏感信息的妥善处理。
应用MCP后,您会发现开发和部署AI应用的效率大大提升,同时系统的可扩展性、安全性和灵活性也得到了保障。
MCP架构图解读

- MCP主机:这些是通过MCP访问数据的程序,比如Claude Desktop、cursor或其他AI工具
- MCP客户端:与服务器之间保持一对一连接的协议客户端
- MCP服务器:轻量级本地服务器程序,每个程序通过标准化的模型上下文协议公开特定功能,支持多个连接
- 本地数据源:通过MCP服务器安全访问的计算机文件、数据库和服务
- 远程服务:通过MCP服务器连接到互联网上可用的外部系统(例如,通过API)
我的理解
首先,MCP实际上就是一个协议,它规定了一些规则,主要目的是让大型语言模型(LLM)能够与外部数据源连接。那么,这样做的意义是什么呢?其实是为了扩展LLM的能力,当前大家普遍的共识是构建AI代理或自动化工作流程。
简单来说,MCP(模型上下文协议)就像一座桥梁,巧妙地将Cursor代码编辑器与强大的AI模型连接起来。通过MCP,Cursor不再只是一个简单的代码编辑工具,而是变成了一个智能AI助手,并且能够调用各种AI服务来辅助开发,举个例子:
- 智能信息搜索(Brave Search)
- 抓取网页内容(Fetch)
- 调用图像生成模型(Replicate, Flux)
- 你能进行更深入的思考和推理哦 (sequentialthinking)
用Cursor的方式,让开发变得更聪明
以Cursor为例,我在本地架设了三个MCP服务器,接下来给大家解释一下。看图就明白了。

Markdown2pdf:先把我和Cursor的讨论整理成Markdown,再转换成本地的PDF文件进行保存。
Sequentiaithinking:让大型模型的回答能够像DeepSeek一样,接入思维链模式。
Mcp-package-version:帮助我们精准分析当前项目依赖包的最新版本。

用户向大型语言模型提问时,如果它发现本地有可用的MCP服务器工具,就会询问你是否要执行这个工具。你点击同意后,完成执行后再把MCP工具输入的数据回传给大型语言模型。
简单来说,MCP就是在你使用Cursor时,允许大型模型调用你自己开发的工具,比如Markdown转PDF、抓取网页内容等等。
安装步骤
第一步:打开Cursor的设置。
第二步:找到Cursor设置 > 功能 > MCP。
轻松设置你的MCP服务器,简单几步搞定!

1.先点击“+ 添加新的MCP服务器”按钮

- 接下来,配置你的服务器

- 可以选择已经发布的npm包作为第二种执行运行的MCP服务器
- 如果是SSE服务器:需要输入SSE端点的URL
- 若是stdio服务器:则输入可执行的shell命令,并支持两种运行方式
- 给你的服务器起个名字,这个随便你来定
- 选择传输类型,看看是用stdio还是sse
- 输入相应的命令或URL即可:
用 Node.js 启动本地的 MCP 服务器
- 首先,你得准备一个 MCP 服务器的打包文件,然后用 Node.js 来运行它。
比如说,下面这个例子中,光标会自动识别服务器提供了哪些工具。

接下来,我们来写一个简单的字符串翻转 MCP 服务器。
安装步骤:
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、Prompts。不过目前在光标中主要支持的是 tools,所以我们这篇文章就聚焦于工具的写法。
想了解更详细的功能,可以去看看这个链接:
https://modelcontextprotocol.io/clients

// 初始化服务器,指定名称和版本
this.server = new Server({
name: "My App",
version: "1.0.0",
}, {
capabilities: {
tools: {
reverse_string: true,
},
},
});
工具的定义
定义工具的过程其实分为两步,你准备好了吗?
轻松定义你的工具和连接客户端
- 首先,让我们来看看怎么定义一个工具的清单。这包括工具的名字、描述和输入参数的格式,你准备好了吗?
接下来,我要和你分享一个字符串翻转的工具。
工具名称是:reverse_string。
它的功能是:将你输入的字符串进行反转。
至于输入参数,你需要提供一个包含text字段的对象。

- 现在,我们来编写工具的实际功能。
拦截从大模型来的输入,然后使用你自己想要的输入。

连接客户端(cursor)
MCP服务器需要通过传输层与客户端建立连接,而启动服务器的方法会根据你选择的传输方式有所不同。
目前,Cursor支持sse和command两种方式。
const transport = new StdioServerTransport();
server.connect(transport);
打包与部署
推荐使用的打包工具有:tsup或tsc。
因为我们最终要构建的是一个Node.js命令行工具,所以确保编译后的程序可以作为命令行工具使用是很重要的。
在文件的开头,记得添加必要的内容。
让你的Node.js工具更易用!
#!/usr/bin/env node
首先,构建的时候,如果想让生成的JavaScript文件变成可执行的,建议你安装一下shx这个npm包。安装完后,直接输入下面的命令就可以了:
shx chmod +x build/*.js
添加cursor
然后,把它添加到MCP server里,接着就可以和LLM聊天,尽情享受自己打造的大模型工具了!

局限性
1. 目前只支持composer模式。
2. 只有claude模型能够使用,其他大模型还不支持。
学习资料
官网地址:
https://modelcontextprotocol.io/introduction
Git地址:
https://github.com/modelcontextprotocol/typescript-sdk
MCP资源库:
https://mcphub.io/registry
原文链接:
https://mp.weixin.qq.com/s/L6noknpSp-ax2tFLKsIZkw

MCP功能的引入真是个好消息,让AI模型与各种数据源连接更加高效,提升开发效率的同时也增强了系统的灵活性和安全性,期待更多应用场景!
MCP的推出让Cursor的功能更加强大,能与不同工具无缝对接,真是提升开发效率的利器!期待未来更多的应用场景。
MCP作为统一协议,确实让大型语言模型与数据源之间的连接变得更加简单和高效,特别是对开发者来说,工作流的优化无疑是一个巨大的提升。
MCP的推出真是个重大进步,能有效扩展大型语言模型的能力,让开发者的工作变得更加高效。我相信这会带来更多创新的应用!
MCP功能的引入确实令人兴奋,能够让Cursor与不同AI服务高效连接,开发者的思维和工作方式将得到极大提升,期待更多应用案例!