.agents/design/support/mcp-publish-auth.md
MCP 发布能力与个人 APIKey 的管理和执行语义保持一致:
tools/list 是公开元数据接口,持有发布 key 即可读取工具描述,不校验发布者的实时应用权限。tools/call 是执行接口,每次调用都使用有效团队成员身份校验目标应用读权限。authProxy。调用方通过
x-fastgpt-auth-proxy-username 或 x-fastgpt-auth-proxy-tmb-id 指定代理成员;两个请求头同时存在时必须指向同一成员。mcp_keys 继续记录创建成员 tmbId。列表固定按 { teamId, tmbId } 查询,更新和删除也只允许创建成员操作,团队管理权限不扩大到其他成员的发布项。
tools/list 只根据发布 key 读取绑定应用及最新版本并生成 tool schema。该路径不解析身份代理,也不调用应用权限鉴权。
tools/call 根据发布 key 读取 teamId、tmbId、authProxy 和绑定应用:
tmbId 作为有效成员。authProxy。authAppByTmbId(..., ReadPermissionVal),通过后再运行工作流。uid 都归属有效成员。Streamable HTTP 直接读取请求头。独立 SSE 服务在建立连接时保存代理请求头,并在每次 tools/call 转发到主应用;tools/list 不转发身份信息。
authProxy 缺省为 false,旧记录无需迁移。未使用代理头的现有 MCP 客户端仍以发布者身份执行;发布者失去目标应用读权限后,后续执行会立即失败。
authProxy。authProxy 校验。