链载Ai
标题: 看完这10张动图,我终于理解MCP的原理了!它和API不一样! [打印本页]
作者: 链载Ai 时间: 昨天 17:57
标题: 看完这10张动图,我终于理解MCP的原理了!它和API不一样!
ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);visibility: visible;line-height: 1.75em;box-sizing: border-box !important;overflow-wrap: break-word !important;">关于模型上下文协议 (MCP) 的讨论层出不穷,今天我们来了解一下它到底是什么。从直觉上看,MCP像是AI应用的USB-C接口。ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);visibility: visible;line-height: 1.75em;box-sizing: border-box !important;overflow-wrap: break-word !important;">正如USB-C提供了一种标准化的方式,将设备连接到各种配件,MCP则标准化了AI应用与不同数据源和工具的连接方式。
ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);visibility: visible;line-height: 1.75em;box-sizing: border-box !important;overflow-wrap: break-word !important;">让我们从技术角度稍微深入探讨。ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);visibility: visible;line-height: 1.75em;box-sizing: border-box !important;overflow-wrap: break-word !important;">MCP的核心是基于客户端-服务器架构,主机应用程序可以连接到多个服务器。ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);visibility: visible;line-height: 1.75em;box-sizing: border-box !important;overflow-wrap: break-word !important;">它有三个关键组成部分:- ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);visibility: visible;line-height: 1.75em;box-sizing: border-box !important;overflow-wrap: break-word !important;">主机(Host)
- ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);visibility: visible;line-height: 1.75em;box-sizing: border-box !important;overflow-wrap: break-word !important;">客户端(Client)
- ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);visibility: visible;line-height: 1.75em;box-sizing: border-box !important;overflow-wrap: break-word !important;">服务器(Server)
ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);visibility: visible;line-height: 1.75em;box-sizing: border-box !important;overflow-wrap: break-word !important;">在深入了解之前,先来看一张概览图?
ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);visibility: visible;line-height: 1.75em;box-sizing: border-box !important;overflow-wrap: break-word !important;">主机(Host)
指任何提供AI交互环境的应用程序(例如Claude桌面、Cursor),可以访问工具和数据,并运行MCP客户端。
MCP客户端(Client)
在主机内运行,负责与MCP服务器进行通信。
MCP服务器(Server)
提供特定功能并访问数据,包括:
工具:使LLM通过服务器执行操作。
资源:向LLM暴露服务器中的数据和内容。
提示:创建可重复使用的提示模板和工作流。
了解客户端与服务器的通信机制是构建自己的MCP客户端和服务器的关键。
那么,客户端和服务器是如何通信的呢?
以下是一张图示,我们逐步解析……
首先是能力交换阶段:
客户端发送初始请求 (Initial Request),了解服务器的能力。
服务器回应其能力细节 (Initial response)。
例如,当请求一个天气API服务器时,它可以回复可用的“工具”、“提示模板”以及其他资源。
完成交换后,客户端确认连接成功,然后继续进行后续的消息交换。
这种设计的强大之处在于
在传统的API设置中:
而MCP的设计如下:
MCP引入了一种动态且灵活的方式,与传统API形成鲜明对比。
例如,当一个客户端(如Claude桌面等AI应用)连接到一个MCP服务器(例如你的天气服务)时,它会发送初始请求了解服务器的能力。
服务器回应其可用的工具、资源、提示和参数详情。例如,若最初支持地点和日期,服务器会将这些作为能力的一部分进行通信。
未来我们将探索如何创建自定义MCP服务器,并围绕它们构建实践演示。敬请期待!
你觉得MCP是否比传统API设置更强大?
| 欢迎光临 链载Ai (https://www.lianzai.com/) |
Powered by Discuz! X3.5 |