• 个人觉得MCP协议现在就是一坨屎
  • 发布于 6小时前
  • 21 热度
    8 评论
MCP 没有解决大模型如何调用工具的问题,MCP 解决的是 大模型客户端 如何调用工具的问题。最近手搓一个带 MCP 功能的 Chatbox ,发现 MCP 协议和生态完全是一坨,踩了不少坑,于是拿出来吐嘈一下。欢迎指教。3 种通信协议:stdio, HTTP+SSE, Streamable HTTP。https://modelcontextprotocol.io/specification/2025-06-18/basic/transports

stdio 下,来一个请求启动一个 process ,直接对接 stdio stdout 二进制流。先不说性能和安全问题,管道中的一段数据被缓冲区截断怎么办?客户端什么时候知道数据读取完了?流式输出的工具怎么调用? stderr 管道的数据怎么标记并传输? stdio 方案就是个玩具。

接着是 HTTP+SSE ,客户端与服务器建立一个长连接 SSE 来 获取数据。发送数据需要客户端另外建立 HTTP POST 链接。多个链接之间使用 MCP Session ID 识别。不知道是喝了多少想出来的。。。硬生生把所有 server 变成 stateful 。最坑的是,这种协议已经被弃用,官方文档也只有一句弃用的说明。而阿里百炼 MCP 广场和许多在线 MCP 只支持这种协议。如果我手搓的客户端不兼容这种协议,将会失去许多可用的在线 MCP 。

最后一种 Streamable HTTP 就比较正常了。好不容易调通了,发现了 CROS 的问题。几乎所有在线 MCP 都没有考虑 CROS 。fastmcp 这个框架也没有很直观的开启 CORS 的选项。怎么的? mcp server 都不打算公开在线用的是吗?另外是需要登录的 MCP 。例如 Google Gmail 的 MCP 需要登录 Google 帐号,流程太复杂了我都不想去实现了。气死我了气死我了
用户评论
  • 我与裙摆
  • 只能说湿先入为主了,它是赶上了 AI agent 的风头,解决了 AI 和其他系统桥接的痛点。现在业界都认它,感觉没有 MCP 的功能,就要落伍了一样。
  • 2025/8/11 9:14:00 [ 0 ] [ 0 ] 回复
  • 晴昼烟雨长
  • 这帮搞 ai 的,在 curd 和协议制定上,确实差了点意思。
    就说一个,如果我 AI 接入了 100 个,1k ,1w 个 mcp ,请问该怎么工作?
    如果不能解决这个问题,那么这个 MCP 还只能是有限 MCP 。
  • 2025/8/11 9:12:00 [ 0 ] [ 0 ] 回复
  • 乌龙山
  • 不觉得你说的是啥问题。像那个 google 验证,要支持验证你嫌麻烦,如果不支持验证你又会吐槽:这么多 mcp 服务公开在线用的都不支持验证,谁设计的都不考虑安全性吗?这协议就是个玩具。
  • 2025/8/11 9:11:00 [ 0 ] [ 0 ] 回复
  • Vinda
  • mcp 真不好用,有很多 mcp 一下带了几十上百个工具,现有的模型没有能力承载这么多工具的,占用大量上下文不说还降低模型的能力,我看过最离谱的一个一次上下文带了快三百个工具
  • 2025/8/11 9:10:00 [ 0 ] [ 0 ] 回复
  • 耀国
  • 最近还想拿 node 看看咋写 mcp 的,忙着也一直没开动,所以 mcp 是个啥,看着就是一个 schemaJSON ,告诉 ai 有啥函数可以调,该传啥参数,然后按函数 key 匹配?和平时做业务,让后端返回一些菜单表差不多啊。只要能造出这个 json 给大模型客户端用就行了吧,关键就看客户端怎么调了。
  • 2025/8/11 9:07:00 [ 0 ] [ 0 ] 回复
  • 春风不醉
  • 从命名开始就是想碰瓷 LSP 营销的产品。仿佛是无脑巨婴用大模型设计的“协议”,完全没有将 MxN 的适配问题转化成 M+N ,反而是让问题变得更复杂了。
  • 2025/8/11 9:05:00 [ 0 ] [ 0 ] 回复
  • 荒岛初冬
  • MCP 刚出的时候,我自己的框架已经有比较完整的工具流了,光各个平台的 OpenAI API 都有一堆漏屎的烂摊子,写了一堆擦屁股的代码,根本不想碰 MCP 。
  • 2025/8/11 9:02:00 [ 0 ] [ 0 ] 回复
  • 烂好人i
  • 你的 Chatbox 应该集成一个“处理这些烂事的 MCP 代理”,而不是在 Chatbox 里面处理这些和对话无关的细节。
    你只需要支持 Streamable HTTP 格式即可。目前 lobechat 就是这样做的。
  • 2025/8/11 9:00:00 [ 0 ] [ 0 ] 回复