MCP \

概念

MCP(模型上下文协议),目的是统一AI与外部工具、数据源之间的连接方式。

(解决了多个ai应用与多个外部工具和数据源的适配功能)(AI应用实现MCP Client,,工具实现MCP Server)

MCP 的核心组件

**Host:**Host 是面向用户的 AI 应用,比如 Claude code、Cursor等,Host 负责管理

整个应用的生命周期,是用户直接交互的入口。一个Host 内部可以创建多个MCP Client 实例,每个Client 连接一个 Server。

Client: Client 运行在 Host 内部,负责和 MCP Server 建立连接、维护通信会话。

Server: Server 是能力提供方,负责把某个工具或数据源的能力按照MCP 协议暴露出来。

MCP Server 暴露的三种能力

  1. Tools,让模型可以执行操作。
  2. Resources,提供上下文数据给模型。
  3. Promots,预定义的Prompt模版,方便用户快速触发特定场景(代码审查等)。

MCP 通讯流程

  1. Client启动时握手,交换双方的协议版本。
  2. Client调用tools拿到Server的工具定义(名称、描述、参数等)。
  3. 用户提问后,模型更具工具描述决定调用什么工具。
  4. Client发送tools请求到Server,server执行具体操作后返回结果。
  5. Client吧结果拼到上下文发送给模型,模型继续推理。

MCP 和 OpenAI 的 Function Calling 的区别

Function Calling 只定义了模型输出的函数调用格式,告诉模型"你可以调哪些函数",什么调用,用什么参数不说,MCP是端到端的协议,能力发现、怎么调用、有什么参数都包含。

两者不冲突,MCP Client 内部用Function Calling把描述发给模型。

MCP Server 挂了或者响应超时,Client 端一般怎么处理方式

设置调用超时,超时直接返回错误信息给模型。模型拿到错误后可以选择重试、换个工具、或者直接告诉用户"这个操作失败了"。

MCP Server 挂了,Host 处理方式,会不会影响其他 Server 。

不会影响。MCP 的架构设计就是一个 Client 对一个 Server,Client 之间互相隔离。某个 Server挂了,对应的Client 会收到连接断开的通知,Host可以选择重连、降级或者告诉用户这个工具暂时不可用。其他Client 和它们连的 Server完全不受影响。这和微服务的故障隔离思路一样,不会因为一个服务挂了把整个系统拖垮。

相关推荐
爱敲代码的小黄2 小时前
神经网络入门指南:从 CNN、RNN 到 Attention
人工智能·面试·程序员
一只爱撸猫的程序猿3 小时前
我看着一个 AI 引擎在 14 天里,从"记忆"走进了"搜索"
人工智能·后端·架构
我登哥MVP4 小时前
DeepSeek-Harness-Super-Agent-学习笔记
人工智能·深度学习·神经网络·机器学习·自然语言处理·agent
LucianaiB4 小时前
【元宝搜索开发者征文大赛】AI时代,学得慢就不用学?用元宝搜索打造一个教程保质期,确保每一个教程符合你的现状
前端·人工智能·ai编程
冬奇Lab5 小时前
一天一个开源项目(第256篇):Anatomy —— 让 Claude 为技术概念「发明一台机器」,画成可交互的等距插画
人工智能·开源
孟郎郎5 小时前
打造一切(Craft Anything)——克隆构造世间万物
人工智能·ai·github·软件构建·开源软件
Martina_03215 小时前
AI生成3D场景的霓虹灯一开就糊成光团?用6步检查Emissive、Bloom与曝光
人工智能·3d·ai·自然语言处理·游戏引擎·材质·贴图
master3366 小时前
AI领域常用名词的系统梳理
人工智能·ai
Spidermanbaout6 小时前
Prompt-Engineering实战-2026年11月2日
人工智能·机器学习·ai·chatgpt·ai编程