05|MCP 是什么:Agent Harness 如何接入外部工具

简介: MCP(Model Context Protocol)是连接AI Agent与外部系统的开放标准,如“AI的USB-C接口”。它让Agent能安全调用Figma、Jira、数据库等真实工程系统中的工具、数据与工作流,突破代码仓库局限,实现跨平台协同。强调统一协议、分级权限与可审计控制。(239字)

ScreenShot_2026-05-28_233607_525.png

Agent Harness 如果只能读本地代码、跑本地命令,能力已经很强。但真实工程任务不只发生在代码仓库里。

需求在飞书或 Notion,设计稿在 Figma,任务在 Jira,接口文档在内部平台,线上数据在数据库,告警在监控系统。一个 Agent 如果不能接触这些系统,就只能看到工程现场的一部分。

MCP,也就是 Model Context Protocol,解决的就是这个连接问题。

官方对 MCP 的解释是:它是一个开放标准,用来把 AI 应用连接到外部系统,包括数据源、工具和工作流。很多人把它叫做“AI 应用的 USB-C 接口”,这个比喻很贴切。

为什么需要 MCP

没有 MCP 时,每个 Agent 工具都要单独适配每个外部系统。

比如你想让 Claude Code、Cursor、Codex 都能访问公司内部接口文档。传统做法是分别给三套工具写插件,维护三套认证、三套工具描述、三套调用逻辑。

MCP 的思路是:外部系统实现 MCP Server,Agent Harness 实现 MCP Client。只要协议一致,同一个 Server 就可以被多个 AI 工具使用。

image.png

这样,工具能力从“某个产品的插件”变成“可复用的协议服务”。

MCP Server 暴露什么

一个 MCP Server 通常可以暴露三类东西。

第一是 Tools。也就是模型可以调用的函数,比如:

search_docs(query)
get_ticket(id)
query_database(sql)
create_pr_comment(text)

第二是 Resources。也就是模型可以读取的结构化数据,比如某个文档、某张表的 schema、某个设计稿信息。

第三是 Prompts。也就是预定义工作流或提示模板,比如“生成发布说明”“分析事故复盘”“创建接口变更评审”。

实际使用中,Tools 最常见,因为它让 Agent 能采取行动。

MCP 在 Harness 里的位置

MCP 不是模型,也不是 Agent 本体。它是 Harness 的工具扩展层。

用户给任务后,模型判断需要外部信息,Harness 把可用 MCP 工具展示给模型,模型选择调用,MCP Server 执行并返回结果,结果再进入上下文。

image.png

这里的关键是:模型没有直接访问外部系统,访问发生在 Harness 和 MCP Server 的控制下。

真实场景

假设任务是:

根据设计稿实现新的订单详情页,并确认接口字段是否已经上线。

没有 MCP,Agent 只能看代码。它不知道设计稿长什么样,也不知道接口文档是否更新。

有 MCP 后,流程可以变成:

  1. 从 Figma MCP 读取设计稿信息;
  2. 从接口文档 MCP 查询订单详情字段;
  3. 从代码仓库读取现有页面;
  4. 修改 UI;
  5. 运行测试或截图验证;
  6. 输出字段差异和未确认项。

这就是 MCP 的价值:把 Agent 从代码仓库带到真实工程上下文里。

安全问题不能忽略

MCP 让 Agent 更强,也让风险变大。

一个能查文档的 MCP 风险不大;一个能写数据库、发工单、部署服务的 MCP 就必须严格控制。

建议按风险分级:

类型 示例 策略
只读数据 查询文档、读取 schema 可自动调用,记录日志
低风险写入 创建草稿、生成评论 可确认后执行
高风险操作 修改生产数据、部署、删除资源 禁止或强制审批

不要因为 MCP 是标准协议,就默认它安全。协议只负责连接,安全要靠 Harness、Server 和企业策略共同完成。

MCP Server 设计建议

第一,工具描述要清楚。模型是根据工具名称和描述选择工具的。不要叫 doThing,要叫 search_api_docs

第二,返回结果要结构化。不要返回一大段日志,最好返回 JSON、Markdown 摘要和关键字段。

第三,权限尽量后置到服务端。不要只相信 Agent Harness 的判断,MCP Server 自己也要校验用户身份和权限。

第四,默认只读。写操作要少、明确、可审计。

第五,避免工具过多。工具列表太长,模型选择会变差。可以按项目或角色拆分 Server。

总结

MCP 的意义,不是让 Agent 多几个花哨插件,而是让外部系统用统一方式进入 Agent Harness。

它解决的是工程上下文割裂问题:

代码在仓库
需求在工单
设计在 Figma
文档在知识库
数据在数据库
动作在各种内部系统

MCP 把这些系统接到 Agent 可调用的工具层里。真正落地时,重点不只是“能接”,更是“接得安全、可控、可审计”。

目录
相关文章
|
1月前
|
自然语言处理 安全
06|Skills、Commands、Rules、Hooks 到底各管什么
本文厘清Agent Harness中Skills、Commands、Rules、Hooks四大核心概念的边界与协作:Rules规范长期习惯,Skills封装多步流程,Commands提供快捷入口,Hooks实现强制自动化。四者分层协同,助团队将经验沉淀为稳定、可演进的智能工作流。(239字)
179 1
|
消息中间件 存储 缓存
Kafka【基础知识 01】消息队列介绍+Kafka架构及核心概念(图片来源于网络)
【2月更文挑战第20天】Kafka【基础知识 01】消息队列介绍+Kafka架构及核心概念(图片来源于网络)
974 2
|
1月前
|
测试技术 C++ Python
如何从零开发一个工业级的 SKILL
手把手教你搓个 Skill,亲测新手也能跑起来,实操党可以直接冲~
347 1
如何从零开发一个工业级的 SKILL
|
1月前
|
人工智能 自然语言处理 安全
Vibe Coding 实战:别盲目跟风,先分清 vibe coding 适合什么场景
本文系统总结vibe coding实战经验:明确其适用场景(原型、小工具、标准化模块),剖析5步落地流程(场景判定→结构化提示词→目录初始化→分模块生成→自动化校验),指出四大常见误区,并推荐适配工具Trae。强调“场景匹配+规则前置”是提效关键,避免盲目套用。
1468 1
|
6月前
|
人工智能 运维 安全
阿里云受邀参与中国信通院AI云产业发展大会
12月12日,由中国通信标准化协会主办、中国信息通信研究院(以下简称“中国信通院”)联合承办的2025AI云产业发展大会在北京举行。大会以“AI+云计算互融共生”为主题,汇聚政府机构、权威专家、头部企业及行业代表等数百位嘉宾,聚焦AI云技术突破、生态构建与产业落地,共探新质生产力驱动下的数字经济发展新路径,阿里云受邀参会并获得多项荣誉。
368 0
|
11月前
|
安全 Java 编译器
Java类型提升与类型转换详解
本文详解Java中的类型提升与类型转换机制,涵盖类型提升规则、自动类型转换(隐式转换)和强制类型转换(显式转换)的使用场景与注意事项。内容包括类型提升在表达式运算中的作用、自动转换的类型兼容性规则,以及强制转换可能引发的数据丢失和运行时错误。同时提供多个代码示例,帮助理解byte、short、char等类型在运算时的自动提升行为,以及浮点数和整型之间的转换技巧。最后总结了类型转换的最佳实践,如避免不必要的转换、使用显式转换提高可读性、金融计算中使用BigDecimal等,帮助开发者写出更安全、高效的Java代码。
595 0
|
安全 Android开发 iOS开发
深入探索Android与iOS的差异:从系统架构到用户体验
在当今的智能手机市场中,Android和iOS无疑是最受欢迎的两大操作系统。本文旨在探讨这两个平台之间的主要差异,包括它们的系统架构、开发环境、安全性、以及用户体验等方面。通过对比分析,我们可以更好地理解为何不同的用户群体可能会偏好其中一个平台,以及这些偏好背后的技术原因。
|
API 图形学 开发者
unity 动态添加 EventTrigger
在 Unity 中动态添加 EventTrigger 的原理是利用 Unity 事件系统和 API 创建、配置并绑定事件触发器。EventTrigger 组件允许为游戏对象添加多种交互事件,如点击、拖拽等。通过 `AddComponent<EventTrigger>()` 方法创建组件实例,并使用 `EventTrigger.Entry` 定义事件类型和回调函数。示例代码展示了如何为 Image 组件添加指针进入和离开的事件监听器,分别改变其颜色。
|
存储 Java
Java环境下使用CsvReader()读取CSV文件
Java环境下使用CsvReader()读取CSV文件