自 OpenAI 于 2023 年发布函数调用以来,如何才能解锁代理和工具使用的生态系统。随着基础模型变得更加智能,代理与外部工具、数据和 API 交互的能力变得越来越分散:开发人员需要为代理运行和集成的每个系统实现具有特殊业务逻辑的代理。
显然,需要有一个用于执行、数据获取和工具调用的标准接口。API是互联网的第一个伟大统一器——为软件通信创建了一种共享语言——但人工智能模型缺乏同等的东西。
模型上下文协议 (MCP) 于 2024 年 11 月推出,作为一种潜在的解决方案,在开发者和 AI 社区中获得了极大的关注。在这篇文章中,我们将探讨什么是 MCP、它如何改变 AI 与工具交互的方式、开发者已经用它构建了什么以及仍需解决的挑战。
什么是 MCP?
MCP 是一种开放协议,允许系统以跨集成通用的方式向 AI 模型提供上下文。该协议定义了 AI 模型如何调用外部工具、获取数据以及与服务交互。下面是一个具体示例,展示了 Resend MCP 服务器如何与多个 MCP 客户端协同工作。

这个想法并不新鲜;MCP 的[灵感来自于 LSP(语言服务器协议)
在 LSP 中,当用户在编辑器中输入内容时,客户端会查询语言服务器以自动完成建议或诊断。

MCP 超越 LSP 的地方在于其以代理为中心的执行模型:LSP 主要是被动的(根据用户输入响应来自 IDE 的请求),而 MCP 旨在支持自主 AI 工作流。根据上下文,AI 代理可以决定使用哪些工具、以什么顺序使用以及如何将它们链接在一起以完成任务。MCP还引入了人机交互功能,以便人类提供额外的数据并批准执行。

当今流行的用例
通过正确的 MCP 服务器,用户可以将每个 MCP 客户端变成“万能应用程序”。
以 Cursor 为例:虽然 Cursor 是一个代码编辑器,但它也是一个实现良好的 MCP 客户端。最终用户可以使用Slack MCP 服务器将其转变为 Slack 客户端,使用[Resend MCP 服务器将其转变为电子邮件发送器,使用Replicate MCP 服务器将其转变为图像生成器。利用 MCP 的更强大方法是在一个客户端上安装多个服务器以解锁新流程:用户可以安装服务器以从 Cursor 生成[前端 UI,还可以要求代理使用图像生成 MCP 服务器为网站生成英雄图像。
除了 Cursor 之外,当今大多数用例可以归纳为以开发为中心、本地优先的工作流程,或使用 LLM 客户端的全新体验。
以开发为中心的工作流程
对于每天生活在代码中的开发人员来说,一个普遍的感受是“我不想离开 IDE 去做x ”。MCP 服务器是实现这一梦想的绝佳方式。
开发人员现在无需切换到 Supabase 来检查数据库状态,而是可以使用Postgres MCP 服务器执行只读 SQL 命令,使用Upstash MCP 服务器直接从 IDE 创建和管理缓存索引。在迭代代码时,开发人员还可以利用Browsertools MCP让编码代理访问实时环境以进行反馈和调试。
除了与开发人员工具交互的工作流程之外,MCP 服务器解锁的新用途是能够通过抓取网页或根据文档自动生成 MCP 服务器,为编码代理添加高度准确的上下文。开发人员无需手动连接集成,可以直接从现有文档或 API 启动 MCP 服务器,使 AI 代理可以立即访问工具。这意味着花在样板上的时间更少,实际使用工具的时间更多——无论是提取实时上下文、执行命令,还是动态扩展 AI 助手的功能。
全新体验
尽管像 Cursor 这样的 IDE 因 MCP 对技术用户的强烈吸引力而受到最多关注,但它们并不是唯一可用的 MCP 客户端。对于非技术用户来说,Claude Desktop 是一个极好的切入点,它使 MCP 驱动的工具对普通用户来说更容易获得和使用。很快,我们可能会看到专门的 MCP 客户端出现,用于以业务为中心的任务,例如客户支持、营销文案、设计和图像编辑,因为这些领域与 AI 在模式识别和创意任务方面的优势密切相关。
MCP 客户端的设计及其支持的特定交互在塑造其功能方面起着至关重要的作用。例如,聊天应用程序不太可能包含矢量渲染画布,就像设计工具不太可能提供在远程机器上执行代码的功能一样。最终,MCP 客户端体验决定了整体 MCP 用户体验——在 MCP 客户端体验方面,我们还有更多东西需要解锁。
其中一个例子是 Highlight 如何实现@ 命令来调用其客户端上的任何 MCP 服务器。结果是一种新的 UX 模式,其中 MCP 客户端可以将生成的内容传输到任何选择的下游应用中。
另一个例子是Blender MCP 服务器用例:现在,几乎不了解 Blender 的业余用户可以使用自然语言来描述他们想要构建的模型。随着社区为 Unity 和 Unreal 引擎等其他工具实现服务器,我们看到文本到 3D 的工作流程正在实时展开。
尽管我们主要考虑服务器和客户端,但随着协议的发展,MCP 生态系统正在逐渐成形。该市场地图涵盖了当今最活跃的领域,尽管仍有许多空白。我们知道 MCP 仍处于早期阶段,我们很高兴随着市场的发展和成熟,将更多参与者添加到地图中。(我们将在下一节中探讨其中一些未来的可能性。)
在 MCP 客户端方面,我们目前看到的大多数高质量客户端都是以代码为中心的。这并不奇怪,因为开发人员通常是新技术的早期采用者,但随着协议的成熟,我们期望看到更多以业务为中心的客户端。
我们看到的大多数 MCP 服务器都是本地优先的,专注于单人游戏。这是 MCP 目前仅支持基于 SSE 和命令的连接的表现。但是,随着生态系统使远程 MCP 成为一流,并且 MCP 采用可流式 HTTP 传输,我们预计会看到更多 MCP 服务器的采用。
此外,还有新一波 MCP 市场和服务器托管解决方案的出现,使 MCP 服务器发现成为可能。Mintlify的mcpt、Smithery和OpenTools等市场让开发人员更容易发现、共享和贡献新的 MCP 服务器——就像 npm 如何改变 JavaScript 的包管理或 RapidAPI 如何扩展 API 发现一样。这一层对于标准化对高质量 MCP 服务器的访问至关重要,允许 AI 代理根据需要动态选择和集成工具。
随着 MCP 的采用率不断提高,基础设施和工具将在使生态系统更具可扩展性、可靠性和可访问性方面发挥关键作用。Mintlify 、Stainless和Speakeasy等服务器生成工具正在减少创建 MCP 兼容服务的摩擦,而 Cloudflare 和Smithery等托管解决方案正在解决部署和扩展挑战。与此同时,Toolbase等连接管理平台开始简化本地优先的 MCP 密钥管理和代理。
转自:https://a16z.com/a-deep-dive-into-mcp-and-the-future-of-ai-tooling/