关于 Cursor Model Context Protocol (MCP) Example
这是一个面向 Cursor IDE 的 MCP 服务示例集合,适合学习和测试自定义工具与数据源接入。示例涵盖任务管理、文件浏览和天气查询,并附有客户端示例与连接说明。
主要功能
- 01提供任务管理 MCP 服务示例
- 02提供文件浏览与操作示例
- 03提供天气信息查询示例
- 04附带客户端测试示例与文档
- 05说明 SSE 和 Stdio 连接方式
适用场景
- 01学习在 Cursor 中接入 MCP 服务
- 02测试任务创建、完成和删除工具
- 03试用文件操作或天气查询工具
MCP 相关
仓库包含向 MCP 客户端提供任务、文件和天气相关工具的示例服务,并说明如何通过 SSE 或 Stdio 连接 Cursor。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Cursor 模型上下文协议(MCP)示例
此存储库包含模型上下文协议(MCP)服务的示例实现,可与 Cursor IDE 配合使用,通过自定义工具和数据源增强 AI 能力。
什么是模型上下文协议?
模型上下文协议(MCP)是一种开放协议,用于规范应用程序向大语言模型(LLM)提供上下文的方式。它允许你创建可供 Cursor 中的 AI 助手使用的自定义工具。
可以把 MCP 想象成 AI 应用的 USB-C 接口:
- 就像 USB-C 提供了一种连接设备与各种外围设备的标准方式,MCP 也提供了一种将 AI 模型连接到不同数据源和工具的标准方式
- 它使 AI 助手能够访问实时信息、执行专用功能,并在训练数据的基础上增强自身能力
项目结构
example-mcp/
├── mcp-servers/ # Different MCP server implementations
│ ├── task-manager/ # Task manager MCP server example
│ ├── file-explorer/ # File explorer MCP server example
│ └── weather-service/ # Weather service MCP server example
├── client-examples/ # Example code for testing MCP servers
├── docs/ # Additional documentation
└── README.md # This file
MCP 服务示例
此存储库包含多个 MCP 服务示例:
1. 任务管理器 MCP 服务
一个用于管理任务的简单 MCP 服务:
- 创建新任务
- 列出所有任务
- 将任务标记为已完成
- 删除任务
2. 文件浏览器 MCP 服务
一个支持浏览和操作文件的 MCP 服务:
- 列出目录中的文件
- 读取文件内容
- 创建新文件
- 删除文件
3. 天气服务 MCP 服务
一个提供天气信息的 MCP 服务:
- 获取某个位置的当前天气
- 获取某个位置的天气预报
- 获取历史天气数据
开始使用
前置条件
- Node.js(v14 或更高版本)
- Cursor IDE
设置 MCP 服务
-
进入其中一个服务目录:
cd example-mcp/mcp-servers/task-manager -
安装依赖:
npm install -
启动服务:
npm start
连接到 Cursor
要将 MCP 服务连接到 Cursor:
- 打开 Cursor IDE
- 前往 Settings(左下角的齿轮图标)
- 导航至“Features”部分
- 向下滚动到“MCP”
- 点击“Add New MCP Server”
- 为服务输入名称(例如,“Task Manager MCP”)
- 选择传输类型:
- SSE:输入 MCP 服务的 URL(例如,
http://localhost:3000) - Stdio:输入启动服务的命令(例如,
node /path/to/example-mcp/mcp-servers/task-manager/index.js)
- SSE:输入 MCP 服务的 URL(例如,
- 点击“Add”
在 Cursor 中使用 MCP 工具
连接 MCP 服务后,你可以在 Cursor 的 AI 功能中使用它:
-
打开 AI 聊天面板(Cmd+I 或 Ctrl+I)
-
让 AI 使用你的 MCP 工具:
Please create a new task titled "Implement user authentication" with the description "Add user login and registration functionality to the application." -
AI 将使用你的 MCP 服务创建任务,并返回结果
-
你也可以请求列出任务:
Show me all the current tasks in the task manager.
MCP 架构
模型上下文协议采用客户端-服务端架构:
- MCP 主机:希望通过 MCP 访问数据的程序,例如 Cursor IDE
- MCP 客户端:与服务保持连接的协议客户端
- MCP 服务:通过标准化模型上下文协议公开特定功能的轻量级程序
- 本地数据源:你的计算机中的文件、数据库和服务,MCP 服务可以安全地访问这些内容
- 远程服务:可通过互联网访问、且 MCP 服务可以连接的外部系统
传输方式
MCP 支持多种传输机制:
-
Stdio 传输:
- 使用标准输入/输出进行通信
- 适用于本地进程
-
带 SSE 的 HTTP 传输:
- 使用服务器发送事件传递从服务端到客户端的消息
- 使用 HTTP POST 传递从客户端到服务端的消息
所有传输方式均使用 JSON-RPC 2.0 交换消息。
创建你自己的 MCP 服务
要创建你自己的 MCP 服务:
-
为你的服务创建一个新目录
-
初始化 Node.js 项目:
npm init -y -
安装所需的依赖项:
npm install @modelcontextprotocol/server express -
创建一个 index.js 文件并编写服务实现
-
注册工具,并为其指定名称、描述和参数架构
-
为每个工具实现处理程序
-
设置 Express 服务并应用 MCP 中间件
请参阅此代码库中的示例服务,了解参考实现。
故障排除
如果你的 MCP 服务遇到问题:
- 检查服务日志,查看是否有错误
- 确认服务正在运行,且可通过指定的 URL 访问
- 如果连接状态没有更新,重启 Cursor
- 检查 Cursor 的日志,查看是否有连接错误(帮助 > 切换开发者工具)
资源
许可证
本项目采用 MIT 许可证,详情请参阅 LICENSE 文件。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。