MCP

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.

$npx @canner-ca/mcp

Setup

Add the server to your MCP client's config with a Canner API token from your dashboard. It runs over npx — nothing to install globally. 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

Eleven tools, each wrapping a documented REST endpoint:

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.

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.

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.