Canner started as the simplest thing. Drop a project, get a live URL. A deployment platform that didn't even need an account. But once a project is live — Canner included — you often need to do more than just host the thing. Redeploy, read failures, let an AI agent ship fixes, and just the normal dev cycle that follows any MVP launch. There's a whole documented surface for what we open up to your agents, and it's grown a lot since this post was first published. So what's the current picture?
A documented REST API
Everything the dashboard does, your own code can do too: create and configure projects, trigger deployments, read metrics and logs, manage environment variables, attach and configure domains, and now a genuinely deep Postgres surface — backups, point-in-time recovery, roles, extensions. The developer page lists 8 resource groups with 45 operations; the database resource alone has over 80 endpoints. It all lives under /v1. Perhaps worth an increment. There's an interactive reference backed by the OpenAPI 3.1 specification. Authenticate with a bearer token (cnr_…) and expect consistent error shapes with a request_id, rate-limit headers, and cursor pagination on list endpoints.
curl https://api.canner.ca/v1/projects \
-H "Authorization: Bearer cnr_your_token_here"A CLI that speaks JSON
@canner-ca/cli covers a lot more than deploy-the-current-directory now: login, projects, init, status, open, deploy, redeploy, logs, token, env, domains, and a canner db family for import/export/migrate-in/migrate-out/copy on Postgres. Add --json to almost any command and get a machine-readable object instead of a formatted table, ready to pipe into jq or hand to a program.
canner projects --json | jq -r '.[].slug'
canner db export my-site --out backup.dump
canner env set API_KEY=secret --sensitive
canner domains add www.example.comThe full command list is on the CLI page.
MCP server for AI agents
@canner-ca/mcpis still zero-dependency and hand-rolled — nothing extra to audit — so it's still safe by default: only reads and safe writes, no delete-project or revoke-token tools for an agent to trip over or "test." But it's no longer eleven tools, it's over thirty, with heavy Postgres coverage alongside the original project and domain tools. There's also a second option now: a remote MCP server at api.canner.ca/mcp(Streamable HTTP) for browser-based builders like Lovable, Bolt, and v0 that can't run a local npx process. Setup for the local server is one block of config and a token; the MCP page has the exact snippets.
Still Canadian
The API answers from the same Montreal infrastructure that serves your projects — there's no middleman or third-party service in between. It's all handled at Canner, not routed through someone else's cloud — the whole point, as on the sovereignty page, is that it isn't.
If you build with agents, llms.txtdescribes Canner for language models and the OpenAPI spec is ready to become tool definitions. Both are public — you don't need an account to read either one.