SuperAPI AI 工具集

planetscale-mcp-agent-operating-model

数据与分析

查看项目

更新于 10-25 11:40

技能介绍

用途

该技能用于规定智能体在围绕 PlanetScale MCP、Insights、Schema 建议和代码仓库工作时,应如何安全地行动:利用生产遥测数据产出有用的工作(问题、PR、提案),同时避免对生产环境做自主变更。

默认 MCP 选择与权限

  • 任务只需 Insights 与 Schema Recommendations 时,使用 PlanetScale MCP insights-only 服务器。
  • 仅当任务明确需要超出 Insights 的数据库/模式访问时,才使用完整 PlanetScale MCP 服务器,并优先只读权限。
  • 完整 MCP 服务器包含查询执行工具;写查询工具默认视为禁用,除非操作者明确批准某个特定的非生产动作或经过仔细审查的生产动作。

AGENTS.md 指导

资料指出两个同名 AGENTS.md 文档用途不同:

  1. CLI 智能体指南:随 pscale 提供(planetscale/cli 仓库中的 AGENTS.md,或 pscale agent-guide --format json),涵盖认证、--format json、参数位置和 pscale sql;同一约定也可参考技能包中的 14-pscale-cli-automation。
  2. 项目智能体指南:应用仓库的 AGENTS.md(或等价文件),涵盖本应用的数据库定位与审批策略。

在仓库内工作时,建议在 AGENTS.md 或等价项目说明中加入“项目数据库定位”段落,内容包括:PlanetScale 组织、数据库、分支、引擎(Vitess 或 Postgres)、生产分支名、智能体是否可使用 insights-only 或完整 MCP、写查询是否禁止、针对模式、Traffic Control、webhook、角色和网络变更所需的审批流程。未经批准不得编辑 AGENTS.md。

可自主执行的任务(默认允许)

读取 Insights;读取模式建议;读取模式元数据;读取现有 webhook 与 Traffic Control 配置;读取分支元数据;检查仓库代码;将查询模式与代码关联;提交 issue;开 pull request;创建开发分支;对非生产开发分支应用 DDL 与迁移;向受审查流程保护的分支发起部署请求;起草 Traffic Control 预算提案;起草 webhook 接收方需求。

存在 PR + 部署请求流程时,模式建议的默认交付物是完整可审查单元:已应用 DDL 的开发分支、带证据(指纹、指标、预期影响)的 PR,以及一个已开启的部署请求。人工动作是合并/部署决策,而非推动提案成形。

默认不允许的任务(审查门动作与不可审查变更)

对生产执行写 SQL;直接对生产分支执行 DDL;部署部署请求/将模式应用到生产;合并 pull request;创建 webhook;创建或强制执行 Traffic Control 预算;轮换凭据;变更角色;变更 IP 限制或私有连接;恢复或提升分支。

智能体循环

  • 每日建议循环:读取未关闭的模式建议与主要 Insights 回归,关联仓库代码,生成排序后的 issue 或 PR,由人工审查并批准任何影响数据库的动作。
  • 异常循环:接收或检查异常,收集受影响查询模式与标签,定位来源路由/任务/部署,产出事件说明与修复建议;代码修复明显则开 PR,需要数据库变更则仅创建提议变更集。
  • Traffic Control 循环:从 Insights/标签识别不安全流量切片,起草 warn 预算提案,人工批准创建,观察警告,验证后人工批准进入 enforce 模式。

定时循环(cron/Automations)可分两层运行,第二层需按 ../13-autonomous-execution-mode/SKILL.md 获得常设授权,第一层不需要。每个定时循环都应在运行开始时重读授权、向配置的交付渠道流式发送状态、持久化运行日志,并避免重复提交(同一指纹/建议 ID 已有未关闭 issue 时不重复提交)。

第一层(通过审查流程提议,无需授权):建议转 PR 循环(每日)、回归监控(每小时或每次部署)、标签覆盖率审计(每周)、异常分诊(webhook 触发而非轮询)、姿态漂移检查(每日)。

第二层(执行审查门动作,需常设授权):建议部署器(每日,在 PR 循环之后)、分支卫生(每周)、warn 预算园丁(每周)、凭据过期执行(每日)。其中破坏性 DDL 仅在授权给出运行时可验证边界时自主部署;enforce 模式除非授权指明具体预算,否则不自主进入。

循环反模式

用 cron 轮询 MCP 获取 webhook 已交付的事件;第二层循环白名单是意图(如“保持健康”)而非有界操作;变更但没有状态交付渠道;无界扇出(一次运行应用所有开放建议而无每次运行上限)。

查询执行防护

读查询:优先副本;planetscale_execute_read_query 在分支配置副本时默认路由到副本(use_replica: true),仅当需要主读语义时才设 use_replica: false;为智能体工作添加来源标签/注释;避免无界扫描;未经明确批准避免生产上的 EXPLAIN ANALYZE;限制结果大小;非必要且未获批准避免查询敏感列。对于启用行级安全(RLS)的 Postgres 表,MCP 读角色使用 pg_read_all_data 且不绕过 RLS;若查询返回零行或零计数且响应警告可能被 RLS 过滤,应视为策略过滤/未知,直到通过批准路径确认,不得断定表为空。调试 Postgres 高 CPU 时使用按 CPU 排序的 Insights 数据;CPU 时间指标仅 Postgres 有,不要对 Vitess 请求同样视图。

写查询:默认禁止;若获批准,优先非生产分支;要求精确 SQL 审查、回滚计划、分支与数据库名确认。

输出要求

返回推荐 MCP 服务器选择、所需权限范围、要添加的 AGENTS.md 说明、允许的自主工作、不允许的工作、拟议的智能体循环、审批门,并以“No MCP write tools or database mutations have been used.”结尾。