一文讲懂【MCP+cursor】 附GitHub高star好用的MCP Tools和分享史诗级提升cursor的Rules_cursor 好用的mcp
这是一篇介绍MCP和实战使用MCP Tool详细步骤级指南,并且附GitHub上好用高star的MCP tool和cursor使用小技巧
在当今人工智能(AI)和机器学习(ML)飞速发展的时代,单一模型往往难以满足复杂场景下的多样化需求。无论是在自动驾驶、智能制造,还是多模态交互等地方,越来越多的系统需要多个模型协同工作,才能实现更高的智能水平和更强的适应能力。然而,不同模型之间的信息孤岛、上下文割裂和集成难题,始终是制约AI系统进一步发展的关键障碍。
为了解决这一痛点,Model Context Protocol(MCP) 应运而生。MCP 是一种专为多模型协作设计的新兴协议,旨在打破模型间的壁垒,实现信息的高效交换与上下文(Context)的无缝共享。通过标准化的上下文管理和通信机制,MCP 让多个模型能够在统一的环境下协同推理、动态调整,大幅提升了系统的互操作性和智能协作能力。
本文将系统介绍 MCP 的核心理念、工作原理、典型应用场景及其技术架构,帮助你全面理解这一推动 AI 生态进化的重要协议。
Model Context Protocol (MCP) 是一种新兴的协议,旨在促进不同的机器学习和人工智能模型之间的信息交换与上下文共享。它提供了一种机制,使得多个模型可以在共享的上下文环境中协同工作,增强模型间的互操作性,并实现更加高效的模型管理与调用。MCP 的目的是改善 AI 系统中多个模型的集成和协作,以支持更复杂的任务和工作流程。
1. MCP 的基本概念
MCP 是一种协议或接口,允许不同的 AI 模型通过共享和交换上下文信息来进行交互。它的核心思想是:
- 上下文共享:不同模型可以访问或修改共享的上下文,确保它们能在协作时保持一致的理解。
- 模型互操作性:MCP 使得多个模型在不依赖于具体实现的情况下进行协作,通过标准化的协议和接口简化了集成过程。
- 上下文感知:模型能够根据当前的上下文动态调整其行为和响应,从而提高任务处理的精度和效率。
2. MCP 的工作原理
MCP 的工作原理可以分为以下几个步骤:
- 上下文初始化:在开始交互之前,MCP 会创建一个共享的上下文对象,包含了不同模型所需的各种信息(例如,输入数据、状态信息、任务描述等)。
- 上下文更新:随着模型执行任务,它们可以更新上下文中的数据(例如,模型的预测结果、决策状态、错误信息等),并与其他模型共享这些信息。
- 模型调用:不同的模型可以根据上下文的信息作出相应的行为,进行推理、计算或更新。这使得多个模型可以并行工作,或者在多步骤的任务中依赖彼此的输出。
- 协作与反馈:通过共享上下文,模型之间可以相互影响,从而提高任务的整体效率和准确性。例如,一个模型可能在处理数据时将中间结果传递给另一个模型,后者则基于这些数据进行进一步的处理。
3. MCP 的应用场景
MCP 在多个领域具有广泛的应用前景,尤其是在那些需要多个 AI 模型协同工作的复杂任务中。以下是一些常见的应用场景:
3.1 多模态 AI 系统
- 在多模态学习中,AI 系统通常需要融合来自多个不同来源的数据(如图像、文本、音频等)。MCP 使得这些不同的模型能够共享一个统一的上下文,从而更好地处理这些异构数据。
- 例如,在自动驾驶系统中,MCP 可以帮助融合来自不同传感器(如摄像头、激光雷达和雷达)的数据,让系统能够更准确地理解环境。
3.2 AI 编排与决策支持
- 在复杂的决策支持系统中,MCP 可以使多个模型协同工作。例如,在医疗诊断系统中,MCP 可以使不同的诊断模型共享患者的病历信息、实验结果和诊断历史,从而提高诊断的准确性。
- 通过上下文共享,系统能够在不同模型之间传递信息,并基于多个模型的输出做出最终的决策。
3.3 增强型用户体验
- 在语音助手或聊天机器人中,MCP 可以用于多个任务之间的上下文共享和协作。例如,在一个多轮对话中,MCP 可以确保不同的任务(如天气查询、日程安排、购物建议)之间的信息流畅传递,从而使得用户体验更加连贯和自然。
4. MCP 的优势
- 高效的模型协作:MCP 通过共享上下文简化了模型之间的信息传递和集成过程,使得不同的模型可以更容易地协作,提高整体效率。
- 可扩展性:MCP 提供了一种标准化的方式来管理和调用多个 AI 模型,因此它能够在不同的应用场景中扩展,支持多种类型的模型集成。
- 动态调整:模型能够根据上下文信息动态调整其行为,使得它们能够更加灵活地适应不同的任务和需求。
5. MCP 的技术架构
MCP 的架构通常包含以下几个核心部分:
- 上下文管理器:负责管理共享上下文,确保不同模型之间可以访问和修改上下文信息。它通常提供 API 接口来允许模型读取、更新和通知上下文的变化。
- 模型接口:不同模型通常通过统一的接口与上下文管理器进行交互。这些接口可以是 RESTful API、gRPC 或其他协议,允许模型从上下文中获取信息或更新上下文。
- 通信机制:模型和上下文管理器之间的通信可能采用多种方式,例如消息队列、WebSocket 或分布式事件流等。通信机制确保了模型之间的信息同步。
6. 相关技术与工具
- 容器化与微服务:MCP 经常与容器化技术(如 Docker)和微服务架构结合使用,这使得各个模型可以独立部署、管理和更新,同时通过 MCP 协议进行协调。
- 分布式计算框架:在大规模应用中,MCP 可以与分布式计算框架(如 Kubernetes、Apache Kafka、Apache Spark)集成,支持高效的数据流和任务调度。
- 强化学习与自适应系统:MCP 也可以与强化学习等自适应学习算法结合使用,帮助模型在不断变化的环境中学习和优化。
7. 挑战与发展前景
尽管 MCP 提供了很多优势,但也面临一些挑战:
- 标准化问题:目前,MCP 还没有统一的标准,不同实现可能存在差异,因此需要一定的兼容性工作。
- 性能优化:由于涉及多个模型的协作和信息传递,MCP 系统的性能可能受到一定影响。优化上下文管理和通信机制是一个重要的研究方向。
- 安全性和隐私保护:在一些敏感领域(如医疗、金融),如何确保上下文数据的安全性和隐私性是一个需要解决的问题。
8. 未来的可能发展方向
- 自动化模型协作:未来,MCP 有可能通过自动化和智能化的方式,使得模型之间的协作更加高效和自主,减少人工干预。
- 多模态融合的突破:随着多模态学习的发展,MCP 可能会在跨领域的多模态模型融合中发挥重要作用,帮助实现更加智能和全面的系统。
- 边缘计算与云计算的融合:在边缘设备和云端的联合应用中,MCP 有望实现更高效的模型协作,支持实时响应和分布式决策。
MCP (Model Context Protocol) 和 OpenAI 的 Function Calling 都涉及到在多个模型和系统之间共享和调用信息,但它们的目的和实现方式有所不同。以下是这两者的区别,整理成一个对比表格,帮助清晰了解它们的核心差异:
详细解释:
- MCP (Model Context Protocol):
- 上下文共享与协作:MCP 是为了让多个模型在协作时共享同一个上下文信息,确保它们能够共同工作、协调任务。它的设计适用于复杂的、分布式的系统,尤其是多模型、多任务协作的场景。
- 应用场景:例如,在自动驾驶、智能制造等需要多个传感器和处理系统共享信息的场景中,MCP 可以帮助不同模型(如感知模型、决策模型、控制模型等)共同协作。
- OpenAI 的 Function Calling:
- 简洁的函数调用:OpenAI 的 Function Calling 允许用户通过定义和调用特定的功能接口来让模型执行特定任务。这种模式适用于需要在程序中调用某些功能(如文本生成、问题回答等)的场景。
- 应用场景:例如,开发者通过 API 调用 OpenAI 模型生成文本或解答问题,或者进行一些计算。它不涉及多个模型之间的协作,而是针对一个模型的特定功能调用。
如果你正在寻找与 Model Context Protocol (MCP) 相关的插件集合和资源,以下是一些值得关注的平台和工具:
🔧 MCP 插件集合与资源平台
- MCP.so
- 这是目前最大的 MCP 服务器集合平台,收录了超过 3,000 个 MCP 服务器,涵盖各类 AI 工具和服务。
- 支持直接访问 GitHub 仓库,用户可以提交自己的 MCP 服务器。
- 提供分类浏览、标签筛选和社区讨论等功能。
- 适合开发者和 AI 工具爱好者查找和分享 MCP 服务器。 (huggingface.co, mcp.so)
- Awesome MCP Servers
- 一个精心整理的 MCP 服务器目录,按功能类别组织,提供清晰的 GitHub 仓库链接。
- 适合快速查找特定功能的 MCP 服务器,如文件系统操作、数据库交互和 Web 服务等。 (code.visualstudio.com)
- PulseMCP
- 除了收录 MCP 服务器外,还索引了 MCP 客户端,方便用户了解哪些 AI 应用支持 MCP。
- 每周更新 MCP 相关的新闻和动态,保持内容的新鲜度。 (huggingface.co)
- GitHub - modelcontextprotocol/servers
- MCP 的官方 GitHub 仓库,包含官方和社区贡献的服务器实现。
- 提供多种编程语言的 SDK 支持,如 TypeScript、Python、Java、C# 等。
- 适合开发者参考和贡献自己的 MCP 服务器实现。 (code.visualstudio.com, github.com)
- Cline MCP Marketplace
- 集成在 VS Code 中的 MCP 市场,用户可以一键安装和管理 MCP 服务器。
- 特别适用于开发者在 VS Code 中使用 MCP,无需手动配置。 (code.visualstudio.com)
🛠️ MCP 插件开发与集成工具
- Rush MCP 插件
- 适用于使用 Rush monorepo 的项目,提供了实现自定义 MCP 插件的指南。
- 支持与内部系统的集成,如团队 Wiki、任务管理和语义搜索等。 (rushjs.io)
- JetBrains MCP 插件
- 将 MCP 服务器集成到 IntelliJ 系列 IDE 中,实现 AI 模型与开发环境的无缝通信。
- 适用于 JetBrains 用户希望在开发过程中利用 MCP 功能。 (github.com, plugins.jetbrains.com)
- VS Code MCP 支持
- VS Code 从 1.99 版本开始支持 MCP,用户可以在工作区或用户设置中配置 MCP 服务器。
- 支持多种传输协议,如 STDIO、SSE 和 Streamable HTTP。 (code.visualstudio.com, github.com)
✅ 推荐的 MCP 资源平台
根据之前提到的 MCP (Model Context Protocol),假设你正在安装的是一个基于该协议的包或工具(例如,@upstash/context7-mcp
)。以下是一个安装 MCP 相关工具的步骤教程。这个教程假设你希望通过 Node.js 环境来安装和使用 MCP。
安装 MCP 步骤教程
1. 安装 Node.js 和 npm
-
首先,确保你已经安装了 Node.js 和 npm(Node 包管理器)。如果没有安装,可以按照以下步骤进行安装:
-
前往 Node.js 官方网站 下载并安装最新的 LTS 版本。
-
安装完成后,打开命令行终端,运行以下命令以检查是否成功安装:
node -vnpm -v
-
这些命令会显示安装的版本号,确保 Node.js 和 npm 正常工作。
-
2. 初始化你的 Node.js 项目
-
创建一个新的项目文件夹并进入该文件夹:
mkdir my-mcp-projectcd my-mcp-project
-
初始化一个新的 npm 项目并生成
package.json
文件:npm init -y
这个命令会创建一个包含默认设置的
package.json
文件。
3. 安装 MCP 相关依赖
-
假设你使用的是
@upstash/context7-mcp
,你可以使用npx
或npm
来安装和运行它:-
使用
npx
直接运行:npx -y @upstash/context7-mcp@latest
-
或者使用
npm
安装并在项目中使用:npm install @upstash/context7-mcp
-
4. 编写代码以使用 MCP
-
在项目文件夹中创建一个新的 JavaScript 文件(例如
app.js
),并编写你要使用 MCP 的代码。这里是一个简单的示例,演示如何使用 MCP 来管理上下文:const { Context7 } = require(\'@upstash/context7-mcp\');// 创建一个新的上下文const context = new Context7();// 向上下文中添加数据context.set(\'key\', \'value\');// 获取上下文中的数据const value = context.get(\'key\');console.log(\'The value from context:\', value);// 清除上下文中的数据context.delete(\'key\');
-
这个示例演示了如何创建一个上下文实例、向其中添加数据、读取数据,并最终删除数据。
5. 运行代码
-
在命令行中运行以下命令来启动你的项目:
node app.js
-
如果一切正常,你应该能够看到输出:
The value from context: value
6. 调试与优化
- 如果你遇到任何问题,可以通过查看
npm
的输出日志来进行调试。 - 你还可以检查是否正确安装了依赖,或者查看
@upstash/context7-mcp
的文档,了解更多功能和使用方法。
7. 扩展和应用
- 根据你项目的需求,你可以继续扩展 MCP 的功能,集成更多的模型和任务,使用上下文共享机制来优化多个模型之间的协作。
- 你可以与其他库和框架集成,如 Express.js、Kubernetes 或 Docker 等,来构建更为复杂的分布式系统。
相关资源
- @upstash/context7-mcp 官方文档(如果有)可以提供更详细的配置和高级使用方法。
- Node.js 文档:了解如何更好地管理和调试 Node.js 项目 Node.js 官方文档.
- npm 文档:获取更多有关 npm 安装和管理依赖的资源 npm 官方文档.
cursor中使用MCP
接下里附cursor编程软件里使用MCP教程
这里使用context7作为示例
复制下面这行代码
{ \"mcpServers\": { \"context7\": { \"command\": \"npx\", \"args\": [ \"-y\", \"@upstash/context7-mcp@latest\" ] } }}
实测如果不成功可以试试删去“@latest”
打开cursor
打开setting设置,选择Tool
添加MCP Server 在mcp.json中添加上面复制的代码
成功之后MCP工具会亮绿灯就大功告成啦
好用且GitHub上高star的MCP tool
这里附一些我最近常用感觉好用的MCP tool 可以先收藏着哦
Context7
其核心作用如下:
- 为各种 AI 编程助手(如 Cursor、Claude Code、VS Code、Windsurf、Zed 等)实时提供最新的代码文档与上下文。
只要配置 Context7 MCP,AI 助手就能即时访问你的项目最新结构、文档和依赖,提升 AI 自动补全、理解代码和生成文档、代码解释等能力。 - 支持多种接入方式,适用各种本地或远程开发环境。
你可以通过 npx、Docker、本地路径等方式运行 MCP 服务器,并通过不同 IDE 插件或配置文件接入 Context7。 - 极大提升 AI 生产力和上下文感知能力。
让 AI 可以“看到”你的最新代码和文档变更,理解当前项目架构和依赖,不再仅靠有限的上下文补全。
官方中文简介:
Context7 MCP - 为所有 Prompt 获取最新文档
适用于任何提示场景,即时将你的代码结构、文档和依赖暴露给 AI 助理。
sequential-thinking
sequentialthinking
的主要作用是实现一种“顺序思维”(Sequential Thinking)的 MCP(Model Context Protocol)服务器工具,其核心目标是支持动态、反思性、可修正的多步推理和问题解决。根据官方文档和源码说明,主要作用包括:
- 分步解决复杂问题:将复杂或模糊的问题拆解为多个可管理的步骤,每一步都记录独立的“思考”(thought),便于逐步推进和回顾。
- 可修正和分支:允许在推理过程中对已有思考进行修正(revision),或从某一步分支出不同的思考路径(branch),支持探索多种解决方案。
- 动态调整思考过程:可以动态调整预估的总思考步数(totalThoughts),并根据需要插入新的思考步骤,无需一开始就规划所有步骤。
- 保持上下文和过滤噪音:能够在多步推理中保持上下文,忽略无关信息,保证每一步的有效性和针对性。
- 适用场景:
- 复杂问题拆解
- 需要规划和可反复修改的任务
- 需要随时校正分析方向的问题
- 任务步骤和目标不明晰或需要探索的场景
- 技术实现:
- 提供了
sequential_thinking
工具,输入包括当前思考内容、是否需要下一步、现在是第几步、总步数、是否为修正、分支信息等。 - 支持分步“链式思考”(Chain of Thought),并最终输出一个理想且正确的解答。
- 提供了
memory
memory(src/memory)模块的主要作用如下:
- 知识图谱持久化记忆服务器(Knowledge Graph Memory Server)
- 该模块实现了一个本地知识图谱存储,让模型(如Claude)能够跨会话记住用户的相关信息,实现“持久记忆”。
- 它将信息以“实体(Entity)”、“关系(Relation)”和“观察(Observation)”的知识图谱结构进行存储。
- 核心概念
- 实体(Entity):知识图谱中的节点,比如“人”、“组织”、“事件”等。例如:
{\"name\": \"John_Smith\", \"entityType\": \"person\", \"observations\": [\"Speaks fluent Spanish\"]}
- 关系(Relation):描述实体之间的关系。例如:
{\"from\": \"John_Smith\", \"to\": \"Anthropic\", \"relationType\": \"works_at\"}
- 观察(Observation):挂在实体上的原子事实描述。例如:
\"Speaks fluent Spanish\"
、\"Graduated in 2019\"
- 实体(Entity):知识图谱中的节点,比如“人”、“组织”、“事件”等。例如:
- 数据持久化方式
- 记忆信息被保存为本地 JSON 文件(如 memory.json),默认路径可通过环境变量
MEMORY_FILE_PATH
配置。 - 文件内容逐行保存实体和关系,支持读取、写入和增量更新。
- 记忆信息被保存为本地 JSON 文件(如 memory.json),默认路径可通过环境变量
- 主要用途场景
- 在与用户对话、交互过程中自动记录身份、偏好、目标、关系等信息,并在后续会话中检索和利用这些信息,实现“个性化对话”或“长期记忆”。
- 可以作为 Claude 等大模型的“外部记忆体”插件,与 VS Code、Claude Desktop 等工具集成。
- 使用方式
- 支持 Docker、NPX 等多种方式部署和配置。
- 可通过环境变量或配置文件指定记忆文件存储路径,便于定制和迁移。
filesystem
filesystem
目录在 modelcontextprotocol/servers
仓库中,主要包含与文件系统相关的代码和工具。从其包含的文件来看,这个模块的作用大致如下:
- 核心实现:
index.ts
体积较大,应该是文件系统接口的主要实现代码,负责处理文件的读写、管理、路径等底层逻辑。 - 工具与校验:
path-utils.ts
和path-validation.ts
分别实现了路径处理和校验功能,保证对文件系统操作时路径的安全和规范性。 - 配置与测试:包含
jest.config.cjs
、tsconfig.json
和package.json
,支持模块的独立测试与构建,说明此目录是一个相对独立的功能单元。 - 测试用例:
__tests__
目录,存放自动化测试代码,保障该文件系统模块的正确性。 - Dockerfile:支持以容器方式运行,方便集成与部署。
{ \"mcpServers\": { \"context7\": { \"command\": \"npx\", \"args\": [\"-y\", \"@upstash/context7-mcp\"] }, \"sequential-thinking\": { \"command\": \"npx\", \"args\": [ \"-y\", \"@modelcontextprotocol/server-sequential-thinking\" ] }, \"memory\": { \"command\": \"npx\", \"args\": [ \"-y\", \"@modelcontextprotocol/server-memory\" ], \"env\": { \"MEMORY_FILE_PATH\": \"E:\\\\memory.json\" } }, \"filesystem\": { \"command\": \"npx\", \"args\": [ \"-y\", \"@modelcontextprotocol/server-filesystem\", \"C:\\\\Users\\\\59242\\\\Desktop\", \"E:\\\\PycharmProjects\" ] }, }}
如果要继续添加其他的MCP只需继续往mcpServers的json中添加即可
让cursor更好用的rules
最后的最后 附加在cursor中添加user rules 可以有效防止AI乱改你的代码 添加和项目无关冗余的功能 生产“屎山代码” 让AI编程更好在生产中发挥作用
打开setting设置,选择Rules 在user rules中添加
你是一个在构建生产级(production-grade)AI代理、自动化系统和工作流系统方面有深厚经验的高级工程师。你执行的每一项任务都必须毫无例外地遵循此流程:首先明确范围(Clarify Scope First)在开始之前,明确你的任务范围,并且精确规划如何着手处理该任务。确认你对目标的理解。定位精确的代码插入点(Locate Exact Code Insertion Point)识别出变更将存在的精确文件和代码行。绝不要在不相关的文件中进行大范围的编辑。最小化,受限的变更(Minimal, Contained Changes)只进行必要的变更,避免做过多的修改。如果需要涉及多个文件,确保为每个文件提供清晰的引入原因。彻底复查(Double Check Everything)审查其正确性,确保遵循情况及副作用。避免引入回归,并确保你的代码与现有代码库的模式保持一致,避免影响下游的系统或流程。清晰地交付(Deliver Clearly)总结变更内容,并明确变更的具体实施。列出每一个被修改的文件以及每个文件中的具体变更。避免不必要的推测性变更不要进行不必要的推测性变更,遵循高效且精确的开发路径,避免对代码进行不必要的重构。
如果以上的MCP的知识和Tool对你有帮助,不妨点个一键三连先收藏着说不定以后会用到的。感谢您的阅读与观看!