MCP 解决的不是“更会聊天”
AI Agent 真正进入业务场景,需要访问模型之外的数据和工具。过去,每个 Agent 都要单独适配数据库、API 和认证方式;MCP 的价值是把这些能力变成可发现、可调用的标准接口。
但连接成功只证明 Agent 能看到工具,不代表它理解指标、拥有正确权限,或者会提出合理查询。一个可用的 MCP 工作流,必须同时处理工具语义、数据契约、权限、成本和结果复核。
先理解四个角色
可以用一个简单模型理解 MCP:
MCP 统一的是“如何发现和调用”,真正的数据口径、权限和业务规则仍由服务端负责。它不会替代数据契约,也不会把一个模糊问题自动变成可靠分析。
- Host 是用户实际使用的 AI 应用,例如桌面客户端、IDE 或 Agent 平台。
- Client 在 Host 内维护与 MCP Server 的连接。
- Server 向 Agent 暴露经过定义的数据资源和工具。
- Tool 是 Agent 可以调用的具体能力,例如描述数据集或查询指标。
用最小权限建立连接
在 AsKlear Dashboard 创建 API Key,并使用 Dashboard 生成的 MCP 地址与配置。密钥应该保存在客户端的凭证或环境变量配置中,不写入源码、截图或公开提示词。
连接生产数据时遵循几个原则:
AsKlear 当前的核心场景是数据查询。把边界保持在可审核的只读工具内,比追求“全自动”更重要。
- 一个 Key 只获得完成任务所需的数据集和能力。
- 查询与写入使用不同风险等级;能只读时不要开放写入。
- 高成本或高影响操作应保留确认步骤。
- 撤销 Key 后,所有使用该 Key 的 Agent 都应立即失去访问权限。
让 Agent 先读契约
连接完成后,Agent 应该先知道服务端提供了哪些工具,以及 `jd` 数据集支持哪些对象、维度和指标。
数据契约是事实来源。它应该告诉 Agent:GMV、units 和 ASP 如何定义,可以按什么维度分组,时间如何表达,以及哪些筛选值需要先对齐。
如果 Agent 在遇到未知字段时直接猜测参数,MCP 只会更快地执行错误。正确路径是读取或恢复契约,再构造受支持的查询。
用“对象 + 指标 + 时间”提出任务
最稳定的 Agent 查询包含三个基本元素:明确对象、必要指标和完整时间范围。
例如:“查询这个京东商品链接最近三个完整月的月度销量,并说明每个月使用的时间范围。”这个问题有精确对象、单一指标和清楚的分组方式,Agent 通常可以直接执行。
相比之下,“分析一下这个商品”会迫使 Agent 自行选择指标、时间和比较对象。工具调用可能成功,但答案不一定支持用户真正要做的决定。
一次可靠的调用链
对于京东月度销量问题,可以采用以下顺序:
这套流程的目标不是减少到绝对最少的工具调用,而是在少量调用中保持答案可验证、成本可解释。
- 使用精确商品 ID 或标准链接;品牌、店铺和类目先对齐字典值。
- 只请求问题需要的指标和最近完整月份。
- 需要费用确认时,先查看上限并获得用户同意。
- 执行一次查询,保留实际筛选、时间、分组和指标。
- 检查空结果、异常值和口径说明,再生成自然语言结论。
- 追问时复用已经对齐的对象和时间,不重复扩大范围。
把权限和规则留在系统里
高赞的企业 Agent 实践反复强调:模型负责理解意图,业务系统负责确定规则。用户没有权限查看的数据,不应因为 Agent 接入 MCP 就变得可见。
同样,预算上限、字段权限、查询限制和审计记录应该由服务端执行,而不是依赖提示词提醒模型“请谨慎”。
对于可能产生费用或副作用的操作,应采用“先查询、后写入;先预览、后确认”的顺序。MCP 提供标准连接,但治理仍然需要明确的授权、确认和记录。
怎样判断接入是否真的有效
不要只测试工具是否出现在列表中。用几个真实问题检查:
一个合格的 MCP 接入,不是让 Agent“什么都能调”,而是让它在明确边界内稳定完成真实任务。
- Agent 是否用正确指标回答,而没有擅自增加无关字段?
- 精确链接是否可以一次定位到商品?
- 时间是否使用完整月份?
- 结果是否保留查询范围和指标口径?
- 空结果或不支持的字段是否得到清楚解释?
- 同一个追问是否复用前文范围,而不是重新猜测?