一、MCP 是什么?
随着人工智能应用场景不断拓展,人们开始意识到单一模型存在一定的局限性。调用外部工具的方式较为零散,不同工具所需的调用方式和接口各不相同,尚未形成统一规范。
在此背景下,一个名为模型上下文协议(Model Context Protocol,简称 MCP)的概念应运而生,引发了广泛讨论。
MCP 是 Anthropic 在 2024 年 11 月 25 日发布的文章 “Introducing the Model Context Protocol” 中首次提出的,刚发布的时候不温不火,直到今年Agent大爆发才被广泛关注。
那么,MCP 究竟是什么呢?
简单来说,MCP是一个开放协议,用于标准化应用程序如何向LLM提供上下文。
可以把MCP想象成AI应用程序的USB-C端口,就像USB-C提供了一种将设备连接到各种外设和配件的标准化方式一样。
MCP提供了一种将AI模型连接到不同数据源和工具的标准化方式,连接了 AI 模型与外部的各种工具、数据源,使得 AI 能够突破自身的局限,获取更多的信息和能力。
MCP 采用了客户端 - 服务器的架构模式。
其中,客户端可以是我们日常使用的各种 AI 应用,比如聊天机器人、智能办公软件等;服务器则负责对接具体的数据源,无论是本地的文件系统,还是远程的 Slack、GitHub、Google Drive 等服务,都能通过服务器与 AI 客户端进行通信。
这种架构设计使得单个 AI 客户端可以同时连接多个数据服务器,大大提高了 AI 系统的灵活性和扩展性。
二、MCP 出现的意义
从技术应用角度来看,MCP首先解决了工具调用碎片化和缺乏标准化的问题,使得 AI 模型能够与各种外部工具高效连接,实现了真正意义上的 “即插即用”。
原来Function calling的技术思路,需要创建一个外部函数(function)作为中介,一边传递大模型的请求,另一边调用外部工具,最终让大模型能够间接的调用外部工具。
现在MCP把大模型运行环境称作 MCP Client,也就是MCP客户端,同时,把外部函数运行环境称作MCP Server,也就是MCP服务器,然后,统一MCP客户端和服务器的运行规范,并且要求MCP客户端和服务器之间,也统一按照某个既定的提示词模板进行通信。
这样避免MCP服务器的重复开发,也就是避免外部函数重复编写。例如,像查询天气、网页爬取、查询数据库这种通用的需求,大家有一个人开发了一个服务器就好,其他人就直接可以用了。
还有MCP 的动态上下文发现特性,赋予了 AI 模型更强的自主决策能力,使其能够根据任务需求自动寻找并调用合适的工具与资源,实现了从被动执行到主动探索的转变,推动 AI 向更加智能、灵活的方向发展。
从生态系统建设角度来看,开发者可以基于 MCP 开发各种工具和应用,丰富了 AI 的应用场景和功能;企业可以通过 MCP 将 AI 技术融入到自身的业务流程中,提升竞争力。
MCP 还推动了不同 AI 模型和工具之间的互联互通,促进了技术的共享和创新,为 AI 生态系统的可持续发展奠定了坚实基础。
总的来说,MCP解决的最大痛点,就是Agent开发中调用外部工具的技术门槛过高的问题。
三、MCP 的的应用场景
MCP 的出现,为众多领域带来了全新的解决方案。
智能问答与聊天助手
在企业服务领域,企业可以为客户关系管理系统(CRM)、知识库等数据源编写 MCP 服务器,让智能客服助手通过这些服务器实时获取客户数据和相关知识,快速准确地回答客户的问题,大大提升了客户服务的质量和效率。
编程辅助与开发者工具
对于程序员来说,可以利用 MCP 让 AI 代理能够直接检索代码仓库内容,当开发者在编码过程中需要查找某个函数的定义时,AI 代理可以通过 MCP 服务器快速定位到相关的代码文件,并返回函数的详细信息,将开发者从繁琐的重复劳动中解放出来,专注于更有创造性的工作。
办公自动化与个人助理
在办公场景中,可以通过 Calendar MCP 服务器读取和修改你的日历事件,当你有新的会议安排时,它可以自动帮你添加到日历中,并设置提醒;邮件助手 AI 可以通过 Email MCP 服务器读取未读邮件并草拟回复,你只需要简单确认一下,就能快速处理大量邮件;项目管理 AI 可以通过 Jira MCP 服务器查询任务状态或新建任务卡片,实时掌握项目的进展情况。
四、对于MCP未来的思考
安全性与易用性的权衡
当前 MCP 的认证和访问控制机制仍处于初步阶段, MCP 服务器的权限控制范围还未有效的控制,缺乏详细的规范和强制性要求,这无疑增加了安全风险。
对于普通用户来说,判断 MCP 服务器是否安全是一项极具挑战性的任务,因为他们往往缺乏评估代码或行为所需的技术能力。
此外为了提高易用性,一些插件如 Cline 提供了 MCP Market,让用户可以一键部署服务器,大大降低了技术门槛。但这种便利性也带来了隐患,用户可能在不完全了解服务器功能或来源的情况下就运行它,从而导致安全问题。
目前,Anthropic 仅支持本地运行服务器,并计划于 2025 年上半年正式支持远程部署。Cloudflare 已率先推出了远程部署 MCP 服务器的功能,提升了易用性,也为未来的云端集成铺平了道路。但如何在安全和易用之间找到平衡,仍然是 MCP 发展过程中亟待解决的问题。
开放标准与 AI 竞赛的矛盾
MCP 作为一种开放标准,其广泛应用需要众多 AI 厂商和开发者的支持。然而,目前支持 MCP 的客户端数量非常有限,如果更多的 LLM chat app 甚至各 LLM 的 web app 能够集成 MCP,并提供一些默认的 MCP 服务器,将显著增强 LLM 的能力并推动生态发展 。
然而,定义和主导 MCP 的 Anthropic 自身也是模型厂商,这使得其他模型提供商可能不愿意让自家生态接入到 MCP 里。毕竟,在激烈的 AI 竞赛中,每个厂商都希望掌握自己的技术标准和生态控制权。
如果各家厂商都提供自己的解决方案,那么混乱的生态将会成为 MCP 进一步发展的阻碍,这对普通大众来说也并非好事。MCP 作为一个开源协议,需要广泛的社区支持和信任来维持生态系统的生命力,而 Anthropic 的闭源文化可能让一些开发者对其主导地位产生疑虑 。
五 、总结
MCP 的本质:它是一个统一的协议标准,使 AI 模型能够以一致的方式连接各种数据源和工具,类似于 AI 世界的"USB-C"接口。
MCP 的价值:它解决了原来 function call 的开发门槛高的问题,提供了更统一、开放、安全、灵活的工具调用机制,让用户和开发者更加专注于Agent的建设。
MCP未来的思考:尽管 MCP 展现出了巨大的潜力和广阔的应用前景,但作为一项新兴的技术,目前的MCP也存在安全性与易用性的问题。