案例分享——MCP改进提案在生产中落地的例子

提案 SEP-1306: Binary Mode Elicitation for File Uploads

https://github.com/modelcontextprotocol/modelcontextprotocol/issues/1306

真实用例:用于医疗保健计划分析的文档上传

我是正在构建医疗保健计划分析平台 (PlanVantage) 的 MCP 服务器作者。我们的 MCP 服务器允许 AI 助手上传福利计划 PDF,以便自动提取计划设计、费率和缴款信息。后端 API 是一个简单的多部分表单 POST。

当前的问题

  • Stdio 传输(本地 MCP 服务器): 完美运行。我们的工具接受一个 file_path,服务器从磁盘读取文件,并通过多部分表单上传。用户说"上传此目录中的所有 PDF",它就能正常工作------每个文件只需一次工具调用,快速且可靠。
  • 远程 HTTP+SSE 传输(OAuth 连接器): 对于文件上传来说基本无法使用。MCP 服务器无法访问客户端的文件系统,因此模型退而求其次,读取每个 PDF,进行 base64 编码,并将其作为字符串工具参数传递。对于典型的 2-5MB 的福利 PDF,这会导致:
    • 二进制数据大量消耗上下文窗口
    • 对于本应是简单批量上传的操作,需要 50-100 多次工具调用
    • 频繁失败、输出损坏和超时
    • 糟糕的用户体验

这迫使 MCP 服务器作者面临的权衡

特性 Stdio (本地) 远程 HTTP+OAuth
文件上传 运行良好 无法使用
安装体验 需要 Node.js,配置编辑 无缝的一键 OAuth
最适合 技术用户 非技术最终用户

我们无法同时拥有可靠的文件处理和无缝的安装体验。我们的客户是福利顾问和人力资源专业人士------要求他们安装 Node.js 并编辑 JSON 配置文件是行不通的。但远程连接器无法处理他们的核心工作流程(上传计划文档)。

为什么 SEP-1306 能解决这个问题

提议的客户端中介上传流程完全正确。客户端(Claude Desktop)已经拥有文件系统访问权限,并且已经提示用户批准工具调用------将其扩展为代理文件传输到服务器提供的上传端点,将完全弥合这一差距。我们的服务器将提供上传 URL,客户端将处理文件读取和传输,而模型的上下文窗口则保持干净。

这是我们构建生产级 MCP 集成时遇到的最大限制。非常希望看到这个提案取得进展。

相关推荐
为美好的生活献上中指3 天前
《Spring AI MCP 实战全景:AI 股票大师如何用模型上下文协议接入金融数据宇宙——从 JSON-RPC 握手到企业级部署与安全加固》
serverless·mcp·模型上下文协议·promptinjection·toolpoisoning·mcp生态
吴佳浩3 天前
Tool 的安全性与执行沙箱:从 Docker 到 gVisor 的防御架构
agent·ai编程·mcp
xrlfreedom4 天前
大厂 MCP 面试实录:桌面客户端 stdio Server 调试与提示注入防护方案设计
resources·mcp·提示注入防护
deepseek234 天前
WSO2 Agent Manager 正式可用:企业 Agent 从能跑到可治理,沙盒、身份与 MCP 如何落地
人工智能·ai agent·mcp·企业治理
学电子她就能回来吗4 天前
把自然语言变成可制造 CAD:开源 SolidWorks Automation Skill 的工程化实践
人工智能·python·自动化·solidworks·mcp
吴佳浩4 天前
Function Calling 为什么不够用?深入拆解 MCP 标准协议的设计哲学
agent·ai编程·mcp
吴佳浩4 天前
从零手写一个生产级 MCP Server:鉴权、流式传输与状态管理
agent·ai编程·mcp
咖啡星人k5 天前
MCP 工具调用的成本控制:按量计费下的四个止损点
工程实践·mcp·成本控制
咖啡星人k5 天前
用 MCP 把找读抽做成一条信息流水线
信息检索·工作流·mcp
光依旧5 天前
MCP实战手记系列(五):让工具返回一个能点的界面(文末附github源码链接)
java·spring ai·前端集成·mcp·mcp apps