Give your AI agent the keys.
The Canner MCP server turns the Canner API into native tools for AI agents. Point Claude Desktop, Cursor, or any Model Context Protocol client at it and your agent can deploy a project, read a failing build log, set an environment variable, or attach a domain — on Canadian infrastructure, on your behalf.
Browser-based builders (Lovable, Bolt, v0)
AI app builders that run in the browser connect to a remote MCP server by URL. Point yours at the Canner endpoint below and authenticate with a Canner API token, then ask your agent to “save my app to Canner” — it can create a project and deploy your code straight from the chat, onto Canadian infrastructure. In Lovable: Connectors → Chat connectors → New MCP server. In Bolt and v0: add a custom MCP server in settings.
In your dashboard's API tokens, choose the “MCP connector (deploy only)” type — it's scoped to project + deploy access with no billing and no token management, so a credential you paste into a third-party builder can't do more than deploy.
Local clients (Claude Desktop, Cursor, Claude Code)
Desktop agents run the server over npx — nothing to install globally. Add it to your MCP client's config with a Canner API token. In Claude Desktop, edit claude_desktop_config.json; in Cursor, edit .cursor/mcp.json. 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 used canner login with the CLI? You can drop the CANNER_TOKEN line — the server reads the token the CLI stored.
Tools
Thirteen tools, each wrapping a documented REST endpoint — including canner_create_project and canner_save_app, which deploy your code from the agent:
canner_whoamiConfirm which account the agent is signed in as.canner_list_projectsList the projects this account can access.canner_get_projectGet one project's status, URL, and source.canner_list_deploymentsList a project's deployments, newest first.canner_get_deploymentRead one deployment in full — including its build log.canner_deployRebuild a GitHub-connected project from HEAD.canner_list_env_varsList a project's environment variables.canner_set_env_varAdd an environment variable.canner_list_domainsList a project's custom domains.canner_add_domainAttach a custom domain.canner_verify_domainRe-check DNS and provision TLS for a domain.canner_create_projectCreate a new empty project to deploy into.canner_save_appDeploy an app straight from your agent by sending its source files.Zero dependencies
The server speaks the MCP stdio transport directly — no third-party packages. That's the same supply-chain discipline as the rest of Canner: the code you run inside your agent ships nothing extra to audit, and never reaches outside Canada in normal operation.
Safe by default
Destructive operations — deleting a project, revoking a token, dropping a database or domain — are deliberately not exposed, so an agent can't take them by mistake. Do those from the dashboard or the CLI.
What it stores and sends
The server writes nothing to your machine. It reads a token from the CANNER_TOKEN environment variable, or — if you've already run canner login — from the credentials file the CLI wrote at ~/.canner/credentials. Requests go only to api.canner.ca. There is no telemetry, analytics, or crash reporting. Run via npx, nothing is installed globally; to remove it, delete the entry from your MCP client's config file.
Use of the MCP server and the Canner service is governed by our Terms of Service and Privacy Policy.
Under the hood it calls the same REST API; for terminal workflows, see the CLI. Building for agents? The llms.txt file describes Canner for language models.