mcp 权限范围才能连接,其他权限范围决定客户端能看到哪些工具。密钥权限范围之外的工具不会被列出,调用它会被当作未知工具处理。
权限范围
有些调用会根据参数检查权限范围。
get_metrics_history 用于应用时需要 apps:read,用于数据库时需要 databases:read。带 connect_to_app 的 create_database 还需要 databases:credentials 和 envs:write,带 restart 的 set_env_vars 还需要 apps:control,带 snapshot 的 commit_application 还需要 snapshots:write。缺少所需的权限范围时,该调用会返回 MISSING_SCOPE,且不会执行任何操作。
Claude 和 ChatGPT 会请求上述所有权限范围。在 Square Cloud 授权页面上,你可以取消勾选其中除 mcp 以外的任何一项,但永远无法添加新的权限范围。连接永远不会获得 account:read、apps:deploy、ai:chat 或 Blob Storage 的权限范围,因为没有任何 MCP 工具使用它们。
限定到应用和数据库的密钥
API 密钥可以限定到部分应用和数据库。通过 MCP 使用时,这样的密钥:- 只能访问这些资源。 指定其他任何应用或数据库的调用都会在执行前返回
RESOURCE_NOT_ALLOWED,list_applications和list_databases也只返回该密钥的资源。 - 无法使用账户级工具:
get_all_applications_status、list_account_domains、list_workspaces、create_application、upload_application、create_database、connect_database和rotate_database_credentials(轮换会更新使用该数据库的每个应用)。 - 必须指定目标:
list_snapshots和restore_snapshot需要指定应用或数据库,因为账户级概览涵盖了密钥范围之外的资源。
所有更改都会立即执行
所有工具都会在第一次调用时直接执行,包括删除应用或数据库以及恢复 snapshot。Square Cloud 不会事先询问你:何时调用工具由你的 AI 客户端决定。每个工具都会告诉客户端它是只读的还是可能造成破坏,大多数客户端在调用破坏性工具前会征求你的许可:请保持该提示开启。删除与恢复
delete_application、delete_database 和 restore_snapshot 无法撤销,因此 Square Cloud 会在执行前为应用或数据库创建一个安全 snapshot,除非最近几分钟内已有 snapshot。结果中的 safety_snapshot 会说明属于哪种情况:
在安全 snapshot 仍在生成期间,不会执行任何操作:调用会返回
SNAPSHOT_NOT_READY,客户端会在大约 2 分钟后使用相同的参数重试。
安全 snapshot 会计入你套餐的每日 snapshot 上限。删除后,它会保留在控制面板中,可以下载并作为新应用上传:restore_snapshot 只能恢复仍然存在的应用和数据库。
机密信息
list_env_vars只返回变量名,对于连接 URL 只返回其协议和主机。- 文件工具永远不会读取、写入或删除
.env文件(包括*.env、.env-*和.envrc;可以读取.env.example这样的模板),也永远不会读取私钥或证书(.pem、.key、.p12、.pfx、.ppk、.jks以及id_rsa这类 SSH 密钥)。 - 应用日志中识别出的机密信息会被遮盖。
- 永远不会发送 snapshot 和证书的下载链接。
应用的日志和文件是模型会读取的内容,其中的文字可能试图操纵模型。在允许之前,请仔细检查客户端的提议。

