TL;DR:MCP 真的开始火了。现在已有数千个 MCP “服务器”,虽然 Anthropic 是 MCP 的创造者,但 OpenAI 最近也加入了使用它的行列。这些服务器就像 AI 的“应用”,但更重要的是,它们可以更加灵活地配合使用。我们开始看到类似十年前移动端那样的 AI 生态系统初现端倪。
详情:
MCP(模型上下文协议)由Anthropic作为开放标准在2024年11月发布。尽管最初的反应较为平淡,但在最近几个月里,它真的火了起来。甚至其竞争对手OpenAI也开始使用它。
但它究竟是什么,为什么它这么大的事儿?
这是什么说到底,MCP(即“多用途组件”)是一种让 AI 功能更强大的方式,就像应用程序让手机变得更强大一样,等等。
要了解MCP,有两个关键概念:MCP定义了如何让一个主程序应用程序(如Claude Desktop)与称为MCP 服务器的扩展进行通信。(在这次讨论中,主程序和客户端的概念大致相同。)MCP的一大好处是它是一个开放标准,这意味着不同的主程序可以使用相同的MCP服务器,提高了兼容性和互操作性。目前已经有几十个主程序(这里有一个列表:https://github.com/punkpeye/awesome-mcp-clients)。不仅包括了Claude Desktop和Claude Code,还有Cursor这样的工具,以及类似oterm的终端。
尽管有数十个MCP主机,现在却有数千个MCP服务器,确实有网站专门记录这些服务器(例如:https://mcp.so/)。其中许多已成为让AI更深入接触数字世界的标准途径。一个生态系统从宣布到拥有5000个应用程序仅在几个月内实现,这确实令人惊叹。
为了举一些具体的例子来说明不同类型的MCP服务器,让我们来看一下Anthropic发布的系列参考用的服务器:
- Google Maps :本地搜索,地点详情等。
- Slack :发送和接收消息。
- Memory :记忆跨会话的信息。
- Time :时间和时区转换。
- Puppeteer :与无头浏览器互动并返回HTML和图片内容。
- EverArt :一个图像生成器。需要注意的是,MCP 并不限于文本。
你看到的就是人工智能生态系统正在兴起。MCPs可以视作AI生态系统中的首个应用程序。但与现有的应用程序生态系统相比,AI生态系统存在一些关键的区别。这些差异反映了AI比现有的“刚性”结构(如API)更灵活的特性。输入和输出以文本形式呈现。
基于开放标准的扩展性希望我们能避免像Android和iOS那样出现分裂的情况,让OpenAI和Anthropic都采用这一标准。或许这也是开发者广泛采用它的原因之一:他们只需实现一次,他们的工具就可以被几十个主机应用程序所使用。我写一次代码,突然间,用Claude、Cline或Gemini等各种工具的人都能使用我开发的东西。
集成和链式的力量当你安装一个传统应用程序时,通常是一种孤立的体验——你一次只能与一个应用程序互动。如果你想让两个应用协同工作,你需要自己搭建,或者使用一些笨拙的“胶水”工具,比如Zapier。
使用MCP,主机可以从一个MCP服务器取得结果,然后传给另一个MCP服务器;它可以将来自多个MCP服务器的结果进行整合。这里有一个具体的例子来展示这就像一个超级能力。
- 我可以在 Slack 上监听,当有人在 Slack 上说“找一个地方去吃晚餐”时触发。
- 我可以从 Google Maps 和 Yelp MCP 服务器获取结果,并整合这些信息以提供更全面的结果。
- 我可以使用 Memory MCP 服务器来存储和检索人们在 Slack 上提到的饮食偏好。我无需使用传统的数据库,Memory 使用知识图谱来表示信息,这与 LLMs 非常适配,并且也极其灵活。
- 我可以使用 OpenTable MCP 服务器来预订餐厅。
- 我可以在 Slack 上发布消息:“我已经参考了你们的饮食偏好和附近的餐厅,为你们在 X 餐厅预订了一个位置。”
你可以想象许多类似的情景,但这里的关键是要实现一个目标,MCP主机可以使用许多个MCP服务器。
一个迈向智能体网络的一小步一个东西(我们可以称之为代理)既可以作为主机,也可以作为服务器。例如,比如 Claude Code 既可以作为主机(它可以使用像 GitHub 这样的 MCP 服务器来提交代码),也可以作为服务器(这样,例如,Claude Desktop 可以请 Claude Code 帮它解决编码问题)。很容易看出这是怎么回事:你现在有了一个既能接收其他代理的请求,又能向其他代理发出请求的东西。
这不就跟工具一样嘛?当我第一次听说MCP时,我卡在了一个地方:“这不就是开发者已经用过的工具吗?”
是的,从某种意义上说。事实上,MCP 规定了三种可讨论的对象:工具、资源(如文件、URL 等)和提示语。
但有兩個主要的区别点:
- 工具主要是为那些在特定环境下工作的 开发人员 使用的。MCP 是针对 用户 的。
- MCP 更加 灵活 :每个用户可以根据需要添加或移除他们自己的工具。
我想举例说明我如何使用单个MCP服务器为自己构建了一个简单的日常新闻简报系统。这可能不是最华丽的例子,但它确实很简单。我所使用的是Memory MCP服务器,它维护了一个知识图谱:实体(如我或山景城)和关系(实体“瓦利德”和“山景城”通过“居住在”关系连接)。Claude Desktop是我首选的MCP主机。我开始告诉Claude Desktop存储有关我的信息,比如我的兴趣。它把这些信息存进了内存。之后我让它帮我找最新的新闻(用网络搜索)。它的表现超乎我预期的好,但是我不希望它重复昨天的内容,所以我让它记住昨天说过的新闻。
这只是开始而已。接下来,我打算为Google任务添加一个MCP服务器,这样我就可以在读完后把任务添加进去。或者我可以让Claude桌面通过邮件分享新闻简报中的部分内容给朋友。或者,我还会为我的日历应用添加一个MCP服务器,把当天的日程加入新闻简报里。
没有MCP,我们怎么能完成这个呢?我得写一个运行在某个URL地址上的应用的代码,还得考虑如何收集用户偏好,然后把它和网络搜索关联起来。
但MCP让我能够在同一个界面(Claude桌面)里,仅通过自然语言就能完成所有这些事情。
这会怎样影响我呢?希望这能鼓励你至少在你最喜欢的主机上试试MCP——你可能已经有一个了。更重要的是,你可能还应该考虑在使用基于AI的系统时,如何在这个生态系统中发挥作用。这里有一些你可以问自己的问题:
- 我是否应该将系统的功能以MCP服务器的形式公开?
- 这是否为我的用户提供了访问AI系统功能的新途径?
- 我还需要用户界面吗?或者任何MCP主机是否可以作为我的新界面?
- 我是否想将我的应用程序变成MCP主机来扩展其功能?
我正在考虑将其纳入我的伊斯兰AI助手开源项目中(包括服务器端和客户端)。
接下来是什么?对于MCP来说,MCP还处于早期阶段,显然还有很多工作要做,还有很多需要改进的地方。
安装与配置目前要将一个MCP服务器实例添加到你的主机中,需要编辑JSON,并且要么运行docker,要么本地运行node。这样做起来有点繁琐。
安全,身份验证(auth)等认证过程仍然很繁琐。例如,要使用 Google Drive 集成,你需要一个开发者 API 密钥,并且需要经过一系列繁琐的步骤才能使用它。安全措施、提示注入攻击等功能仍然很初级。当前的主机在执行任何操作之前仍然需要不断请求你的授权。
动态探索下一步是制定一种标准化的方法来查找可用的MCP服务器,并使其能够被LLM访问,从而让LLM能够找到它需要使用的MCP服务器。
结论部分虽然MCP听起来有些理论化和复杂,但它实际上是一个巨大的进步:它是开放AI生态系统的一个开端。特别是添加一个MCP服务器可以扩展主机的功能,使得AI能够整合并串联多种能力来完成任务,这为新应用提供了巨大的灵活性和机会。你应该考虑MCP快速普及对你所在的领域意味着什么。
共同學(xué)習(xí),寫下你的評論
評論加載中...
作者其他優(yōu)質(zhì)文章