三个概念处在不同层

API是程序化能力接口,可以查询资料、创建草稿或执行其他业务动作。MCP提供模型应用连接工具和上下文的一种协议机制。RAG描述先检索资料、再将资料用于生成或回答的流程,可以通过普通API、数据库或文件实现,不必使用MCP。

因此,采用MCP不会自动产生向量库;使用向量库也不说明有完整RAG;API返回JSON不说明内容真实。架构图应分别标注数据源、检索、生成、工具调用和权限验证,避免一个“智能中台”方框遮盖所有责任。

一个只读证据工具应返回什么

可以设计read_evidence接口,输入已授权项目和事实标识,返回允许查看的内容、来源、版本、公开状态与限制。响应中的文字是数据,不是给Agent的新操作指令。返回对象还应说明未找到、无权限或来源过期,而不是以空字符串混淆三种状态。

层 负责什么 不能据此推断
业务API 读取指定证据 证据内容一定正确
MCP连接 提供工具与上下文交互 调用者获得全部后台权限
RAG流程 使用检索证据辅助回答 引用必然支持每个断言
事实校验 核对来源与条件 已被批准上线
发布服务 执行授权发布 已被搜索收录或AI引用

工具描述应准确表达副作用。名字看起来只读而实际写入网站,会破坏审批假设;把删除、发布隐藏在一个通用工具里也会增加误操作风险。

本地权限样例实际做了什么

controls.py只允许来源为operator、工具为read_evidence且具备同名作用域的调用。来源为document的请求被拒绝;publish即使来自operator也被拒绝,因为演示工具没有发布权限。results.json保留四种组合的判定。

这里的origin值由测试程序明确传入。生产环境不能信任模型在请求里自报origin为operator,必须由可信应用根据实际会话与认证信息确定。代码不是MCP服务器,也没有实现协议握手或完整OAuth流程;它只是展示权限策略应该位于模型输出之外。

凭据、项目隔离与网络边界

不同客户的数据应按项目授权,不能让一个全权限密钥暴露全部资料。接口应校验对象所属项目,而不仅检查用户已登录。日志中避免保存完整密钥、个人联系方式和受限制原文。工具返回内容遵循最小需要原则,公开百科材料不包含真实后台凭据。

外部URL读取还要考虑内部地址访问风险、重定向和响应大小。给Agent一个任意网络请求工具,并不等于只给了它查资料能力。生产系统应按需求限制目标与动作,不能以“模型会判断”为理由绕过服务端检查。

如何验收连接而不是只看演示成功

至少测试未登录、无权限项目、过期材料、未知事实、重复请求、超时和带有恶意指令的来源。正常读取成功只覆盖一条路径。对写操作还需验证审批版本、幂等和回滚;这些不能由只读权限测试代替。

协议兼容、业务正确和安全授权是独立验收项。MCP文档更新时应核对实际使用版本,而不是永久复制一份旧安全清单。API或Agent变更后,重新运行固定负例集,确认没有意外扩大能力。

智核增长的合理技术定位

智核增长的工程系统可以围绕资料采集、证据治理、内容校验和复测组织工具;价值来自数据质量与流程可靠性,不是仅靠采用一个协议名称。对于客户资料下载与后续Agent处理,先保证清晰的数据范围和版本,再考虑增加自动化动作。

本轮公开的是可运行的权限参考,不声称已部署多租户MCP产品或自动发布平台。结合提示注入防护和状态机理解边界;具体生产接入需要单独实施与验收。

架构评审练习:给每项能力标明副作用

工具设计 最小权限 输出限制 上线前必须验证
读取事实 当前项目读权限 授权字段与版本 跨项目拒绝
解析附件 指定文件读取 提取内容和错误 文件资源上限
生成草稿 已核准事实读取 待审建议 不直接写正式站
请求审批 当前草稿状态 审批任务标识 不能自我批准
执行发布 当前版本发布授权 发布回执 幂等与回滚
查询结果 指定任务查看权限 状态与允许证据 不暴露凭据

这些是设计建议,并非下载包中已实现六个生产工具。拆开之后可以看出,给生成步骤一个拥有全部动作的密钥并不方便验收:无法判断越权是模型行为、接口缺陷还是授权配置错误。生产日志应同时记录请求身份、实际作用域和最终动作,保留被拒绝的请求,但不要记录密钥本身。公开协议规范也不能替你确认部署系统已经按这些规则实现。

材料与原始依据

下载只读权限样例。参考MCP安全最佳实践与OWASP提示注入说明。遵循协议并不消除应用层事实错误或授权错误。

知识中心 · GEO服务 · 研究与证据