当前位置: 首页 > news >正文

简单理解MCP:AI如何使用工具


简单理解MCP:AI如何使用工具(以天气/新闻服务为例)
在这里插入图片描述

你是否注意到人工智能(AI)助手正变得越来越智能?它们不再仅仅是聊天,还能执行实际操作,比如查询天气、在线搜索,甚至预订会议。这通常涉及到使用外部的“工具”(如API或函数)。

但是,一个AI(比如驱动你最喜欢的聊天应用的那个)是如何可靠地连接并使用由不同开发者创建的各种工具呢?这就是模型上下文协议 (Model content Protocol, MCP) 发挥作用的地方。
在这里插入图片描述

MCP解决的问题

想象一下,你试图将来自不同国家的电器插头插入你家的墙上插座——你需要各种转换器,因为它们的插头标准各不相同!类似地,不同的AI模型和不同的工具提供者可能有各自独特的“沟通”方式。将它们连接起来可能会变得混乱和复杂。

MCP就像一个通用适配器或一种标准语言。它定义了一套通用的规则,规定了AI模型、你使用的应用程序(客户端)以及工具提供者(MCP服务器)应该如何交互。

认识参与者

为了理解工作流程,让我们明确各个角色:

  1. AI (大语言模型 - LLM): 这是“大脑”(比如来自OpenAI、Anthropic、Google等的模型)。它理解你的请求,并决定是否需要工具来回答。
  2. MCP 服务器 (MCP Server): 这是“工具箱提供者”。它是一个提供一个或多个工具的服务。在我们的例子中,想象一个“天气与新闻服务”,它提供获取天气预报和新闻头条的工具。
  3. 客户端 (Client): 这是正在交互的应用程序(例如,一个特殊的聊天界面、一个编码助手)。它充当中间人,将你和AI连接到MCP服务器(工具箱)。重要的是,通常是你(或应用程序开发者)告诉客户端应该连接到哪个(或哪些)MCP服务器。 AI不决定使用哪个服务器,只决定使用已连接服务器上的哪个工具

在这里插入图片描述

MCP 工作流程:分步详解(以天气/新闻为例)

让我们来看看当你通过客户端应用向AI助手提问时,事情是如何运作的,比如问:“明天伦敦的天气怎么样?还有,最新的头条新闻是什么?”

第1步:客户端连接到MCP服务器

  • 首先,你正在使用的客户端应用程序需要与你(或应用程序)指定的“天气与新闻服务”MCP服务器建立连接。
  • 可以想象成: 把你的应用程序插入天气与新闻服务指定的端口。MCP定义了如何安全可靠地建立这种连接。

第2步:客户端发现可用工具

  • 一旦连接成功,客户端会询问MCP服务器:“嘿,你提供哪些工具?”
  • 服务器会按照MCP标准回复一个列表。这个列表包含:
    • 工具名称(例如,get_weather_forecast, get_latest_news)。
    • 描述(例如,“为指定城市提供天气预报”,“获取当前热门新闻头条”)。
    • 所需输入(例如,get_weather_forecast 需要一个 city 名称)。
  • 可以想象成: 阅读机器上按钮的标签,看看每个按钮是干什么用的。

第3步:客户端为AI准备请求

  • 你在客户端应用中输入你的请求:“明天伦敦的天气怎么样?还有,最新的头条新闻是什么?”
  • 客户端接收你的请求,并将其与从天气与新闻服务器收到的可用工具列表(来自第2步)打包在一起。它将这个完整的包裹发送给AI (LLM)。

第4步:AI决定是否以及如何使用工具

  • AI分析你的请求(“伦敦天气”、“头条新闻”)。
  • 它查看可用的工具(get_weather_forecast, get_latest_news)及其描述。
  • 它判断:
    • “要回答天气部分,我需要 get_weather_forecast 工具,并且 city 输入应该是’伦敦’。”
    • “要回答新闻部分,我需要 get_latest_news 工具(这个可能不需要特定输入)。”
  • 然后,AI将指令发送回客户端,大致意思是:“请使用 get_weather_forecast 工具,参数 city=伦敦,并使用 get_latest_news 工具。” MCP标准化了AI传达这个决定的方式。

第5步:客户端通过MCP执行工具

  • 客户端收到来自AI的指令。
  • 然后,它使用标准的MCP格式 (call_tool) 向天气与新闻MCP服务器发出正式请求:
    • “运行 get_weather_forecast,输入 city='伦敦'。”
    • “运行 get_latest_news。”
  • 可以想象成: 客户端按照AI的指示按下了机器上的特定按钮。

第6步:MCP服务器运行工具并返回结果

  • 天气与新闻服务器收到 call_tool 请求。
  • 它运行其内部逻辑(例如,调用其天气API合作伙伴、查询其新闻数据库)。
  • 它收集结果(伦敦的天气预报详情、新闻标题列表)。
  • 它将这些结果再次按照MCP标准打包,发送回客户端。

第7步:AI生成最终回答

  • 客户端从服务器收到工具执行的结果(例如,原始天气数据、新闻文章片段)。
  • 它将这些结果发送回AI (LLM)。
  • AI结合原始问题和工具结果,为你生成一个最终的、易于理解的回答:
    “好的,伦敦明天的天气预报是部分多云,最高气温18℃。最新的头条新闻包括…”

为什么MCP很重要?

MCP看起来可能有很多来回传递,但它的价值是巨大的:

  • 标准化 (Standardization): 大家都说同一种语言。客户端、服务器和LLM都知道如何相互沟通。
  • 互操作性 (Interoperability): 你可以轻松地更换不同的AI模型或添加新的工具服务器,而无需从头开始重建一切。一个为使用MCP而构建的客户端理论上可以与任何兼容MCP的服务器对话。
  • 简化开发 (Simplicity for Developers): 虽然涉及一些步骤,但拥有一个标准使得开发者能够更容易地构建可以可靠协作的客户端和服务器。

本质上,MCP充当了关键的管道和线路,使得AI生态系统的不同部分能够顺畅连接和协作,从而实现了我们在现代AI应用中看到的复杂的工具使用能力。它帮助AI从简单的聊天,进化到能够真正事情的阶段。

相关文章:

  • 开元类双端互动组件部署实战全流程教程(第1部分:环境与搭建)
  • 网络:cookie和session
  • 使用汇率查询API帮你实时查询汇率,促进货币交流
  • GPU性能加速的隐藏魔法:Dual-Issue Warp Schedule全解析
  • 游戏开发的TypeScript(5)TypeScript的类型转换
  • ciscn_2019_c_1
  • 2025 年 408 真题及答案
  • wordperss AI插件:AI图文+视频+长尾关键词自动生成,已内置deepseek、kimi全模型,支持简单一键接入更多自定义API
  • 数据集-目标检测系列- 牙刷 检测数据集 toothbrush >> DataBall
  • Cadence高速系统设计流程及工具使用
  • WidowX-250s 机械臂的简单数字孪生案例
  • 2025.5.4总结
  • 【信息系统项目管理师-论文真题】2007下半年论文详解(包括解题思路和写作要点)
  • 【信息系统项目管理师-论文真题】2008上半年论文详解(包括解题思路和写作要点)
  • TS 交叉类型
  • linux stm32mp157 GIC-V2 中断处理过程分析
  • Latex——英文破折号
  • FreeRTOS系统CPU使用率统计
  • Java按字节长度截取字符串指南
  • 信息系统项目管理师-软考高级(软考高项)​​​​​​​​​​​2025最新(九)
  • 新加坡国会选举投票抽样结果公布,执政党已获超半数议席
  • 客流持续高位运行,长三角铁路计划增开153列旅客列车
  • 上海浪琴环球马术冠军赛明日启幕!五一假期在这里感受精彩
  • 据报特斯拉寻找新CEO,马斯克财报会议上表态:把更多时间投入特斯拉
  • 微软上财季净利增长18%:云业务增速环比提高,业绩指引高于预期
  • 解放日报:人形机器人新赛道正积蓄澎湃动能