MCP是连接AI应用与外部系统的开放标准,通过Tools、Resources和Prompts三类能力,使AgentHarness安全调用外部数据与工具,有效解决工程中上下文割裂问题。但需分级管控权限,确保连接安全可控。
Agent Harness 如果只能读取本地代码、执行本地命令,其能力已经相当强大。但现实中的工程任务从来不会只局限在代码仓库内——需求可能散落在飞书或 Notion,设计稿挂在 Figma,任务追踪在 Jira,接口文档可能藏在某个内部平台,线上数据在数据库,告警信息又堆积在监控系统。如果 Agent 无法触达这些系统,它看到的只是“工程现场”的一个角落,即冰山一角。
MCP,全称 Model Context Protocol,要解决的正是这个“连接”问题。
长期稳定更新的攒劲资源: >>>点此立即查看<<<
官方对 MCP 的定义是:一个开放标准,专门用于将 AI 应用连接到外部系统——包括数据源、工具和工作流。很多人形象地称它为“AI 应用的 USB-C 接口”,这个比喻非常贴切。
在没有 MCP 之前,情况相当麻烦。每个 Agent 工具都必须为每个外部系统单独编写一套适配逻辑。
举例来说:假如你想让 Claude Code、Cursor 和 Codex 都能访问公司内部的接口文档。传统做法是什么?分别给这三套工具写三个插件,还得维护三套完全不同的认证机制、三套工具描述以及三套调用逻辑——只要接口稍有改动,三个地方都得同步修改。
MCP 的思路则清晰得多:外部系统直接实现一个 MCP Server,而 Agent Harness 实现一个 MCP Client。只要双方遵循同一协议,同一个 Server 就能被不同的 AI 工具重复调用。
这样一来,工具能力就从“某个产品的专属插件”,转变为“可复用的标准协议服务”。
一个 MCP Server 具体能暴露哪些内容?大致可分为三类。
第一类是 Tools,即模型可以直接调用的函数,例如:
search_docs(query)
get_ticket(id)
query_database(sql)
create_pr_comment(text)
第二类是 Resources,指模型能够读取的结构化数据,比如某份文档、某张表的 schema 定义,或某个设计稿的元信息。
第三类是 Prompts,即预定义的工作流或提示模板,例如“生成发布说明”“分析事故复盘报告”或“创建接口变更评审”。在实际使用中,Tools 使用最为频繁——因为只有它才能让 Agent 真正“动”起来。
需要明确的是,MCP 既不是模型本身,也不是 Agent 的本体。它是 Harness 的一个工具扩展层。
用户下达任务后,模型会判断是否需要外部信息。如果需要,Harness 会将所有可用的 MCP 工具展示给模型,模型选择调用哪个,MCP Server 执行并返回结果,该结果再被送入上下文,供模型进一步处理。
这里有一个关键点:模型自始至终没有直接访问外部系统。所有的外部访问都发生在 Harness 和 MCP Server 的严格控制之下。
假设给 Agent 一个任务:
根据设计稿实现新的订单详情页,并确认接口字段是否已经上线。
没有 MCP 时,Agent 只能面对代码束手无策。它不知道设计稿长什么样,也不清楚接口文档是否更新。有了 MCP,整个流程完全不同:
这就是 MCP 的真正价值:它把 Agent 从“代码仓库”这个孤立环境,真正带到了“真实的工程上下文”中。
MCP 让 Agent 更强大,但同时也提升了风险等级。
一个只能查询文档的 MCP 当然问题不大。但如果某个 MCP 能够写入数据库、发送工单甚至直接部署服务,那就必须严格管控。
一个比较务实的分级建议:
| 类型 | 示例 | 策略 |
|---|---|---|
| 只读数据 | 查询文档、读取 schema | 可自动调用,记录日志 |
| 低风险写入 | 创建草稿、生成评论 | 可确认后执行 |
| 高风险操作 | 修改生产数据、部署、删除资源 | 禁止或强制审批 |
千万不要因为 MCP 是标准协议,就默认它一定是安全的。协议只负责“连接”,安全这件事,需要 Harness、Server 和企业策略三方共同协作才能兜住。
第一,工具的描述务必清晰。模型依据工具名称和描述来决定选用哪个工具。不要用 `doThing` 这类名字,老老实实命名为 `search_api_docs`。
第二,返回的结果要结构化。避免直接返回一大段混乱的日志,最好返回结构清晰的 JSON、一份 Markdown 摘要以及几个关键字段。
第三,权限尽量后置到服务端。不要单纯依赖 Agent Harness 来做判断。MCP Server 自身也必须校验用户的身份和权限。
第四,默认设为只读。写操作能少则少,且必须明确、可审计。
第五,避免工具列表过于臃肿。工具一多,模型的选择能力反而会下降。可以根据项目或角色来拆分不同的 Server。
说到底,MCP 的意义不是为了让 Agent 多几个花哨的插件,而是让外部系统能用统一的方式顺利接入 Agent Harness。
它解决的,是所有工程开发者都深有体会的“上下文割裂”问题:
代码在仓库
需求在工单
设计在 Figma
文档在知识库
数据在数据库
动作在各种内部系统
MCP 把这些原本散落在各处的系统,全部接到了 Agent 能够调用的工具层中。真正落地时,重点不仅在于“能接上”,更在于“接得安全、接得可控、接得可审计”。
侠游戏发布此文仅为了传递信息,不代表侠游戏网站认同其观点或证实其描述