MCP 深度解析
套用一句关于幺半群的名言:"MCP 是一种开放协议,用于标准化应用程序向 LLM 提供上下文的方式,问题何在?"但即使花数小时阅读 MCP 的定义并实操示例,仍难以清晰把握其具体运作流程:LLM 负责什么?MCP 服务器做什么?MCP 客户端的角色是什么?数据流如何流动?决策点位于何处?本文将深入解析 MCP 的本质、工作原理,并通过完整的分步示例展示各组件如何协同工作,以及每一步的具体操作。
具体而言,我们部署了一个故意包含漏洞的 Cloudflare Worker。该错误在 Sentry 中触发警报后,Visual Studio Code(VS Code)内运行的 AI 助手(Cline)通过托管的 Sentry MCP 服务器提取堆栈跟踪信息,通过本地 GitHub MCP 服务器创建对应的 GitHub 问题,修补代码,提交修复并重新部署 —— 所有操作均在人工审批下完成。MCP 将集成工作从 M×N 定制桥接模式简化为 M+N 适配器模式,但也带来了延迟、安全审查和学习曲线等成本。
为何需要 MCP
当 AI 助手需要协调现实系统(如用于监控的 Sentry、代码管理的 GitHub、工单系统 Jira、数据库 Postgres 等)时,每增加一对工具集成,就需要一个定制适配器、一组令牌垫片和一处潜在故障点。最终形成的 “胶水代码” 不仅难以维护,还增加了安全风险。MCP 的诞生旨在通过统一的交互协议取代这种混乱局面,使任何兼容的主机都能直接与合规工具通信。
M×N 集成成本
若没有 MCP,每个大型语言模型(LLM)主机