MCP
当代 AI 的重要组成
RAG:知识检索
Agent:思考决策
MCP:使用工具
早上8点自动抓取新闻+行业数据生成简报(RAG发力)上午10点
分析你的日程,把会议改到不堵车的时间段(Agent决策)下午3点
登录公司系统导出报表,做成可视化图表(MCP连接)
背景
如何让大语言模型与外部系统交互,已经成为AI系统急需解决的问题。从2023年到现在,业界也有过多种尝试
原始时代——prompt转json。优点就是可以很快的事项让大模型给出符合格式的结果。缺陷也是很大,就是不可靠。常遇到的比如json的key错误,json格式不对,时间格式不匹配。
农耕时代——Plugins。2023年3月份,OpenAI 官方发布了重磅的「ChatGPT plugins」。也是大模型首次允许通过插件与外部应用交互的能力,也给了AI应用很大的想象。比如当前大模型都具备的实时信息检索,也是这个时候引入的
铁器时代——Function Calling。2023年6月,OpenAI在GPT-3.5和GPT-4模型中首次引入Function Calling机制,赋予模型调用外部函数的能力,使其能够结合真实的数据或计算结果,而非单纯依赖模型自身的推理能力,这样不仅可以提高模型的可控性和准确性,还能让其更适应实际业务需求。Function Calling的意义在于让大模型结果闭环且可控,在大模型流程中加入函数能力,让其获取到外部数据,不必再自行幻想出来结果,并且结构化的输入给到大模型,输出的结果更加稳定。
蒸汽时代——Agent框架 Tools。Agent可以根据任务动态选择Tool是完成任务,所以Tool应该是大模型能力的补充。
电气时代——MCP。在上一时代中的Agent的Tool诞生可以补充大模型的缺失的能力和数据,但是还需要一个大问题,一个企业或者应用面对不同的大模型不同的系统如何快速集成到一起,一个个是开发Tools?这是一个重复且繁琐的工作。为此本文的主角——MCP协议诞生了。
业界开始关注如何让模型从“被动回答”转向“主动执行”。这一转变催生了对标准化协议的需求,类似软件工程中的 HTTP 或语言服务器协议(LSP)。LSP 的成功为开发工具提供了一个范例:通过统一的协议,编辑器与编程语言支持之间的集成从 NxM 问题简化为 M+N 问题,极大地提升了生态系统的协同效率。AI 领域同样需要类似的解决方案,以打破数据孤岛、简化集成流程。
与此同时,开源社区和企业对 AI 生态的互操作性提出了更高要求。Hugging Face 等平台推动了模型共享,而 LangChain 等框架尝试通过工具调用(Tool Calling)增强模型能力。然而,这些方案仍未解决根本问题:缺乏一个通用的、标准化的上下文传递机制。行业开始意识到,若没有统一的协议,AI 智能体(Agent)的潜力将难以全面释放。
模型上下文协议(MCP)正是在这一背景下由 Anthropic 于 2024 年 11 月正式推出并开源。设计初衷是创建一个开放协议,标准化 AI 模型与外部数据源及工具的交互方式,从而解决传统集成的碎片化问题。
针对MCP有几点需要注意:
Function Calling是大模型与外部数字世界的交互方式。MCP是MCP host(chatbot或者AI工具)与外部工具/资源之间的交互方式。
MCP比Plugins规范性更好,定义了清晰的数据格式、传输协议、身份验证方法等,能力也更强。
GPTs是OpenAI的应用市场,主要是给人使用的。MCP server主要是给AI使用的,不直接给人用
MCP不绑定任何厂商。Anthropic开源了MCP规范,并由社区驱动。当前与AI模型是一致的,开放性才是不断增长的系统,大家一起努力才可以把生态构建出来
基础
MCP 的灵感部分来源于 USB-C 的类比:如同 USB-C 通过统一接口连接多种设备,MCP 旨在为 AI 应用提供一个“即插即用”的上下文管理框架
更为准确而言,模型上下文协议(Model Context Protocol, MCP)的核心设计遵循客户端-服务器架构,这一架构允许一个宿主应用程序与多个服务器建立连接,通过标准化的接口(如基于 JSON-RPC 的通信)实现灵活的上下文传递与工具的灵活调用
MCP本质还是一种C/S架构
Anthropic 在发布时提供了初步的规范和 SDK(如 Python 和 TypeScript),并开源了多个预构建的 MCP 服务器(如 Google Drive、GitHub 集成),以加速社区采纳。
MCP 的技术框架围绕三个关键组件构建:主机(Host)、客户端(Client)和服务器(Server)
主机(Host)指的是任何能够承载 AI 交互环境的应用程序,例如 Claude Desktop、Cursor 等主流 AI 工具。负责接收用户提问并与 AI 模型交互,充当容器和协调者:
创建和管理多个客户端实例
控制客户端连接权限和生命周期
协调 AI/LLM 集成和采样
管理Clients之间的上下文聚合
MCP 客户端(MCP Client)与服务器保持 1:1 连接的协议客户端。
和每个 server 建立一个有状态的会话
处理协议协商和能力交换
双向路由协议消息
管理订阅和通知
维护 servers 之间的安全边界
MCP 服务器(MCP Server)通过暴露特定的功能接口和数据访问能力,轻量级程序,每个程序都通过标准化模型上下文协议公开特定功能:
通过 MCP 原语暴露resources、tools 和prompts
工具(Tools)提供执行具体操作的能力
资源(Resources)向 LLMs 暴露来自不同数据源的内容和信息,例如企业内部数据库、云存储文件或实时 API 数据
提示(Prompts),MCP 服务器支持创建可复用的提示模板和工作流,帮助开发者设计标准化的交互模式
通过client 提供的接口请求sampling
可以是本地进程或远程服务
工作过程
客户端通过 MCP 协议向服务器发送请求,以访问工具或获取信息。
这一过程类似于网页浏览器向服务器请求页面内容的机制:用户(或 AI)提出需求,客户端将其转化为标准化的请求,等待服务器的响应
MCP 的通信层,通过定义标准协议(如基于 JSON-RPC 的数据格式)协调客户端与服务器之间的交互。
类似于互联网中的 HTTP,它为 MCP 生态中的所有参与者提供了一套通用的“语言”,无论使用的是哪种 AI 模型或外部资源,系统各部分都能顺畅协作
MCP 服务器接收来自客户端的请求,执行相应的操作(如查询数据库或调用工具),然后将结果以标准格式返回给 AI 模型
应用场景
MCP 服务器可以支持不同的访问策略并且可以实现访问时进行身份验证,有效地充当AI模型和企业之间的门神。内部数据的获取和响应都是通过MCP服务器,类似数据网关,实时监控模型行为,发现异常(如数据泄露风险)时自动触发防护机制(如阻断敏感API调用)
军政、金融、医疗等强监管行业需对AI访问权限进行细粒度控制,例如限制模型仅读取脱敏数据或禁止写入关键系统。通过MCP的数据沙箱机制和权限审批流程,实现动态策略调整与操作审计,满足GDPR、HIPAA等法规要求。
AI模型对过去交互的记忆有限,因此在推理时提供相关的、实时的上下文至关重要。MCP服务器连接实时数据源(如OS Drive、Slack、数据库),确保AI响应基于最新信息(如客户最新订单、库存状态)。通过MCP资源功能加载专业文档(如法律条款、产品手册),提升AI在垂直领域的专业性(如法律咨询、技术支持)
在客服场景中,可以关联用户的信息(订单、兴趣、)和之前与客服的沟通内容,结合企业内的SOP,为用户解决问题。
在AI编码的场景中,AI模型可以通过MCP服务器获取git仓库的代码和接口文档、产品设计、方案设计甚至是编码规范,可以为程序员提供更好的编码提示和建议。
使用结构化格式传递信息避免歧义,可以更有效地指导AI模型推理。更可靠的知识源,结合结构化的数据上下文,AI模型就可以应用在要求可靠性更高的场景,比如医疗诊断。
MCP协议将会是AI模型和各个工具之间互联互动的桥梁。MCP如果成为了标准协议,将各个AI模型和丰富的工具和平台链接起来,打破信息孤岛,让AI的自动化升级为AI智能化。
用户反馈APP的一个bug上来后,AI模型自动根据Git 的MCP服务器,结合产品文档需求和用户描述,自动化实现bug修复并通过CI/CD MCP服务器实现服务上线。
MCP作为企业内部AI Agent的“数据总线”,整合CRM、MES等多系统数据,例如制造业AI Agent通过MCP协调IoT传感器与生产调度系统。
企业部署MCP驱动的虚拟助手,可统一响应员工IT支持、审批进度查询等需求,响应时效缩短至秒级。在医院,可通过MCP构建AI助手,实时分析患者病史并提醒医生药物相互作用风险。
最后更新于