MCP 协议系列序言篇:开启 AI 应用融合新时代的钥匙

0 阅读6分钟

序言: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 无法完成这些自动化整合,原因主要在两点:

  1. 企业数据敏感,流程重、安全要求高。
  2. 缺少统一标准协议来连接模型与服务。

而 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 CallingAI AgentMCP 协议
目的调用函数执行任务构建生态
复杂任务支持
标准化程度弱(平台私有)弱(工具割裂)强(协议层)
维护难度低(生态共享)

MCP 如何工作

我们看一下官方提供的架构图:

MCP 的系统由五个核心组成部分:

  1. MCP Hosts
    运行在用户侧的应用程序,如 Cursor、Claude Desktop 等,它们是模型调用服务的发起者。

  2. MCP Clients
    在 Host 中运行的模块,负责与远程 MCP Server 保持连接,并转发请求、维持上下文。

  3. MCP Servers
    服务提供者,通过 MCP 协议暴露 API、数据源、工具能力。它是系统的“能力注册中心”。

  4. Local Data Sources
    如本地文件、本地数据库、本地服务接口等。

  5. 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编程。

🌐 我鼓励互动和建立社区,因此请留下你的问题、建议或主题请求,让我知道你感兴趣的内容。此外,我将分享最新的互联网和技术资讯,以确保你与技术世界的最新发展保持联系。我期待与你一起在技术之路上前进,一起探讨技术世界的无限可能性。

📖 保持关注我的博客,让我们共同追求技术卓越。