返回顶部
热门问答 更多热门问答
技术文章 更多技术文章

【深度思考】MCP究竟是什么?

[复制链接]
链载Ai 显示全部楼层 发表于 前天 12:47 |阅读模式 打印 上一主题 下一主题

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的限制

  • API暴露固定的预定义端点(如/products/orders/invoices
  • 添加新功能需要创建新端点或修改现有端点
  • API变更会破坏所有客户端
  • 文档与接口分离,常常不同步或不存在
  • MCP的创新之处

    • MCP服务器将功能暴露为带有语义描述的"工具"
    • 每个工具都是自描述的,包含对功能、参数、输出和限制的说明
    • 无需单独文档,接口本身就是文档
    • 服务变更不会破坏客户端,客户端会动态适应变化
    • 可以基于上下文有条件地提供工具

    MCP的核心价值

    现在我了解到,MCP与传统API的区别不仅在于技术实现,更在于设计理念和解决问题的方式。MCP的核心价值包括:

    1. 自描述性:工具和资源包含足够的元数据,使得大模型可以理解如何使用它们
    2. 动态适应:客户端能够发现并适应服务器提供的能力,而不需要硬编码
    3. 上下文敏感:服务器可以根据客户端的状态和上下文提供适当的工具
    4. 统一标准:为AI与外部资源和工具的交互提供一致的规范
    5. 完整生态:不仅包括接口规范,还包括工具、资源、提示和采样等概念

    通过标准化释放价值

    理解MCP的协议本质后,我想到了其他技术标准化的成功案例。微信小程序就是一个绝佳的例子 - 它不仅定义了开发接口,更创建了一个完整的生态系统。通过标准化,腾讯不需要自己开发所有应用,而12306、高德打车、百度网盘等服务提供商能将自己的功能无缝集成到微信中。这大大提高了服务接入微信的速度,创造了巨大的生态价值。

    同样,USB标准不仅定义了物理接口,还规定了数据传输协议、电力传输标准以及设备识别机制等。这种全面的标准化让我们能用一根线连接几乎所有设备,从而改变了我们的日常生活。

    MCP作为连接AI与外部世界的标准化协议,其意义远超我最初的想象。它不仅是技术接口,更是一种使AI能力得到扩展和释放的机制。

    学习新事物的反思与启示

    这次对MCP的理解转变给了我宝贵的启示:

    1. 保持开放心态:初始理解常常是不完整的,甚至可能有误导性
    2. 多元信息获取:通过不同渠道、不同角度的信息来丰富认知
    3. 积极讨论交流:与他人的思想碰撞常常能激发新的认识
    4. 批判性思考:不断质疑和审视自己的理解,勇于修正错误
    5. 深入本质:努力探索概念背后的核心价值和设计理念

    技术发展日新月异,保持学习的谦逊和探索的热情,才能不断更新自己的知识地图,形成更接近真相的理解。正如我在那条反思推文中所说:"当它提出规范时,它是一个协议。"这个简单的认知转变,让我对技术标准化的价值有了全新的理解。

    在这个快速变化的技术世界中,理解是一个持续的旅程,而不是一次性的成就。只有通过多看多听多交流,再加上自己积极的思考,我们才能建立起对新事物的准确理解。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

链载AI是专业的生成式人工智能教程平台。提供Stable Diffusion、Midjourney AI绘画教程,Suno AI音乐生成指南,以及Runway、Pika等AI视频制作与动画生成实战案例。从提示词编写到参数调整,手把手助您从入门到精通。
  • 官方手机版

  • 微信公众号

  • 商务合作

  • Powered by Discuz! X3.5 | Copyright © 2025-2025. | 链载Ai
  • 桂ICP备2024021734号 | 营业执照 | |广西笔趣文化传媒有限公司|| QQ