第27章|MCP 与工具权限:Agent 从演示走向工作流
一、一只鼠标,和一串权限
一个 Agent 有多有用,取决于它能碰到哪些工具;它有多危险,也取决于同一件事。
2024年10月,Anthropic 发布新版 Claude 3.5 Sonnet,并把“computer use”作为公开测试能力放进开发者视野。官方说明很直接:Claude 可以看屏幕、移动光标、点击按钮、输入文本,像人类一样与电脑界面交互。[1] 这不是模型榜单上多一行分数,而是边界发生了移动。过去,大模型的错误多半停在文本层:一句错误摘要,一段不可运行代码,一个虚构引用。用户不复制、不粘贴、不执行,错误还有一道人工闸门。Computer Use 以后,模型可以把判断变成动作。
动作有重量。点击“发送”和写出“建议发送”不是同一种产品;运行 rm 命令和解释 rm 命令不是同一种风险;打开网页搜索资料和登录后台修改客户记录,也不是同一种权限。Agent 叙事里最容易被忽略的事实是:所谓“智能体”,并不是一个漂浮在语义空间里的聪明角色,而是一个被工具、凭证、上下文和授权边界定义出来的系统。
Anthropic 在发布时也没有把 Computer Use 描述成成熟生产自动化。它强调这项能力仍是 beta,并列出限制:模型可能在滚动、拖拽、精确鼠标操作、复杂动态界面中失败;开发者需要在虚拟机或容器等隔离环境中测试,限制网络与文件访问,并在高风险操作上加入人工确认。[1] 这组提醒比演示更接近 Agent 的现实。一个会点鼠标的模型,最先需要的不是掌声,而是沙箱。
这一章的主题由此展开。2024年10月至2025年10月,Agent 从早期演示走向工作流,真正的桥梁并不是某个单独模型名字,而是一组更枯燥的基础设施:工具协议、权限设计、远程连接、审计日志、技能包、沙箱、人工确认。行业仍然兴奋,因为 AI 第一次开始大规模接近“帮我办事”;行业也必须怀疑,因为每接入一个工具,就多一个攻击面,每开放一个权限,就多一条事故路径。
这也是 MCP 出现的背景。Agent 如果只会聊天,它需要的是上下文窗口;Agent 如果要办事,它需要的是工具插座。
二、MCP 标准化了插座,没有标准化信任
2024年11月25日,Anthropic 发布 Model Context Protocol,简称 MCP。官方把它定义为一种开放标准,用于把 AI assistant 连接到数据所在的系统,包括内容仓库、业务工具和开发环境。[2] 这句话不像“AI 会操作电脑”那样适合短视频传播,却更像工程现场的第一根脚手架。
在 MCP 之前,开发者当然也能给模型接工具。接 GitHub 写一个连接器,接 Slack 写一个插件,接数据库写一套查询接口,接 Google Drive 再写一遍认证和文件读取逻辑。问题在于,这种集成方式很快变成碎片化工程:每个平台有自己的工具定义,每个应用有自己的上下文传递方法,每个企业又有自己的权限体系。模型越多,工具越多,连接成本越像泥潭。
MCP 试图把这件事抽象成协议。按照 Anthropic 的介绍和 MCP 官方文档,一个 MCP 系统通常包含 host、client、server 等角色:用户使用的 AI 应用作为 host;client 维护与 server 的连接;外部数据源或工具通过 MCP server 暴露能力。[2][3] Server 可以提供 resources、tools、prompts 等能力,让 AI 应用用相对统一的方式发现上下文、读取资源、调用工具或使用预设提示模板。协议层面使用标准化消息结构和传输方式,后来也围绕远程连接、授权流程继续演进。[3]
这解决的是“怎么接”的问题,而不是“能不能信”的问题。
MCP 标准化的是接口形态:一个工具怎样被声明,资源怎样被暴露,客户端怎样发现服务器能力,模型应用怎样请求调用。它并不自动判断某个 MCP server 是否可信,不自动决定某个工具是否应该被允许修改数据,也不会因为函数名写得规范就理解一次操作的真实业务后果。一个工具叫 send_email,协议可以传递参数;它不能替组织判断这封邮件是否该发给外部客户。一个工具叫 delete_record,协议可以完成调用;它不能把不可逆删除变成安全动作。
这也是本章必须划清的边界:协议不是安全本身。协议可以让连接更可管理,让生态少重复造轮子,也能为权限、授权和日志提供更清晰的挂钩位置;但它不能替代身份管理、最小权限、人工审批、供应链审查、沙箱隔离和事故响应。把 MCP 理解成“Agent 时代的 USB-C 接口”是有帮助的类比;把它理解成“接上就安全”的护身符,则正好走向相反方向。
Anthropic 在 MCP 发布时列举了常见服务器和集成方向,包括 Google Drive、Slack、GitHub、Git、Postgres、文件系统和浏览器自动化等。[2] 这些名字说明了 Agent 的真实工作半径。所谓“智能体进入企业”,并不是抽象地进入“知识世界”,而是进入文件夹、代码仓库、聊天频道、数据库表、工单系统和网页后台。宏大的 AGI 叙事,落到工作流里,常常变成读取、查询、复制、提交、同步、修改这些动词。
这正是 MCP 的意义:如果 Agent 要从演示走向工作流,不能每家公司、每个工具、每个模型平台都重新发明插座。但插座统一以后,通电的责任并没有消失。
三、浏览器、桌面、终端:Agent 的领土也是事故现场
MCP 解决连接形态,Computer Use 和各类工具调用则把 Agent 带进具体领土。这个领土大致有三块:浏览器、桌面和终端。
浏览器是最诱人的入口。大量现代工作已经网页化:CRM、广告后台、客服系统、企业邮箱、报销平台、招聘系统、在线表格、票务、采购、内部知识库。浏览器里有按钮、有表单、有登录态、有支付页,也有弹窗、广告、Cookie 横幅、A/B 测试、验证码、动态加载和恶意网页文本。对模型来说,浏览器既是资料源,也是操作面;既能完成搜索,也能误触提交。
桌面则更像旧世界与新世界的交界。很多公司仍然依赖本地文件、旧版办公软件、压缩包、PDF、共享盘和行业专用客户端。Computer Use 让模型可以通过截图和鼠标键盘模拟人类操作,绕过没有 API 的系统。这一点极有价值,因为现实中的企业软件从来不是一张整洁的现代云架构图。它更像多年采购、外包、内部开发和临时补丁堆出来的地质层。人类坐在这些地层之间,做着复制、粘贴、核对、录入、保存、上传。Agent 只要能稳定处理其中一小部分,就足以改变很多办公室节奏。
终端则是另一种东西。它没有浏览器界面的花哨,却拥有更直接的后果:安装依赖、读写文件、调用云服务、运行测试、访问环境变量、启动部署脚本。对开发者来说,终端是高效工具;对 Agent 来说,终端也是最需要边界的工具之一。一个网页点错按钮可能提交错误表单;一个终端命令点错路径,可能改掉仓库、泄露密钥、删除文件或触发昂贵任务。
因此,工具不是一个单一类别。搜索网页、读取文件、写入文件、发邮件、改数据库、提交订单、执行 shell、调用支付接口,风险等级完全不同。Agent 产品如果只在界面上把它们统称为“tools”,就会掩盖真正问题:工具调用的副作用差异极大,授权也必须分层。
OpenAI 在2025年1月发布 Operator 时,把网页操作能力作为研究预览展示:系统可以使用浏览器执行任务,但在登录、付款、发送、提交等敏感动作上需要用户接管或确认。[4] 这个产品设计本身就是一种行业信号。浏览器 Agent 的成熟标志不是它永远不问人,而是它知道什么时候必须问人。完全自动化听起来更像未来;可部署的自动化往往更像一套闸门。
这里的荒诞感来自软件世界本身。人们先把 Agent 称为“数字员工”,随后又必须给这个员工配虚拟机、受限浏览器、只读凭证、确认按钮、审批流、日志系统、回滚方案和紧急停止开关。一个被营销为“自主”的系统,真正进企业时,第一项工作常常是被限制。可这不是倒退,而是 Agent 开始接触现实后的第一课:工具越强,笼子越重要。
四、远程 MCP:插座从本机伸向云端
MCP 的早期场景很容易被理解成开发者本机上的连接:Claude Desktop 或类似 host 通过本地 client 连接文件系统、Git、Postgres、GitHub 等 server。这样的结构适合实验,也适合个人工作流。但企业工作不只发生在一台电脑上。工具在云上,凭证在身份系统里,日志在安全平台里,数据在 SaaS 和私有服务之间流动。Agent 如果要进入组织流程,MCP 也必须从本地走向远程。
2025年,远程 MCP 成为一个更明确的方向。Anthropic 在 Claude Code 相关发布中加入 remote MCP 支持,使 Claude Code 能连接远程 MCP server,而不只是本机服务。[5] 这一步的意义不在于“写代码更方便”本身,而在于它把 MCP 从开发者桌面上的插件形态,推向了云端工具和企业服务的连接形态。远程 server 可以代表一个组织维护的系统入口,也可以承载更统一的认证、权限和审计策略。
7月9日,GitHub 在 changelog 中宣布 Copilot coding agent 支持 remote MCP servers。[6] 这是一条看似窄的更新,却很适合观察基础设施如何扩散。GitHub 的场景仍然是软件开发,但 remote MCP 触及的是更普遍的问题:当一个 Agent 需要读取外部上下文、调用外部工具、遵循组织配置时,工具连接不能只靠本地脚本和个人配置文件。它需要能被企业管理员理解、配置和撤销。
这里仍要保持怀疑。远程 MCP 并不自动提高安全等级。相反,把工具 server 放到远程后,攻击面也会发生变化:server 的身份如何验证?OAuth 授权范围是否过宽?用户是否看得懂授权页面?恶意或被攻陷的 server 是否能返回诱导性内容?日志保存在哪里?企业能否知道某个 Agent 在何时调用了哪个远程工具、带了哪些参数、拿到了哪些数据?
远程连接让 Agent 更接近工作流,也让权限设计变得更像真正的企业安全工程。过去,个人在本机跑一个脚本,出错范围相对有限;现在,一个 Agent 通过远程 MCP 连接公司知识库、仓库、工单、客服或 CRM,出错就可能跨系统传播。所谓“从演示到工作流”,在基础设施层面就是这一步:从单机魔法,进入可管理、可审计、可撤销的组织连接。
GitHub 的 remote MCP 支持还说明另一件事:Agent 基础设施不会停留在某一家模型公司的生态里。Anthropic 提出 MCP,GitHub 接入 remote MCP,其他平台也开始围绕连接、工具和权限做自己的产品化包装。协议扩散不是胜利终点,而是竞争开始。谁控制 host,谁控制 server,谁控制授权界面,谁控制日志,谁就可能在 Agent 时代控制工作流入口。
五、制度化:基金会、AgentKit 与 Skills
2025年10月,Agent 基础设施开始出现更强的制度化迹象。
Linux Foundation 宣布成立 Agentic AI Foundation。官方公告把它定位为面向智能体 AI 的开放治理与基础设施组织,并把 MCP、AGENTS.md、goose 等项目纳入其中。[7] 这类基金会新闻通常不如模型发布刺激,但它对行业有另一种意义:当一个协议或实践从公司发布页进入中立基金会,外界会看到一个信号——这不再只是某家供应商的功能,而是可能被多方共同治理的生态资产。
这并不意味着争议结束。开放基金会可以降低单一公司控制标准的担忧,可以让云厂商、模型公司、开发者工具、企业用户和开源社区在同一张桌子上讨论接口与治理;但它不会自动解决产品可靠性、安全事故或商业利益冲突。标准进入基金会,是制度化的开始,不是现实部署的担保书。
同一时期,OpenAI 在 DevDay 期间发布 AgentKit,称其为帮助开发者把 Agent 从原型带到生产的一组构件,包括 Agent Builder、Connector Registry、ChatKit 以及面向 Agent 的评估能力。[8] 这个方向与 MCP 的开放协议叙事不同,更像平台公司给出的“全套施工包”。开发者不只是需要模型调用,还需要连接器管理、可视化编排、嵌入式聊天界面、评估和调试。Agent 进入生产后,产品形态必然从“一个输入框”膨胀成一套后台系统。
OpenAI 同日还发布 Apps SDK,使开发者可以把应用接入 ChatGPT,官方说明中也把 Apps SDK 与 MCP 关联起来,作为连接应用、工具和对话界面的基础之一。[9] 这再次说明 MCP 不只是 Anthropic 生态里的名词,而成为更大平台竞争里的一个共同参照。协议、应用商店、连接器注册表、企业权限界面,这些过去看起来属于不同软件时代的部件,开始围绕 Agent 汇合。
Anthropic 则在10月用另一种方式回答“Agent 怎样进入真实工作”:Agent Skills。其工程文章把 Skills 描述为可打包的能力单元,通常包含说明文件、脚本和资源,让 Claude 在需要时加载相应技能,以完成特定领域或特定格式的任务。[10] 这和普通 prompt 不同。Prompt 往往是一段上下文里的指令;Skill 更接近一个可复用、可分发、可版本化的工作包。它可以包含操作步骤,也可以包含代码、模板、参考资料和领域规则。
Skills 的关键并不是给提示词换一个更时髦名字,而是把“会做某事”从一次对话变成可安装的能力。一个处理财务表格的 Skill,可以包含格式说明、校验脚本和模板;一个生成品牌材料的 Skill,可以包含风格规范、素材规则和输出流程;一个处理特定内部系统的 Skill,可以把经验封装成可调用的步骤。对企业来说,这意味着 Agent 的能力不只是来自模型本身,还来自组织把流程知识打包、授权和维护的方式。
但 Skills 也带来新的安全问题。一个 Skill 如果包含脚本和资源,就可能成为供应链风险的一部分。谁编写?谁审核?谁签名?谁更新?Claude 或其他 Agent 在什么环境执行其中脚本?是否能访问文件、网络、凭证?普通 prompt 至少主要停留在文本;技能包则更接近软件包。软件包世界过去几十年的依赖投毒、版本劫持、权限滥用,在 Agent Skills 时代不会神秘消失,只会换一种入口出现。
制度化因此有双重面孔。基金会让协议进入公共治理,平台工具让开发者更容易搭建生产级 Agent,Skills 让工作能力变得可打包。兴奋在这里成立:Agent 基础设施终于不再只是演示旁白。怀疑也在这里成立:一旦基础设施成熟,错误和攻击也会获得更稳定的通道。
六、权限管理员:用户的新工作
早期大模型教育用户学会写 prompt。Agent 时代则开始训练用户做另一件事:管理权限。
这不是一句隐喻。用户在使用 Agent 时,越来越常被要求决定:是否允许它读取本地文件?是否允许它访问浏览器?是否允许它登录邮箱、日历、云盘、Slack、GitHub、CRM?是否允许它使用终端?是否允许它保存长期记忆?是否允许它把数据发给外部工具?是否允许它自动提交,还是每一步都要确认?
过去,普通用户很少需要把工作拆成权限矩阵。人登录自己的账号,凭经验操作软件。Agent 进入后,同一个账号可能被模型代为使用;同一个浏览器登录态可能让模型同时看到个人邮箱、公司系统和支付页面;同一个文件夹里可能同时有公开资料、客户名单和合同草稿。用户如果只把自己看成“发指令的人”,就会低估自己已经成为权限管理员。
这对开发者同样如此。2023年的 LLM 应用开发,很多工作围绕提示词、检索增强和响应格式。到2025年,Agent 开发者必须同时思考工具边界和审计轨迹。一个工具最好只暴露完成任务所需的最小能力:能读就不要写,能写草稿就不要发送,能创建待审批记录就不要直接提交,能在临时目录运行就不要挂载整个文件系统。工具调用参数要可见,返回数据要过滤,敏感字段要脱敏,高风险动作要中断给人类确认。
OWASP 的 LLM 应用安全清单把 Prompt Injection、Sensitive Information Disclosure、Excessive Agency 等列为关键风险。[11] 放到 Agent 场景里,这些风险不再是抽象分类。一个网页可以包含恶意指令,诱导模型忽略原任务;一个共享文档可以把隐藏文本伪装成系统要求;一个工单评论可以要求 Agent 读取环境变量;一个工具如果拥有过宽权限,就可能把提示注入从“模型被误导”升级为“数据被导出”或“系统被修改”。
安全研究者 Simon Willison 在2025年提出过一个简洁框架:当 AI Agent 同时具备访问私有数据、接触不可信内容、向外部通信三种条件时,提示注入会变得尤其危险。他称之为“lethal trifecta”。[12] 这个框架的价值在于,它不把风险归结为“模型不够聪明”,而是归结为工具边界组合。私有数据本身不是问题,读取网页本身不是问题,发送邮件本身也不是问题;三者叠加,才构成可被提示注入利用的数据外泄路径。
这就是 Agent 安全与传统聊天机器人安全的不同。聊天机器人被诱导胡说,后果可能是误导;Agent 被诱导调用工具,后果可能是动作。工具边界决定事故半径。
因此,个人用户和企业用户都需要一套新的日常习惯。给 Agent 一个临时工作目录,而不是整个硬盘;用只读账号连接数据源,而不是管理员账号;让它生成邮件草稿,而不是自动发送;让它在沙箱浏览器中操作,而不是使用装满个人登录态的主浏览器;把支付、删除、外部发送、代码合并、数据库写入列为强确认动作;定期查看连接的 MCP server、应用授权和技能包来源;对不再使用的连接执行撤销。
这听起来像麻烦。它也确实麻烦。行业最想讲的是“自然语言就是新界面”,现实补上的句子是:“权限面板也是新界面。”从提示词作者到权限管理员,这是 Agent 普及前用户身份的一次安静变化。
七、从“帮我写”到“在边界内帮我办”
到2025年10月,Agent 的故事已经不再只是模型能力故事。Computer Use 把浏览器、桌面和终端变成模型可以尝试操作的领土;MCP 把工具和上下文连接标准化;remote MCP 把连接从个人本机推向云端和组织系统;Linux Foundation 的 Agentic AI Foundation 把协议与项目带入更正式的治理框架;OpenAI 的 AgentKit 和 Apps SDK 把 Agent 包装成平台构件;Anthropic 的 Skills 则把可复用工作能力打包成新的分发单位。
这些变化共同构成一座桥:从早期 Agent 演示,通向后来的平台 Agent。
桥的一端,是视频里一句话完成任务的魔法。桥的另一端,是真实工作流里的权限、协议、日志、沙箱、审批、技能包和连接器。中间没有哪一块可以单独代表未来。更强模型会让任务成功率提高,但没有工具就不能行动;工具让模型能行动,但没有权限边界就不可部署;协议降低连接成本,但不自动产生信任;Skills 让能力可复用,但也引入软件供应链问题;远程 MCP 让组织接入更方便,也让授权与审计变得更关键。
这一章的判断因此并不悲观。相反,真正值得重视的不是那些声称“完全自主”的口号,而是这些看似乏味的基础设施正在落地。办公室工作由无数跨系统动作构成:查资料、读文件、整理表格、同步工单、生成草稿、核对记录、更新状态、提交申请、等待审批。Agent 不必一次成为科幻里的数字员工。只要它能在明确边界内稳定完成这些颗粒任务,就会改变白领工作的节奏。
但怀疑必须同样存在。一个 Agent 越有用,就越需要接触真实数据;越接触真实数据,就越需要权限;越拥有权限,就越接近事故。AI 行业过去喜欢用“能力涌现”解释惊喜,Agent 时代还要学会用“权限涌现”解释风险:几个看似无害的连接组合在一起,可能突然打开一条外泄或误操作路径。
所以,Agent 走向主流产品之前,读者需要先理解 MCP、工具和权限。它们不是附属设置,不是发布会之后的工程细节,而是 Agent 能否从演示走向工作流的基础桥梁。未来的 Agent 不会只是一个更会聊天的窗口。它会是一组被授权的行动通道。谁能定义这些通道,谁能审计这些通道,谁能在关键时刻切断这些通道,谁就真正掌握了 Agent 时代的入口。
参考文献
- Anthropic,Claude 3.5 Sonnet and Claude 3.5 Haiku / Computer use beta,2024-10-22。
- Anthropic,Introducing the Model Context Protocol,2024-11-25。
- Model Context Protocol,Model Context Protocol official documentation,2024-2025。
- OpenAI,Introducing Operator,2025-01-23。
- Anthropic,Claude Code: Remote MCP,2025-06。
- GitHub Changelog,Copilot coding agent now supports remote MCP servers,2025-07-09。
- Linux Foundation,Linux Foundation Announces the Formation of the Agentic AI Foundation,2025-10。
- OpenAI,Introducing AgentKit,2025-10-06。
- OpenAI,Introducing apps in ChatGPT and the new Apps SDK,2025-10-06。
- Anthropic Engineering,Equipping agents for the real world with Agent Skills,2025-10。
- OWASP,OWASP Top 10 for LLM Applications 2025,2025。
- Simon Willison,The lethal trifecta for AI agents: private data, exposure to untrusted content, and external communication,2025-06-16。