MCP(模型上下文协议)是2025年的最新潮流。
这使得工作流程更容易扩展,并打开了许多强大的实际应用。
今天我们将学习如何将Cursor与100多个不同的MCP服务器连接,并在最后展示一些酷炫的例子。
咱们就干吧。
或
———
或
……
哪些内容被涵盖?
简单来说,咱们详细聊一聊这些话题,
- 什么是MCP协议?
- 一步一步地指导如何将Cursor连接到100多个完全托管的内置认证的MCP服务器。
- 带有例子的实际应用场景。
我将会使用 Composio 的 MCP 服务器,因为它自带身份验证功能,并且是完全管理的服务器。
1. 什么是MCP(模型上下文协议)?
模型上下文协议(MCP)是一个新的开放协议,它标准了应用程序如何向大型语言模型(LLM)提供上下文和工具。
将其视为一种通用的AI连接器。MCP是Cursor的一个插件系统,它运作着,让你通过连接各种数据源和工具来增强Agent的功能。
(Minecraft服务器)
感谢Greg Isenburg在YouTube上的视频分享
MCP 帮助你基于大规模语言模型构建智能代理和复杂的流程。
例如,一个用于 Obsidian 的 MCP 服务器(例如用于 Obsidian 的)可以帮助 AI 助手搜索和阅读你 Obsidian 中的笔记。
您的AI代理现在可以做以下事情。
→ 使用 Gmail 发送电子邮件
→ 在 Linear 中添加任务
→ 在 Notion 中查找文档
→ 在 Slack 中发送消息
→ 在 Salesforce 中更新数据
同时,你可以自然地和它聊天。
想一想这对生产力意味着什么。过去需要在5个以上应用之间频繁切换的任务,现在可以在与你的代理的一次对话中搞定。
这是一个光标的图片 (This is an image of a cursor). 看这个光标的图片 (Take a look at this cursor image).
从根本上说,MCP 采用客户端-服务器架构,一个主机程序可以连接到多个服务器。
[]
有一个非常有趣的博客,分享了MCP的架构、生命周期、协议和缺点,还包括它背后的故事。
如果你想找一个完美的视频,并且想知道MCP为何重要,那就来看看吧!
MCP 服务器没有的
很多人都搞不清楚,咱们来说明一下。
❌ 无法替换APIs
- 请注意,MCP使用的是一个标准化接口,无法替代特定API的具体功能。
创建并不复杂——开发者可以用简单的协议来创建这样的东西。网上有很多模板、视频和其他相关资源。
这不是一个直接的数据库——MCP服务器不直接存储数据,只是作为一个中介。
不仅如此,你也可以在本地运行它。
2. 如何将 Cursor 连接到 100 多个带有内置 Auth 的完全托管 MCP 服务器
在这一部分,我们将看看如何把Cursor连接到MCP服务器,这样更符合中文的习惯表达。
如果你想要自己试试看如何在 Cursor 中添加并使用自己的 MCP 服务器,可以去看看[官方文档]。
第一步:准备工作。
安装 Node.js 并确保系统中有 npx
。
步骤2:在 Cursor 中开启 MCP 服务器:
你可以通过按下 Ctrl + Shift + P
打开命令面板(Palette)来搜索光标设置。
侧边栏有一个MCP选项供你找到。
步骤三:使用预先设定的 MCP 服务器。
我们也可以从零开始创建一个,不过为了简单起见,我们就用那个预定义的吧。
我们将使用Composio作为服务器,因为它们自带认证功能。您可以在mcp.composio.dev找到相关信息。它兼容Claude和Cursor作为MCP主机。
⚡ 内置身份验证支持 OAuth、API 密钥、JWT(JSON Web 令牌)和 Basic Auth。这意味着你无需自己搭建登录系统。
⚡ 完全托管的服务器简化了复杂设置,使其变得不再必要,使得将 AI 代理轻松集成到像 Gmail、Slack、Notion、Linear 这样的工具中变得轻松简单。
⚡ 更高的工具调用准确性让AI代理能更流畅地与集成的应用互动。
这也意味着更少的停机时间和维护问题。你可以在这里阅读更多:composio.dev/mcp
你可以轻松地与多个有用的MCP服务器整合,无需编写任何代码即可。
每个选项旁边你都会看到总活跃用户数和当前版本、最近更新的时间点以及所有可用的操作选项。
您还可以选择Claude(MacOS)、Windsurf(MacOS)、TypeScript和Python这些集成工具。
选择Composio的几个原因,
⚡ 全托管服务器,自带身份验证功能。
⚡ 支持超过250个工具,包括Slack、Notion、Gmail、Linear和Salesforce等。
⚡ 提供超过 20,000 个预构建的 API 功能,帮助您无需编码即可快速集成。
⚡ 根据您的需要,可以本地或远程操作,取决于您的配置需求。
⚡ 它兼容AI代理,这意味着它可以连接AI代理到工具,在单个对话中完成这些任务,如发送邮件、创建任务或管理工单。
如果你有兴趣从零开始创建作品。这里是如何做的步骤(,TypeScript SDK)。
注:在括号前添加了中文的逗号,符合中文标点习惯,但注意到原文括号前没有逗号,此处逗号应保留英文标点格式,所以最终应调整为:如果你有兴趣从零开始创建作品。这里是如何做的步骤(TypeScript SDK)。
您可以使用这个命令来安装SDK包。
运行以下命令来安装 @modelcontextprotocol/sdk 包:
npm install @modelcontextprotocol/sdk
进入全屏模式,退出全屏
这是你可以创建一个简单的MCP服务器,提供一个计算器工具和一些数据的方法。
import { McpServer, ResourceTemplate } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";
// 创建一个MCP服务器
const server = new McpServer({
name: "Demo",
version: "1.0.0"
});
// 添加一个加法器
server.tool("add",
{ a: z.number(), b: z.number() },
async ({ a, b }) => ({
content: [{ type: "text", text: String(a + b) }]
})
);
// 添加一个动态问候资源
server.resource(
"greeting",
new ResourceTemplate("问候://{name}", { list: undefined }),
async (uri, { name }) => ({
contents: [{
uri: uri.href,
text: `你好,${name}!`
}]
})
);
// 开始通过stdin接收消息,并通过stdout发送消息
const transport = new StdioServerTransport();
await server.connect(transport);
进入全屏 退出全屏
以下是一些帮助你理解上面代码的关键概念:
⚡ Server
- McpServer 是与 MCP 协议相关的核心接口,它负责连接管理、消息路由和协议符合性。
⚡ Resources
- 这就是如何向大模型提供数据的方式。它们类似于 REST API 中的 GET 请求。
⚡工具
- 工具让LLM通过你的服务器执行任务。与资源不同之处在于,工具需执行计算并可能产生副作用。
⚡ 提示词
- Prompt 是可以重复使用的模板,帮助 LLM 更轻松地与你的服务器互动。
你可以通过以下方式启动你的服务器:使用 stdio
(用于命令行工具或直接接口)和 HTTP with SSE
(用于远程服务器)。
在MCP官网上,你可以找到TypeScript的TypeScript SDK
,Python的Python SDK
,Java的Java SDK
和Kotlin的Kotlin SDK
。访问仓库后,你可以在README文件中找到所有相关的信息。
如果你在找一个好的博客文章,可以看看MCP 服务器:一步步从零开始搭建的指南。
第 4 步:集成 MCP 服务器端。
现在我们要开始把自己和鼠标光标融为一体了。目前,我们将使用Hackernews的MCP服务器。
如果你不知道,Hacker News 是由 Y Combinator 创建的一个专注于技术的新闻聚合平台,包含用户提交的故事和相关讨论,内容涉及创业、编程以及炫酷项目。
就在前几天,Cursor就改了这种方法。我来讲讲新的和老的方法以免大家混淆。
新版本啦。
我们需要生成终端指令。请查看页面这个链接以找到您的指令。
它大概就是这样的。
npx @composio/mcp@latest setup: "https://mcp.composio.dev/hackernews/xyzxyz..." --client cursor # 设置客户端为 cursor
切换到全屏 / 退出全屏
您可以根据实际情况将此配置项放在两个位置中的一个。
1) 如果你的项目需要特定工具,你可以在这个项目的目录下创建一个 .cursor/mcp.json
文件。这样你就可以定义仅在这个项目中使用的 MCP 服务器。
2) 在你的家目录下创建一个 \~/.cursor/mcp.json
文件,这会让 MCP 服务在所有你的 Cursor 工作空间中都能使用。
它将显示必要的步骤和绿色的标志,这表示它已经成功地整合。
JSON数据文件看起来像这样:SSE,Python CLI,Node.js CLI。
// 该示例演示了使用SSE格式的MCP服务器
// 用户应手动设置并运行服务器
// 这可以联网,允许其他人访问
{
"mcpServers": {
"server-name": {
"url": "http://localhost:3000/sse",
"env": {
"API_KEY": "value"
}
}
}
}
// 如果您使用的是Python命令行服务器
// 该示例演示了使用stdio格式的MCP服务器
// Cursor会自动为您运行此程序
// 这使用了一个通过`python`运行的Python服务器
{
"mcpServers": {
"server-name": {
"command": "python",
"args": ["mcp-server.py"],
"env": {
"API_KEY": "value"
}
}
}
}
// 如果您使用的是Node.js命令行服务器
// 该示例演示了使用stdio格式的MCP服务器
// Cursor会自动为您运行此程序
// 这使用了一个通过`npx`运行的Node.js服务器
{
"mcpServers": {
"server-name": {
"command": "npx",
"args": ["-y", "mcp-server"],
"env": {
"API_KEY": "value"
}
}
}
}
全屏 退出全屏
你可以查看示例服务器和实现案例列表。
老版本。
我们需要生成一个安全的MCP网址。访问这个页面 https://mcp.composio.dev/hackernews/thundering-petite-vulture-guyWBb 来生成你的。
确保你输入了 sse
,这会给你一个插入服务器 URL 的机会。
服务器链接如下:
它将显示必要的操作,绿色点表示已成功集成的状态。
步骤 5:在 Agent 中直接使用服务器
你可以通过按下 Ctrl + I
打开聊天,然后你可以询问任何与 Hackernews(黑客新闻)相关的问题,比如 find hackernews top posts of today
。
新版本
老版本
根据你的设置,它会连接到正确的MCP服务器(如果有多个MCP服务器),然后根据你的提示执行正确的操作。
只需点击接受以生成回复。由于没有帖子达到100分(达到100分的要求),我尝试了另一个提示来获取最新的10篇帖子。
恭喜!🎉 实际上用你选择的MCP服务器就这么简单。
Hackernews 是一个简单的案例,但如果像 GitHub 这样需要个人令牌的话,你则需要一个稍微详细一点的指令,比如“创建一个名为 composio mcp 的新仓库,并在其中添加一个简要介绍 mcp 服务器的 readme 文件”。
既然我们知道如何将MCP服务器集成到系统中,接下来我们将探索许多实际的应用场景。
3. 实用案例(附示例)
你可以用这些构建许多创新的东西,所以让我们来看看其中几个特别突出的例子。其中一些包括源代码(GitHub代码库)。
✅ Blender MCP
这是一个Blender应用的截图。
通过MCP将Blender与Claude AI连接起来,使Claude可以直接操控Blender。这样一来,可以在提示的帮助下进行3D建模、场景创建和操作。
例如,Siddharth(所有者)创建了一个类似的“低面数龙守护宝藏”的3D画面,但他自己并没有亲自制作。
可以在这里查看GitHub仓库页面,它有6.9千个星。
✅ LinkedIn MCP 服务器
将此服务器添加到MCP光标服务器列表后,你会看到很多选择。不过,有些需要先建立连接,以防止输入响应过载。
你只需在浏览器中复制这个OAuth URL来完成验证步骤。
一旦完成,你就会收到一条确认消息。
(点击可查看)
你可以根据服务器的动作来检查。正如你所见,有一个活跃的连接。
我通常不建议你在官方账号上使用它,因为越谨慎越好。我检查过与DocuSign(eSignature)、Cal.com(用于连接日历)以及Notion(获取页面内容)等相关的MCP服务器,还有很多其他服务器。
大多数这些都很简单。在接下来的例子中,我们将创建一个更复杂的东西,
✅ 使用 Crawl4AI 做一个网络爬虫。
有了这些,你可能觉得创造新东西没什么意义。让我们来讨论一个可能更复杂的概念。
假如你是初学者,想要完善与Python SDK相关的光标,该文档位于官方MCP仓库。
在光标设置中,你会在侧边栏的功能
部分找到。在该部分下面,你会找到文档区域。
接着,把这个链接加到 README 文件中,并给它取一个合适的名字。
它成功添加了。
你可以现在把这个文档加进来,以增强代理聊天中的上下文信息。
上传文档作为背景信息
如果你想让文档更易于访问,可以更进一步,有一个叫做Gitingest的工具可以帮助你将其转换成大语言模型能够理解的数据格式。你只需要把任何GitHub网址中的hub
改为ingest
,就可以正常使用了。
(该图片描述了与 Git 相关的内容)
现在,你可以使用Crawl4AI,这是一个开源的适合LLM的网络爬虫。它在GitHub上获得了超过33000颗星。
在继续之前,请确保已通过pip install mcp
安装了MCP的依赖项。
使用以下命令可以安装crawl4ai包。
pip install -U crawl4ai
# 完成安装配置
crawl4ai-setup # 这是安装后的配置命令
点击这里切换到全屏模式,或点击这里退出全屏
你可以使用 crawl4ai-doctor
检查你的安装是否正确。
你可以创建一个 server.py
文件,然后根据文档添加合适的代码。
import asyncio
from crawl4ai import *
async def 主():
async with AsyncWebCrawler() as crawler:
result = await crawler.arun(
url="https://www.nbcnews.com/business",
)
print(result.markdown)
if __name__ == "__main__":
asyncio.run(主())
进入全屏模式,退出全屏模式
你可以在 Claude Desktop 上安装这个服务器,并通过运行命令 mcp install server.py
即可立即与之互动。你可以查看 文档 了解如何将其集成。
例如,还可以查看 readme 中的隐身模式功能和基于标签的内容提取功能,了解更多详情。
当你运行 crawl http://cursor.com
并获取其所有内容部分时,你会发现它返回的不是官方的结构,而是仅仅包含了内容片段。
有一个用于这个案例的新仓库new repository,X上的Hossein分享了一个相似的项目。去看看哦!
你可以根据Crawl4AI的文档来调整。现在,由于Python文档中有额外的上下文,这实际上可以帮助更准确地复制网站的首页。
这个工作流的用例真够深刻的。
这里有一些不错的资源,如果你想搭建MCP,:
-
官方团队整理的热门MCP服务器列表 - 在GitHub上有2万颗星。
-
Cursor 目录页 包含 1800 多个 MCP 服务器的列表。
-
那些MCP完全优化了我的光标操作流程 - 包含实用示例的YouTube视频,大大提升了我的光标操作流程。
-
- *
可以说,在 Cursor 中使用 MCP 服务器来说相对简单。
与代理的一次对话就能帮助你自动化复杂的业务流程。
如果之前试过或建过什么超赞的东西,请告诉我一声。
祝你今天过得开心!下次聊 :)
你可以查看我的作品,网址是 anmolbaranwal.com。 感谢阅读!🥰 |
---|
挥手告别的GIF
共同學(xué)習(xí),寫(xiě)下你的評(píng)論
評(píng)論加載中...
作者其他優(yōu)質(zhì)文章
100積分直接送
付費(fèi)專(zhuān)欄免費(fèi)學(xué)
大額優(yōu)惠券免費(fèi)領(lǐng)