MCP(1):协议背景和发展前景

admin 2025年3月21日00:22:04评论6 views字数 2622阅读8分44秒阅读模式

MCP(模型上下文协议,Model Context Protocol)自Anthropic 2024年11月推后,迅速得到发展,非常值得关注和研究。针对MCP,本号将进行系列分析,包括:

  1. 协议背景及发展前景,重点介绍协议产生发展的逻辑及未来发展趋势。
  2. 协议应用方法,重点介绍SDK的使用
  3. 协议的分析及其它模型的应用,当前还主要支持Anthropic的模型,其它模型的该如何应对。

随着深入,还会有更多的内容出来,今天是第一篇。

欢迎关注及星标,防止走失。

MCP(1):协议背景和发展前景

MCP协议背景及发展前景

MCP(1):协议背景和发展前景

大模型出现后,其智能的水平很快被大家接受,并越来越受欢迎。但大模型的主要应用仍然是聊天式的交互,完全满足不了大家的预期。

究其原因,是因为大模型本身,确实只有比较简单的输入输出能力,其API接口非常单一,简单的输入输出,被动调用,没有会话的概念,没有临时记忆的能力。

MCP(1):协议背景和发展前景

智能体(Agent)

MCP(1):协议背景和发展前景

如何充分挖掘大模型能力,让大模型做更多的事情,是业界努力的方向,这其中,最重要的概念是智能体(Agent).

一个典型的智能体的结构大体是这样子的:

MCP(1):协议背景和发展前景

智能体在大模型的基础上,增加规划能力,记忆能力,及工具调用能力,形成一个完整的功能体,可以自主执行用户的任务。

更详细一点的图是这样的(此图来自OpenAI)

MCP(1):协议背景和发展前景

这里边最关键的环节,是TOOLS(工具调用),大模型能够调用工具,才真正有能力与外界交互,通过调用工具,可以获取外部数据,也可以对外部进行行动。

MCP(1):协议背景和发展前景

Function Calling

MCP(1):协议背景和发展前景

工具调用的核心是函数调用(Function calling).

Function calling 最早由 OpenAI 在 2023 年 6 月推出并实现。OpenAI 在其 GPT 模型系列中引入了这一功能,最初是在 GPT-3.5 和 GPT-4 模型中添加的 API 功能,让开发者能够定义特定函数,使大模型可以调用这些函数以获取外部数据或执行特定操作。

Function Calling直接翻译是函数调用,但它并不是由大模型直接调用的,而是在大模型的指导下调用。

典型的流程是这样的:

MCP(1):协议背景和发展前景

1.用户提交提示

2.Agent将提示与一个或多个工具/函数定义一起提交给模型。

3.模型选择适合执行用户提示的函数,将选定的函数名称和参数返回给Agent

4.Agent根据模型返回结果执行该函数并将 API 响应返回给模型

5.模型根据API返回值和用户提示,来确定提示最终响应(可能包含分析)
6.响应通过Agent返回给用户

注:LLM 根本不执行函数,它只提供该执行的函数及必要的参数。

虽然Agent并不执行函数,但这个方法给了Agent和外界灵活交互的途径,迅速得到发展,除了Openai,其它各个大模型也迅速支持该功能。

模型以外,以Langchain等为代表的Agent框架,也都提供了Function calling的支持,同时,很多通用的功能,比如搜索等,直接提供了内置函数供调用,非常方便,以下是Langchain 预置工具列表的一部分(还有很多):

MCP(1):协议背景和发展前景
MCP(1):协议背景和发展前景

Function Calling局限性

MCP(1):协议背景和发展前景

Function calling给了大模型与外界交互的非常好的方法,但同时有它的局限性,包括:

  1. 函数的定义比较随意,包括输入输出格式等,给Agent的处理带来不少麻烦,基本的结果就是各人自己定义函数各人自己用,各框架定义的函数各框架自己用,缺乏统一性。
  2. 只能本地调用,不能远程调用,不能跨语言调用。
  3. 上下文处理非常不方便。
  4. 一些复杂的资源,尤其是大数据量调用等,用起来并不方便。

简单地说,这是对原有API的一种封装,是一种进步,但不够。

MCP(1):协议背景和发展前景

MCP

MCP(1):协议背景和发展前景

MCP正是在这一背景下应运而生的。Claude MCP,即模型上下文协议(Model Context Protocol),是 Anthropic Claude 的一个开源开放协议,旨在建立 AI 模型和开发环境之间的统一上下文交互,通过提供标准化的上下文信息访问,使 AI 模型能够更好地理解和处理代码。就像给它们之间搭建了一座桥梁,使得开发者可以通过一套标准将 AI 应用和数据源连接起来 。

MCP的核心思想是:将模型置于一个结构化、信息丰富的上下文环境中,使其能够理解自己的能力边界、可用资源和系统状态,从而做出更明智的交互决策。

MCP(1):协议背景和发展前景

如图:MCP 协议支持对本地资源的管理,如电脑里的文件、数据库(像 SQLite 数据库)等。开发人员可以使用 MCP 协议让桌面版 Claude 安全连接本地服务,进行文件的创建、读取、编辑等操作,还能对数据库中的数据进行交互操作,例如查询、更新等 。

对于远程资源,如 GoogleDrive、Slack 等平台的数据,Claude 借助 MCP 协议可以直接进行控制和访问。这使得企业和开发者在构建 AI 应用时,能够轻松整合不同来源的数据,如从商业工具、软件、内容库、应用程序开发环境等各种来源提取资料,协助模型产生与指令更相关的回复 。

理论上,这些功能都可以通过类似Function calling来实现,但代价非常高,而MCP是一种标准方法,有了标准方法,无论对服务端,还是客户端,实现都极为容易 ,也极易扩展。叫它USB不过份,因为USB就是这样一个协议,文件传输,打印,直到网卡,键盘,鼠标,只经遵循这个协议,都可以即插即用。

所以说,这些操作,有了MCP以后,都变得极为简单。

MCP(1):协议背景和发展前景

MCP(1):协议背景和发展前景

未来前景

MCP(1):协议背景和发展前景

有了MCP的AI程序,功能会迅速得到扩展,类似下图:

MCP(1):协议背景和发展前景

一旦插上数据的翅膀,大模型的能力会得到极大的发挥,这也是所有用户需要的。

但从另一个角度,MCP没那么神秘,它只是个协议,如果所有人都用,协议的威力将无比强大,但如果有另一个更好的协议,它也可以随时被取代。

基于HTML和TCP/IP的协议主导了互联网时代,在该协议的基础上,网站得到巨大发展,统治了一个时代。后来的Open API支持了移动应用、微服务的发展。但这两种协议都是为以前的应用程序设计的,都不足以支撑AI时代的发展。MCP给出一种可能,就是这种协议可以支撑AI应用的发展,互联网的服务方式将发展根本性变化。

理论上,现在很多应用,比如公有云,对外提供各种API供调用,未来也可以直接提供MCP协议供AI类应用使用。

目前,该协议的主要支持模型还是Anthropic Claude,最近微软的Azure openai也开始支持,已经有一些在互联网上提供MCP协议的服务器在运行,并且发展迅速,说明它已经开始得到认可。

只要更多模型、框架、应用、服务的支持,未来可期。

MCP(1):协议背景和发展前景

END

原文始发于微信公众号(AI与安全):MCP(1):协议背景和发展前景

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年3月21日00:22:04
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   MCP(1):协议背景和发展前景http://cn-sec.com/archives/3865216.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息