链载Ai

标题: 【深度思考】MCP究竟是什么? [打印本页]

作者: 链载Ai    时间: 前天 12:47
标题: 【深度思考】MCP究竟是什么?

ingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">最近在X(Twitter)上,无意中看到Santiago的推文,引起自己的思考。这个新兴技术标准的本质究竟是什么?什么是MCP?

ingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">其实MCP是什么,并没那么重要。只要知道它能做什么,不能做什么。理解它的过程,正是自己的想法逐渐成型的过程。期望今天的分享对大家有帮助。


ingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">Santiago@svpino发表了一条推文,强调MCP不仅仅是"另一种API":

ingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;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;">

"Model Context Protocol (MCP)不只是'另一种API'。如果你认为'兄弟,这两个概念是一样的',说明你还没有真正理解它。"

ingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">他详细解释了传统API的局限性:API暴露固定的预定义端点,任何变更都可能破坏客户端,而MCP工作方式完全不同。MCP服务器将功能暴露为自描述的"工具",包含语义描述,无需单独文档,客户端能动态适应变化。

ingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">我最初回应道:

ingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;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;">

"感谢分享你的想法。我同意MCP不仅仅是另一种API,但我认为你的解释可能不够完整。OpenAPI规范的API服务器也可以是自解释的。MCP客户端本身也无法选择合适的工具,它依赖LLM。只要有适配器能将OpenAPI端点转换为LLM兼容的工具定义,并能处理工具调用和执行,它也能像MCP一样正常工作。"

ingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">我当时认为,MCP与OpenAPI的主要区别可能在于其他概念,如资源、提示等,以及背后的开源社区和工具支持。

ingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">然而,经过进一步思考,我发布了一条后续推文,表明我的理解发生了转变:

ingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;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;">

"思考后,我刷新了思路。不,MCP确实不只是另一种API。这是因为MCP Specification中的一切。当它提出规范时,它是一个协议。该规范涵盖了LLM需要与资源、工具等交流的一切。这就是它与API的区别所在。"



我对MCP的认知转变

最初,我对MCP的理解相对片面。我认为它只是另一种API规范,可能与OpenAPI有相似之处,只是专门为大语言模型设计的。我的想法是:

"MCP服务器也可以基于OpenAPI规范来实现,这样现有的API就可以大量重用。要做的或许只是开发MCP客户端和服务端所需的开发工具,帮助开发者更轻松地构建应用。毕竟OpenAPI只是API规范,要将API集成到AI应用中作为工具调用,还有'最后一公里'的问题需要解决。"

这种理解并非完全错误,但它忽略了MCP更深层次的价值和意义。

从接口到协议的认知跃迁

通过讨论和反思,我意识到MCP不仅仅是一套API定义,而是一个完整的协议。这种认识上的转变是关键的:

"MCP是一套协议,协议不仅仅约定了API交互的接口,更重要的是约定在MCP系统中,各个功能与组件如何协同,并且如何保证系统的安全性等等 - 比如,授权怎么做。这正是它为什么被称为协议。API只是接口,而不是协议。"

协议与API的本质区别

Santiago在他的推文中精确地指出了MCP与传统API的根本区别:

  1. 传统API的限制






欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5