序言:AI 应用层进入 MCP 时代
过去一年,AI 模型的发展进入了快车道。从 GPT-4、Claude 3 到 DeepSeek R1,不论是推理能力还是减少幻觉的能力都有了质的飞跃。与此同时,Prompt 工程、RAG(检索增强生成)、AI Agent 等技术路线也极大推动了 AI 应用的多样性。
然而,AI 应用在集成现有系统和工具链方面进展缓慢。尽管市面上涌现了大量新的 AI 服务,但它们几乎都是“全新打造”的,而不是融入我们日常使用的工作流、软件或系统中。
直到 2023 年 11 月,Anthropic 发布 MCP(Model Context Protocol,模型上下文协议)后,AI 应用开发才真正迎来了新阶段。MCP 的提出使得 AI 模型可以标准化地访问外部服务和数据源,开启了 AI 系统原生集成的新时代。
为什么 MCP 开启 AI 应用融合新时代的钥匙
当前 AI 应用虽然能力强大,但仍有以下局限:
- 多数 AI 应用是“孤岛”,不能无缝与开发者常用工具整合。
- 很少有 AI 工具能做到同时联网搜索、发邮件、发博客等操作。
- 实现这些功能的代码并不复杂,但集成非常困难,主要是因为系统割裂,数据流动不畅。
比如在 IDE 中,如果我们能让 AI 做到以下事情,开发体验将有质的飞跃:
- 查询本地数据库,辅助开发
- 检索 GitHub Issue 判断是否是已知问题
- 发消息通知同事 Code Review 某个 PR
- 修改 AWS/Azure 配置自动部署
AI 无法完成这些自动化整合,原因主要在两点:
- 企业数据敏感,流程重、安全要求高。
- 缺少统一标准协议来连接模型与服务。
而 MCP,正是为了解决这一“协议层”的缺失而诞生的。
为什么是 MCP?它与 Function Calling、Agent 有什么区别?
很多人可能会问:OpenAI 不是早就有 function calling?AI Agent 不也能整合多种服务?为什么还需要 MCP?
Function Calling
Function Calling 是模型根据上下文自动调用外部函数的机制,起到了模型与外部服务之间的桥梁作用。
特点:
- 模型平台(如 OpenAI、Claude)定义函数结构。
- 需要开发者明确提供函数描述、输入输出。
- 执行任务时,模型根据内容决定调用哪个函数。
缺点:
- 不适合处理多轮复杂任务。
- 代码不易维护,难以标准化和复用。
AI Agent
AI Agent 是一个可以自主完成任务的智能系统。
特点:
- 具备决策和行动能力。
- 可以连续进行多步推理。
- 可连接多种工具,具备一定自治性。
但问题是,目前大多数 AI Agent 构建仍依赖于自定义、耦合严重的工具代码,难以复用、协作和共享。
MCP(Model Context Protocol)
MCP 是一个开放协议,目标是“Type-C 化”AI 接入生态。
特点:
- 不依赖某个模型平台,统一标准。
- 建立模型与服务之间的通用上下文交换机制。
- 支持多步任务、状态保持、权限控制。
优势:
- 将服务按层次抽象:描述、能力、限制。
- Client(Agent)根据协议自行组合能力,完成任务。
- 构建生态后,不同服务之间可以互操作,AI 自动化能力大大增强。
简而言之:
对比维度 | Function Calling | AI Agent | MCP 协议 |
---|---|---|---|
目的 | 调用函数 | 执行任务 | 构建生态 |
复杂任务支持 | 弱 | 强 | 强 |
标准化程度 | 弱(平台私有) | 弱(工具割裂) | 强(协议层) |
维护难度 | 高 | 高 | 低(生态共享) |
MCP 如何工作
我们看一下官方提供的架构图:
MCP 的系统由五个核心组成部分:
-
MCP Hosts
运行在用户侧的应用程序,如 Cursor、Claude Desktop 等,它们是模型调用服务的发起者。 -
MCP Clients
在 Host 中运行的模块,负责与远程 MCP Server 保持连接,并转发请求、维持上下文。 -
MCP Servers
服务提供者,通过 MCP 协议暴露 API、数据源、工具能力。它是系统的“能力注册中心”。 -
Local Data Sources
如本地文件、本地数据库、本地服务接口等。 -
Remote Services
如网络 API、第三方服务、云平台资源等。
MCP Server 的意义
Server 是整个 MCP 系统的“智能服务目录”,它定义了:
- 哪些服务对 AI 可见;
- 每个服务的输入输出格式;
- 每个服务的权限范围和调用限制;
- 如何持久化和恢复上下文。
以 Cursor 为例,其 AI Agent 演进过程如下:
阶段 | 能力 | 说明 |
---|---|---|
AI Chat | 提建议 | 由人执行 |
AI Composer | 自动修改代码 | 需要人确认 |
AI Agent | 全自动任务执行 | 可读图、调试、部署 |
MCP Server 的角色就是在这个过程中,为 Agent 提供所有服务的信息与上下文支持。
最终,MCP 目标是构建一个跨平台、跨服务的“AI 应用生态协议层”,使得 AI Agent 可以像人一样自由调度各种能力,实现“从建议到行动”的完整闭环。
总结
MCP 是通往 AI 原生集成世界的关键协议。它的出现,使得:
- AI Agent 可以理解并调用各种服务;
- 开发者可以复用协议组件,加速开发;
- 企业可以构建自己的 MCP Server,有效保护数据隐私。
正如 USB Type-C 统一了电子设备之间的连接,MCP 有望统一 AI 与工具、服务之间的交互方式。
未来,AI 不再只是“聊天机器人”,而是能真正执行任务、连接系统、完成工作流的全能助手。
个人简介
👋 你好,我是 Lorin 洛林,一位 Java 后端技术开发者!座右铭:Technology has the power to make the world a better place.
🚀 我对技术的热情是我不断学习和分享的动力。我的博客是一个关于Java生态系统、后端开发和最新技术趋势的地方。
🧠 作为一个 Java 后端技术爱好者,我不仅热衷于探索语言的新特性和技术的深度,还热衷于分享我的见解和最佳实践。我相信知识的分享和社区合作可以帮助我们共同成长。
💡 在我的博客上,你将找到关于Java核心概念、JVM 底层技术、常用框架如Spring和Mybatis 、MySQL等数据库管理、RabbitMQ、Rocketmq等消息中间件、性能优化等内容的深入文章。我也将分享一些编程技巧和解决问题的方法,以帮助你更好地掌握Java编程。
🌐 我鼓励互动和建立社区,因此请留下你的问题、建议或主题请求,让我知道你感兴趣的内容。此外,我将分享最新的互联网和技术资讯,以确保你与技术世界的最新发展保持联系。我期待与你一起在技术之路上前进,一起探讨技术世界的无限可能性。
📖 保持关注我的博客,让我们共同追求技术卓越。