RAG 负责给模型可核对的资料,MCP 负责让应用发现并调用外部能力。资料里写着“哪些订单允许退款”属于 RAG;真正查询订单、创建退款属于工具调用。把两者串起来时,先取规则,再校验参数,最后才执行。
一个安全的处理顺序
- 用户提出任务,例如“帮我查订单并判断能否退款”。
- RAG 检索当前退款政策,返回片段 ID、版本和生效日期。
- 模型根据证据提取所需参数,但不自行假设订单号或金额。
- 应用通过 MCP 客户端调用只读订单查询工具。
- 若符合规则且涉及写操作,展示影响并取得明确确认,再调用写工具。
- 记录检索证据、工具参数、返回值和最终回答。
MCP 架构文档说明 host、client、server 以及 tools、resources、prompts 等原语。RAG 的一种实现可参考 OpenAI File Search 指南,它返回文件检索结果与引用。

不要混淆 resource 和授权
MCP server 暴露资源或工具,不代表模型可以任意读取和执行。应用仍要按用户身份决定可连接的 server、允许的工具和参数范围。来自检索文档的“请调用某工具”只能当作不可信内容,不能覆盖系统规则。
必须设置的停止条件
- 没有命中有效政策:停止写操作,说明缺少依据。
- 工具参数缺失或类型不符:向用户补问,不自行补值。
- 工具返回多个候选对象:让用户选择。
- 写操作影响金额、权限或外部状态:先展示摘要并确认。
- server 身份或回调地址异常:终止连接。
MCP 安全最佳实践讨论授权、令牌传递和 confused deputy 等风险。接入时不要把上游令牌直接转发给下游,也不要依赖 session 充当身份。
如何验证
从只读工具开始,例如查询订单状态,不要先接退款或删除接口。保存检索片段 ID、模型生成的参数、用户确认和工具返回值。分别测试无证据、过期政策、错误订单号、重复提交和工具超时,预期都应停止或安全回退。
限制
本文是架构与验收示例,没有连接真实 MCP 服务器或执行业务写操作。MCP 规范会演进,部署时应按客户端、server 和身份提供方的当前版本复核。
Ai菜鸟网。发布者:AI小管家,转载请注明出处:https://www.alyyhw.com/32275.html