Canary MCP Reference

Overview

This page documents the Canary MCP tools for direct integration with the gloria.dev MCP server. It does not cover everyday agent workflows. All calls run in the caller’s active organization. For the broader product surface, see Canary and MCP tools.

register_project

Purpose: Create or update a project in the active organization.

NameTypeRequiredDescription
projectProjectDefinitionSchemaYesProject definition to upsert.

Behavior:

  • Requires inventory:write.
  • Returns 403 when access is denied and 404 when the organization is missing.
  • Upserts by project slug.
{
  "project": {
    "slug": "acme-api",
    "name": "Acme API"
  }
}

list_projects

Purpose: List projects in the active organization.

NameTypeRequiredDescription
NoneNoThis tool takes no arguments.

Behavior:

  • Requires inventory:read.
  • Returns 403 when access is denied and 404 when the organization is missing.
  • Returns project summaries for the active organization.
{}

put_dependency

Purpose: Create or update a dependency in a project’s inventory.

NameTypeRequiredDescription
projectSlugstringYesProject slug.
dependencyDependencyDefinitionSchemaYesDependency definition. Accepts external_saas and internal_system shapes, including an optional healthCheck.
statusPageUrlstringNoOptional public status page for an external SaaS dependency.

Behavior:

  • Requires inventory:write.
  • Returns 403 when access is denied and 404 when the organization or project is missing.
  • Upserts by dependency slug.
  • Accepts an optional healthCheck, including the googleapis type described below.
  • Stores statusPageUrl only for external SaaS dependencies.
  • Returns a configuration link when a required secret has not been entered yet.
  • Queues an immediate health check when the dependency is ready.

googleapis health check

FieldTypeRequiredDescription
type"googleapis"YesSelects the Google APIs health check.
api"drive", "sheets", "docs", or "gcs"YesChecks Google Drive, Sheets, Docs, or Cloud Storage.
serviceAccountKeystringYesSupplies the Google service-account JSON key.
resourceIdstringNo*Optional in the schema. sheets, docs, and gcs require it.

googleapis status classification

  • Classifies 2xx results as up.
  • Classifies 429 and 5xx results as degraded.
  • Classifies 401, 403, 404, token exchange failures, unresolved or malformed serviceAccountKey values, and missing required resourceId values as down.
{
  "projectSlug": "acme-api",
  "dependency": {
    "kind": "internal_system",
    "slug": "billing-db",
    "name": "Billing DB",
    "category": "datastore",
    "purpose": "Stores billing data",
    "endpoints": [],
    "details": {
      "reachability": "vpc_internal"
    }
  }
}

get_dependency

Purpose: Return full detail for one dependency.

NameTypeRequiredDescription
projectSlugstringYesProject slug.
slugstringYesDependency slug.

Behavior:

  • Requires inventory:read.
  • Returns 403 when access is denied and 404 when the organization, project, or dependency is missing.
  • Returns the full dependency detail, including the stored health check.
{
  "projectSlug": "acme-api",
  "slug": "billing-db"
}

list_dependencies

Purpose: List dependency summaries for one project.

NameTypeRequiredDescription
projectSlugstringYesProject slug.

Behavior:

  • Requires inventory:read.
  • Returns 403 when access is denied and 404 when the organization or project is missing.
  • Returns summary rows only: slug, name, kind, category, and healthCheck.
{
  "projectSlug": "acme-api"
}

delete_dependency

Purpose: Remove a dependency from a project.

NameTypeRequiredDescription
projectSlugstringYesProject slug.
slugstringYesDependency slug.

Behavior:

  • Requires inventory:write.
  • Returns 403 when access is denied and 404 when the organization or project is missing.
  • Is idempotent.
  • Reports whether a row was removed.
{
  "projectSlug": "acme-api",
  "slug": "billing-db"
}

Domain model

For field-level schema detail on project and dependency shapes, see Domain Model.