Setup
You need a Canner API token (cnr_…) from Identity → API keys. Add the server to your MCP client’s config — claude_desktop_config.json for Claude Desktop, .cursor/mcp.json for Cursor — then restart the client and the Canner tools appear.
{
"mcpServers": {
"canner": {
"command": "npx",
"args": ["-y", "@canner-ca/mcp"],
"env": { "CANNER_TOKEN": "cnr_your_token_here" }
}
}
}Already ran canner login with the CLI? Drop the CANNER_TOKEN line — the server falls back to the credentials stored at ~/.canner/credentials.
Tools
Each tool wraps one endpoint of the versioned /v1 REST API:
canner_whoami | Confirm which account the agent is signed in as, and which organization it acts for. |
canner_list_projects | List the projects in this organization. |
canner_get_project | Get one project's status, URL, and source. |
canner_list_deployments | List a project's deployments, newest first. |
canner_get_deployment | Read one deployment in full — including its build log. |
canner_deploy | Rebuild a GitHub-connected project from HEAD. |
canner_list_env_vars | List a project's environment variables. |
canner_set_env_var | Add an environment variable. |
canner_list_domains | List a project's custom domains. |
canner_add_domain | Attach a custom domain. |
canner_verify_domain | Re-check DNS and provision TLS for a domain. |
canner_create_project | Create a new empty project to deploy into. |
canner_save_app | Deploy an app straight from your agent by sending its source files. |
canner_list_databases | List a project's databases, with size and Postgres version. |
canner_get_database | Connection details for one database. Credentials are hidden unless explicitly requested. |
canner_create_database | Add another database to a project (Starter: one per project; paid plans can add more). |
canner_export_database | Start a database export; poll canner_get_database_operation for the result. |
canner_copy_database | Copy a database into another EMPTY database you own. |
canner_list_database_operations / canner_get_database_operation | List recent database operations, or check one's status. |
canner_list_backups | List a database's backups and its backup policy (read-only — taking, restoring and deleting backups is done in the dashboard or CLI). |
canner_get_instance | A project's dedicated Postgres instance and its point-in-time-recovery window (read-only — creating, restoring and moving is done in the dashboard or CLI). |
canner_database_security_check | A read-only security and performance check of a database (policies, functions, views, indexes, primary keys). Reads the catalog, never your data. |
canner_audit_database_roles | What each role of a dedicated-instance database can do, with findings for a least-privilege setup (read-only). |
canner_get_instance_upgrade | Whether the dedicated instance can be upgraded to a newer Postgres version and what would stop it (read-only — upgrading is done in the dashboard or CLI). |
canner_get_instance_config | The dedicated instance's tuning: preset, timeouts, maintenance window and any restart waiting for it (read-only). |
canner_set_instance_config | Change the preset, timeouts and maintenance window. Takes effect at once, no restart. |
canner_restart_instance | Restart the dedicated instance now (a few seconds of dropped connections). Requires confirm: true, only with the owner's go-ahead. |
canner_list_extensions | Extensions available on a database of the dedicated instance and what is installed (read-only). |
canner_install_extension | Install an extension (pgvector, PostGIS, pg_trgm, pg_cron…). pg_cron restarts the instance and needs confirm: true. |
canner_remove_extension | Remove an extension; refused while objects still use it. |
canner_get_replication | Logical replication of a database: on/off, WAL cap, publications, slots and their health (read-only). |
canner_set_replication | Turn logical replication on or off (restarts the instance, confirm: true) or change the WAL cap per slot. |
canner_get_instance_memory | The memory budget split between the app and its dedicated Postgres, and whether a change is waiting (read-only). |
canner_apply_instance_memory | Apply the memory split (restarts the instance, confirm: true). |
canner_set_instance_monitoring | Turn query insights and the log viewer on or off (restarts the instance, confirm: true). |
Safe by default
Destructive operations — deleting a project, revoking a token, dropping a database or domain — are deliberately notexposed, so an agent can’t take them by mistake. Do those from the dashboard or the CLI.