Skip to content
🔗 分享本题
查看我的学习进度 →

MCP适用场景边界抽象成本与替代方案决策图解

🧠 图解记忆: MCP 是可复用能力协议,不是万能接口;抽象收益小于成本时就别用。

💡 答案要点

面试官想考察什么:

这道题的本质不是考你知道多少,而是考你是否"明白自己不知道什么"。能说清楚一个技术的边界,比能背书它的优点更能体现工程成熟度。


应该避免使用MCP的场景:

场景说明为什么MCP不合适更好的选择
简单的点对点集成单个服务调用单个API引入MCP层增加复杂度,收益为零直接HTTP/gRPC
一次性脚本跑一次就扔的工具脚本写MCP Server的开销远超写个curlPython脚本 / 直接API
强一致性事务需要ACID的事务MCP的工具调用是"即发即忘",没有事务语义数据库事务 / 消息队列
高频低延迟交易毫秒级响应要求stdio传输有进程启动开销,SSE有网络开销直接SDK
数据量极大的流处理TB级数据管道MCP的请求-响应模型不适合流式场景Kafka / Flink
团队缺乏维护能力没有DevOps/SRE支持MCP Server需要持续运维(版本、安全、更新)托管API服务

MCP适合的场景 vs 不适合的场景对比:

✅ 适合 MCP 的场景:
   - 多客户端需要共享同一套工具能力(Cursor + Claude Code + 自定义App)
   - 工具需要被多个不同类型的Agent调用
   - 需要标准化的安全审计和权限控制
   - 工具生态正在扩展,需要"热插拔"式管理

❌ 不适合 MCP 的场景:
   - 内部微服务之间的同步调用(直接RPC更简单)
   - 对延迟极其敏感的交易系统(MCP的开销不可接受)
   - 一次性数据迁移/ETL脚本
   - 只需要调用一个固定API的场景(不需要抽象层)

面试话术(反套路):

"我用过MCP,也踩过MCP的坑——有一次我们把一个简单的PDF转Markdown脚本包装成MCP Server,结果发现它的启动延迟比直接执行脚本还高10倍,团队维护成本也上去了。后来我们把这种一次性工具改回Python脚本,MCP只留给真正需要跨客户端共享、并且需要统一安全治理的工具。这个教训让我理解到:MCP的本质是'可复用的能力抽象',不是'把什么都扔上去的万能接口'。"


面试加分项:

  • 能举出自己实际项目中"用了MCP但后来发现不合适"的真实案例
  • 能说出stdio vs SSE两种传输层在延迟上的具体差异
  • 理解MCP是"USB-C",但USB-C不适用所有设备

📚 参考:MCP 官方 FAQ(适用边界)