Model Context Protocol server exposing read-only inspection of configured Cloud SQL environments and gated writes (backups, secrets). Structurally refuses writes to protected (prod) environments via an interactive write gate.
11 tools with complete input schemas and descriptions. Naming follows verb_noun pattern (list_, sql_, backups_, secrets_, connection_, status). Descriptions are concise (20-150 chars) and action-oriented. All parameters have type and description. However, output schemas are not documented in the visible code, only inferred from handler return types. Error handling is present (write-gate refusals tested) but recovery guidance is minimal. Tool composition is clean: each tool has one responsibility. No secrets exposed as parameters (password handling is server-side). Read-only hints and write-gate authorization patterns are well-implemented.
Take an on-demand backup of an environment's Cloud SQL instance. Gated: protected environments are refused; non-prod requires authorize=true.
List automated and on-demand backups for an environment's Cloud SQL instance.
Build a Postgres connection string for an environment profile. The password is omitted unless include_password=true.
List the configured environments, their reserved loopback slot, profiles, and whether each is protected (confirm=true).
Read recent Cloud Logging entries for an environment's Cloud SQL instance.
List Secret Manager secret names in an environment's project. Values are never returned.
Output schemas not documented in visible code. Handler return types are inferred but not explicitly declared in tool registration. LLMs cannot plan downstream calls without knowing what fields to expect.
Error messages lack recovery guidance. Write-gate refusals return 'protected' or 'authorize=true' but do not suggest next steps (e.g., 'This environment is protected. Use list_environments to see which environments allow writes.').
No pagination support documented for list tools. sql_databases, sql_users, backups_list, secrets_list may return large result sets without limit/offset parameters or total count fields.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | 2026-07-28+ | v2 |
Add a new version of a Secret Manager secret in an environment's project. Gated: protected environments are refused; non-prod requires authorize=true. The value passes through the agent.
List the databases in an environment's Cloud SQL instance.
Describe an environment's Cloud SQL instance (version, region, state, tier, disk, backup config, IPs).
List the users in an environment's Cloud SQL instance.
Report gcloud account, ADC validity, installed tools, and the configured environments.
logs tool accepts 'grep' parameter as free-form string with no validation or injection protection documented. If grep is passed to shell, it could be vulnerable to command injection.
connection_string tool includes password in response when include_password=true. While documented, this violates the pattern that tool responses must not include secrets. Even with the flag, the response enters LLM context and could be logged.