Skip to main content

MCP Server

Canine includes a built-in Model Context Protocol (MCP) server that allows AI assistants like Claude to interact with your Canine deployment platform. This enables you to manage projects, check build status, view logs, and trigger deployments through natural language conversations.

Authentication​

The MCP server uses OAuth 2.0 for authentication. Canine implements the following standards:

  • RFC 8414 - OAuth Authorization Server Metadata
  • RFC 7591 - Dynamic Client Registration
  • RFC 9728 - Protected Resource Metadata

The MCP endpoint is available at:

POST https://<your-canine-host>/mcp

Well-known discovery endpoints:

GET https://<your-canine-host>/.well-known/oauth-authorization-server
GET https://<your-canine-host>/.well-known/oauth-protected-resource

Available Tools​

ListAccounts​

List all accounts accessible to the current user, including their clusters, projects, and add-ons.

Parameters: None

Use this first to discover available accounts and their IDs before calling other tools.

ListProjects​

List all projects accessible to the current user.

ParameterTypeRequiredDescription
account_idintegerNoAccount ID (defaults to first account)

GetProjectDetails​

Get detailed information about a project including services, domains, volumes, and current deployment manifests.

ParameterTypeRequiredDescription
project_idintegerYesThe project ID
account_idintegerNoAccount ID (defaults to first account)

GetProjectLogs​

Get logs from all services in a project, including pod events for diagnosing startup errors.

ParameterTypeRequiredDescription
project_idintegerYesThe project ID
tail_linesintegerNoLines per pod (default: 100, max: 500)
account_idintegerNoAccount ID (defaults to first account)

CheckBuildStatus​

Check the status of recent builds for a project, optionally including build logs.

ParameterTypeRequiredDescription
project_idintegerYesThe project ID
limitintegerNoNumber of builds (default: 10, max: 50)
include_logsbooleanNoInclude build logs (default: true)
account_idintegerNoAccount ID (defaults to first account)

DeployProject​

Deploy a project to its Kubernetes cluster.

ParameterTypeRequiredDescription
project_idintegerYesThe project ID
skip_buildbooleanNoSkip build, deploy with last successful image
account_idintegerNoAccount ID (defaults to first account)

ListAddOns​

List all add-ons (databases, caches, etc.) accessible to the current user.

ParameterTypeRequiredDescription
account_idintegerNoAccount ID (defaults to first account)

GetAddOnLogs​

Get logs from all running pods for an add-on, including pod events.

ParameterTypeRequiredDescription
add_on_idintegerYesThe add-on ID
tail_linesintegerNoLines per pod (default: 100, max: 500)
account_idintegerNoAccount ID (defaults to first account)

Resources​

The MCP server also exposes resources that can be read directly:

Resource URIDescription
canine://projectsList all accessible projects with status and metadata
canine://projects/{project_id}/buildsList recent builds for a specific project

Example Usage​

When connected to an MCP-compatible AI assistant, you can use natural language:

  • "List all my projects and their deployment status"
  • "Show me the logs for the api-server project"
  • "Deploy the frontend project"
  • "Check if the latest build for my-app succeeded"
  • "What add-ons are running on my cluster?"