什么是 MCP 协议?🤖🌐

简而言之,MCP(模型上下文协议)由两部分组成:

MCP 服务器 🧠

  • 就像餐厅的菜单——向 AI 显示可用选项。
  • ⚠️ 注意:并非所有「餐厅」都好,有些可能很贵!
  • 胡浏览器 MCP 服务器让 AI 能够像人类一样在桌面或移动设备上控制浏览器。目前,此功能仅对企业客户开放。

MCP 主机与客户端 💬

  • 主机就像一个聪明的助手,能理解你的请求(「我是素食」或「来份我最爱的鸡肉菜!」),并帮你从菜单上点对的菜。
  • 胡浏览器 MCP 主机能理解你的自然语言,并通过与不同服务通信把事办成。

如果你懂技术 🤓

一句话概括:一种基于 JSON‑RPC 的协议,使用 JSON Schema 来进行工具的发现与调用,支持本地或远程传输。实用层面:它提供一套一致的契约——列出工具、描述输入/输出、发起调用,并以流式方式返回结果。

何时适合使用 MCP ✅

  • 希望同一套工具在多个 AI 应用之间复用,而不是为每个应用单独集成
  • 需要可发现、强类型的工具与资源接口
  • 关注工具调用的可观测性与可控性
  • 计划混用本地与远程能力并进行编排

何时可能不值得 ⚖️

  • 单一应用只调用单一 API,几乎无需编排
  • 极度无状态、一次性任务,直接用 REST 更合适
  • 不需要工具发现,只是少量硬编码调用

深入了解 MCP 🔍

模型上下文协议(MCP)让 AI 不再局限于问答,而是能够执行动作——比如发送邮件、部署代码或发布文章。因为它是开放标准,任何主机(Host)都能支持,任何服务器(Server)也能在不同 Host 之间复用。这比各家模型厂商自有的 function calling/tool use 更易扩展、可维护性更好。

当前面临的挑战 ⚠️

复杂性 🌀

如果已经有现成 API,把它再包一层 MCP Server 有时显得冗余;相比直接使用 REST/OpenAPI,会引入额外的安全与权限面,增加维护开销。

安全性 🔒

MCP Server 面临多重安全风险:

  • 创建阶段:恶意者可能注册与合法 Server 相似的名称,欺骗用户安装
  • 代码注入:Server 的源代码或配置文件可能被注入恶意代码
  • 运行时冲突:多个工具使用相同或相似的名称,导致选择工具时发生冲突,执行错误操作或泄露敏感数据
  • 权限管理:Server 更新后,过时或撤销的权限未被及时清除,可能被继续利用

访问权限 🔑

企业用户倾向于自行托管 MCP Server,并希望分离数据层和控制层以确保安全性和合规性。虽然最新规范增加了对远程 Server 的支持(基于 OAuth 2.1 的身份验证、流式 HTTP 传输、JSON-RPC 批处理),但仍存在问题。

由于 MCP 尚未内置细粒度权限控制,当前仅局限于会话级别,工具要么完全开放,要么完全禁用。随着工具数量增加,权限管理将变得日益复杂。

持久连接与状态性 🔄

MCP 最初设计更偏向本地运行,让本地服务作为独立进程集成,但子进程会带来安全隐患。在 MCP 中,连接是有状态的,支持在连接的生命周期内进行多次请求和响应。这种设计与当前流行的无状态 API 架构(如 AWS Lambda、Cloudflare Workers)不太契合。

上下文占用问题 💭

MCP 当前将所有工具都塞入模型上下文,缺乏优先级或路由机制,这不仅浪费 token,还可能导致模型行为不稳定。当工具列表超过 60 种时,让模型选择 5 种合适的工具,性能会明显下降,大多数时候它不会选择最适合的工具。需要一种分级路由(逐步、选择性暴露工具选项)的方式。

机会 💡

MCP 的核心仍然是模型,其主要目标是抢占下一个用户交互入口,使模型客户端成为主要的交互界面。用户可以通过 API 完成操作,而无需依赖各个垂直 SaaS 软件的图形界面。在长链条任务中,这种设计与用户利益一致。

Server 网关 🚪

作为 MCP Client 与 Server 之间的中介组件,负责统一管理连接、分配任务以及执行安全验证。其功能类似传统的 API 网关,包括:

  • 访问控制
  • 请求路由
  • 负载均衡
  • 缓存响应

在多租户环境中,网关尤为重要,因为不同用户和 Agent 可能具有不同的访问权限。

Server 发现 🔎

目前用户找到并配置 MCP 服务器仍是手动过程,需要自行查找服务地址或脚本,配置认证信息。可以构建:

  • 安装工具(如 mcp‑get),简化跨不同 MCP 客户端的 Server 安装流程
  • Server 目录/注册表,用于发现和访问可信的 MCP 服务器

Server 托管 ☁️

提供远程 MCP Server 托管服务,现有基础设施厂商已经在进入,提供简化远程 MCP Server 构建过程的核心组件:

  • 远程传输处理器
  • 适配器:让本地 Host 能调用远程 Server
  • Web 控制台:用于连接和测试远程 Server

Server 安全 🛡️

MCP Server 安全需要围绕其生命周期:

  • 创建:签名发布、完整性校验、发布者验证
  • 运行:沙箱、隔离、受控 I/O 边界
  • 更新:版本化、权限迁移、弃用策略

工具调用管理 🛠️

Host 侧需要一层「中间件」来处理:

  • 工具发现、排序与选择(不是全量丢给模型)
  • 一致的交互模式(斜杠命令 vs 自然语言)
  • 工作流编排:多步调用、重试、失败恢复

MCP 的现状 🚀

  • MCP 服务器:在桌面和移动端实现 AI 驱动的浏览(仅面向企业)
  • MCP 主机:从自然语言出发,在多项服务间编排任务
  • 面向合规与安全敏感的团队:支持自托管,并可实现数据面与控制面的分离

如果你正在评估用于企业自动化的 MCP,我们可以帮助你一起梳理安全、权限与部署模型,并给出贴合你环境的最佳实践。