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?"