[控场AI]
· 4 分钟阅读· 2,372 字

MCP协议解析:AI应用如何连接工具

MCP协议解析:AI应用如何连接工具

MCP以机票预订为例,展示AI代理如何通过标准化协议协调多工具、长时任务与权限控制。

文章以一次跨越多日的机票预订场景为线索,介绍MCP(Model Context Protocol)作为AI应用与外部工具之间的标准化连接层。在该场景中,AI需要检查日历、搜索14个日期、连续两天监控票价、暂定座位并在付款前征求确认,数十条消息通过MCP传输。文章重点说明MCP如何管理长时任务的状态保持、如何通过细粒度权限检查拦截未授权的护照号访问,并讨论了开放协议在灵活性与安全性之间的取舍。最后指出MCP降低了集成门槛、有望推动代理式AI落地,但工具质量与安全审计仍依赖开发者自身。

当你让AI应用帮你找飞往里斯本的最便宜机票时,它检查你的日历、搜索14个日期、连续两天监控票价、暂定座位,并在最终付款前问你一个问题。从你提出需求到确认支付,数十条消息在网络上传输:请求、结果、运行两天的任务、权限检查,以及一个悄悄试图获取你护照号的服务。所有这些都在一个协议上运行——MCP。

It watches a fare for two days, holds a seat,

MCP是什么?为什么需要它

MCP(Model Context Protocol)是一个开放协议,旨在标准化AI应用与外部工具、数据源之间的连接方式。在MCP出现之前,每个AI应用要接入日历、搜索引擎或支付服务,都需要单独开发定制集成,导致重复劳动和碎片化。MCP提供了一套统一的通信规则,让AI模型能够以一致的方式发现、调用和协调外部能力。

据视频描述,MCP支撑了从简单查询到多日任务的完整流程。它不仅是API调用格式,更定义了任务生命周期、权限边界和消息路由。

MCP 由 Anthropic 于 2024 年 11 月开源发布,采用客户端-服务器架构:AI 应用作为 MCP 客户端,外部工具或数据源通过 MCP 服务器暴露能力。协议基于 JSON-RPC 2.0 进行消息交换,并定义了三种核心原语——Tools(可调用的函数)、Resources(可读取的数据)、Prompts(可复用的提示模板)。传输层支持本地 stdio 和远程 HTTP/SSE 两种方式。这种分层设计使得同一个 MCP 服务器可以被不同 AI 应用复用,而不必绑定某个特定模型或厂商,这正是它区别于私有插件体系的关键。

一次机票预订背后的消息流

视频用“找最便宜机票”的场景展示了MCP的实际工作方式。AI应用需要:检查日历(读取用户日程)、搜索14个日期(多次调用航班搜索工具)、监控票价两天(长时任务)、暂定座位(写入操作)、付款前确认(权限询问)。

dozens of messages crossed the wire.

这一过程中,MCP管理了数十条请求与响应消息。每个工具调用都携带上下文和权限信息,确保AI不会越权操作。尤其在涉及金钱和隐私时,MCP的权限检查机制成为关键防线。

长时任务与权限控制

传统API调用通常是短时、无状态的,而AI代理可能需要执行跨越数天的任务。视频提到“一个运行了两天的任务”,这要求协议支持状态保持、超时管理和进度通知。MCP通过任务标识和会话机制,允许AI应用在长时间跨度内协调多个工具。

A task that ran for two days.

权限控制是另一核心。在场景中,一个连接的服务“悄悄试图获取护照号”,MCP的权限检查会拦截此类未授权访问,只允许经过用户同意的数据共享。这种细粒度权限模型对构建可信AI代理至关重要。

在 MCP 的协议语义中,“长时任务”并不依赖单一持久连接,而是通过会话(session)标识与请求 ID 将多次调用关联起来。客户端可以为跨天任务维护上下文状态,服务器则在每次调用时校验该会话的授权范围。由于 JSON-RPC 本身是无状态的消息格式,状态保持实际上由客户端和服务器共同管理,协议只规定消息的路由与关联方式。这也意味着超时重试、进度通知等机制需要工具开发者在服务器侧自行实现,协议提供的是协调框架而非内建的任务调度器。

安全挑战与设计取舍

MCP的开放性带来便利,也引入风险。第三方工具可能请求超出必要的权限,或者AI模型可能误解用户意图而调用敏感操作。视频中护照号的例子正说明这一点:协议必须在灵活性和安全性之间取得平衡。

Quietly trying to get your passport number.

当前MCP生态仍在演进,工具开发者需要遵循最小权限原则,AI应用则需实现清晰的用户确认流程。对于企业而言,部署MCP时需要额外审计和策略层,以监控跨工具的数据流。

最小权限原则(Principle of Least Privilege)源自信息安全领域,要求每个组件只应获得完成其任务所必需的最小访问权限。在 MCP 场景中,这意味着一个航班搜索工具不应同时拥有读取护照信息的权限,即使它在技术上可以请求。MCP 通过能力声明和用户同意机制来落实这一原则:服务器在初始化时声明其提供的工具及其所需权限,客户端在调用敏感工具前向用户展示请求范围。但协议本身不强制实施策略,实际的权限拦截依赖于客户端实现和部署方的策略层,这也是当前生态中安全实践参差不齐的原因之一。

对AI应用开发的影响

MCP降低了AI应用集成外部工具的门槛。开发者不再需要为每个服务编写适配器,而是实现一次MCP客户端即可连接广泛生态。这有望加速AI代理从演示走向生产,尤其是在旅行、金融、客服等需要多步骤协调的场景。

不过,MCP并非万能。它解决的是通信标准化问题,而非工具本身的质量或安全性。应用开发者仍需对每个接入的工具进行尽职调查,并设计良好的用户体验来管理权限请求。

总结

MCP作为AI与工具之间的“连接层”,正在成为代理式AI的基础设施。从机票预订案例可以看出,它处理了消息路由、长时任务和权限检查等复杂问题。随着生态成熟,MCP有望推动更多可靠的AI应用落地,但安全与权限设计仍需持续关注。

#MCP#Model Context Protocol#AI应用#工具连接#权限控制#AI代理#协议
分享:

相关推荐