2024年11月,Anthropic把Model Context Protocol(MCP)以开源形式放出来时,多数人的注意力还停在对话效果上。到2026年,AI Agent从技术验证走向生产环境,工程师真正头疼的已经不是模型回答得漂不漂亮,而是如何让Agent安全、可靠地调用企业内部工具。MCP恰好站在这个问题中央。
1 从会说话到会办事:Agent的能力边界由工具接口决定
大模型本身只负责把token预测成文本。Agent与ChatBot的区别在于:Agent可以把一个大目标拆成多步执行,并在执行过程中调用外部动作。
要想让一个Agent查订单、改排班、发消息,工程团队需要为它准备一套“工具描述”。OpenAI有Function Calling,Anthropic有Tool Use,它们是各自模型私有的工具调用格式。问题在于,工具端一旦绑定了某一家模型,想迁移到另一个模型就要重写契约。
MCP做的事情很朴素:它定义了一种统一格式,让模型侧和工具侧不再互相认识,而是分别与同一个协议沟通。一个公司内部的ERP系统如果封装成MCP Server,那么用户的Claude Desktop、IDE插件、自研Agent客户端都可以发现并调用它,不需要为每个客户端各写一遍代码。
下面是一个典型的调用链路:
对模型侧来说,Agent的能力边界从“只能调用预置插件”扩展为“能发现自己被允许访问的任意工具”。对工具侧来说,已有系统不需要为某个大模型定制插件,封装一次即可被多种模型使用。
2 MCP给工具生态带来的真正变化:统一“接头方式”
MCP采用客户端-服务器结构,模型所在的应用承担Host角色,Host内置MCP Client,Client连接各种MCP Server。一个Server可以向模型暴露三类能力:Tools、Resources、Prompts。
其中Tools是最常用的一类,相当于给模型开了一组“可执行的函数”。模型通过对话发现工具,根据任务需要,生成结构化调用请求。MCP Client负责把请求转发给Server,再把结果返回给模型。
MCP解决的是连接标准化,并不改变Agent本身的推理能力。工具生态也因此第一次有了统一的“接头方式”。
如果你直接用Function Calling实现同样工作,代码里大概需要包含:
- 为每个工具写一份JSON Schema;
- 在每次请求时把所有工具定义塞进prompt;
- 按每家模型的不同格式解析tool call;
- 自己写鉴权、重试、超时。
3 企业接入MCP会先遇到四个坑,踩完后才谈得上规模化
企业落地不会从机房开始,通常会先选一个内部工具做MCP Server试点。跑通原型很快,离生产不远时坑才开始出现。
坑一:MCP Server使用的数据库账号权限太大 开发时图省事,直接用了管理员账号。上线后,Agent可能因为一次错误推理执行了本不该执行的UPDATE。最小权限原则必须前置:单独建一个只读账号,或专门配置只包含目标表权限的账号。对写入类工具,建议在Server层加“操作对象白名单”。
坑二:工具返回内容过于庞大,模型上下文被撑爆 让MCP Server返回一张表全部数据,Agent会把宝贵的上下文窗口浪费在无关行上。需要在Server端加入聚合、筛选和截断。面向模型的接口最好设计成“先看汇总,再按需取明细”。
坑三:Agent在工具调用中陷入死循环 一次失败的调用如果被模型解读为“再试一次”,可能触发十几次重复请求。建议每个会话或请求限定最大工具调用次数,并强制设置每次调用的超时时间。如果模型短时间内连续调用失败,Server应该主动返回“建议转人工”。
坑四:审计能力缺位 当Agent调用了工具,你如何知道是哪个用户、哪个项目触发?如果工具没有审计,出现了数据泄露或误删除就很难追踪。MCP Server需要接入企业网关,记录请求来源、入参和返回状态,并为每次Agent运行生成唯一trace ID。
4 Agent的ROI该怎么算:按“完成单次任务”测,不按“替代岗位”估
企业预算负责人在评估Agent项目时常被“人效提升XX%”这类无根据口径误导。可靠的算法是:先选定一件确定任务,对比人工完成成本和Agent完成综合成本。替代了多少岗位,是算完这个差值之后才能回答的问题。
可以借用表格做成本结构:
| 项 | 怎么算 | 注意 |
|---|---|---|
| 模型推理成本 | 单任务消耗token数 × 按量价格 | 工具调用失败会导致多轮重试,单任务token可能比预想高3倍以上 |
| MCP Server运行成本 | 容器/虚机费用 + 第三方API费用 | 企业内网工具还需要额外计算安全和审计软件的中间层费用 |
| 人工复核成本 | 完成率不足时,剩余任务要人为兜底 | 建议试运行期至少跟踪一个月,取真实完成率 |
| 事故损失 | 错误调用导致的数据问题 | 按“出现概率 × 平均损失金额”估算,概率取你测试期间的观察值 |
| 收益侧 | 按单任务人工处理成本计 | 若Agent能接住更多量,则将超额收入作为增量放进来 |
- 选取一个高频流程,如“售后工单分类与回复建议”,定义成功完成一次任务的标准;
- 先记录人工处理的一周样本,得到单位时间与质量基线;
- 接入MCP Server后,给Agent设置最大调用次数3次、超时30秒,连续测试至少200次(如果业务量小,至少两周);
- 把成功率、平均token、人工干预率带回上面的表,算出的差值就是第一个版本的ROI。
5 创业机会:围绕MCP Server做工程化和安全层
MCP是开源协议,没人能通过卖协议本身盈利。可以关注的机会更多出现在协议外围。
第一类是行业MCP Server供应商。很多头部通用型Server已经存在,但像医院HIS、制造MES、政府审批系统这些垂直系统,接口老、文档少、权限复杂,做一套高质量适配器是有门槛的。企业愿意为“能直接用”付费。
第二类是MCP安全网关与治理工具。企业内部一旦接入多个Server,就需要统一身份认证、权限映射、敏感操作拦截、调用审计。这会是基础架构领域的增量市场。
第三类是测试与监控。MCP Server也会回归:工具调不通、参数生成错误、模型指令注入。谁能提供一键巡检Server质量的服务,或接入APM查看工具调用链,就能降低开发者的排查成本。
第四类是低代码生成MCP Server的平台。让不懂MCP的Java/PHP工程师,通过界面上传OpenAPI文件或数据库结构,自动生成带鉴权和审计的Server。这个方向拼的是对工程化场景的理解。
不必急着押注某一个方向。花半小时跑通一个最小MCP Server比读十份行业报告有用。打开终端,安装mcp包,写一个极简服务:
from mcp.server.fastmcp import FastMCP
mcp = FastMCP('demo')
@mcp.tool()
def add(a: int, b: int) -> int:
'Add two integers'
return a + b
if __name__ == '__main__':
mcp.run(transport='stdio')
启动后,用你日常的AI客户端把这个Server配置成工具源,问它“使用add工具计算123 + 456”。如果客户端能正确给出579,你就是真正经历过一次端到端的MCP连接了。之后再考虑“该不该投入”也不迟。