depot
What this MCP does
Inspects and manages Depot container builds, CI runs, GitHub Actions jobs, runner usage, logs, failures, retries, projects and registry images.
Tools
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['run_id'], 'properties': {'run_id': {'type': 'string', 'minLength': 1, 'description': 'CI run id, from depot_ci_list_runs.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['target_type', 'target_id'], 'properties': {'target_id': {'type': 'string', 'minLength': 1, 'description': 'The run, workflow, job or attempt id.'}, 'target_type': {'enum': ['run', 'workflow', 'job', 'attempt'], 'type': 'string', 'description': 'What target_id identifies.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['job_id'], 'properties': {'job_id': {'type': 'string', 'minLength': 1, 'description': 'CI job id, from depot_ci_get_run_status.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'job_id': {'type': 'string', 'description': 'CI job id — resolves to its latest attempt.'}, 'attempt_id': {'type': 'string', 'description': 'A specific attempt id.'}, 'page_token': {'type': 'string', 'description': "Cursor from the previous response's nextPageToken. Omit for the first page."}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['run_id'], 'properties': {'run_id': {'type': 'string', 'minLength': 1, 'description': 'CI run id, from depot_ci_list_runs.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'pr': {'type': 'string', 'description': 'Pull request number. Requires repo.'}, 'sha': {'type': 'string', 'pattern': '^[0-9a-fA-F]{1,40}$', 'description': 'Commit SHA prefix (1-40 hex chars).'}, 'repo': {'type': 'string', 'description': 'Repository in owner/name format, e.g. depot/cli.'}, 'status': {'type': 'array', 'items': {'enum': ['queued', 'running', 'finished', 'failed', 'cancelled'], 'type': 'string'}, 'description': "Run statuses to include (ORed). Default on Depot's side: running and queued."}, 'trigger': {'type': 'string', 'description': 'Trigger event, e.g. push, pull_request, schedule, workflow_dispatch.'}, 'page_size': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size, 1-100.'}, 'page_token': {'type': 'string', 'description': "Cursor from the previous response's nextPageToken. Omit for the first page."}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'pr': {'type': 'string', 'description': 'Pull request number.'}, 'sha': {'type': 'string', 'pattern': '^[0-9a-fA-F]{1,40}$', 'description': 'Commit SHA prefix (1-40 hex chars).'}, 'name': {'type': 'string', 'description': 'Text to match in the workflow name or file path.'}, 'repo': {'type': 'string', 'description': 'Repository in owner/name format.'}, 'status': {'type': 'array', 'items': {'enum': ['queued', 'running', 'finished', 'failed', 'cancelled'], 'type': 'string'}, 'description': 'Workflow statuses to include (ORed).'}, 'trigger': {'type': 'string', 'description': 'Trigger event, e.g. push or pull_request.'}, 'page_size': {'type': 'integer', 'maximum': 200, 'minimum': 1, 'description': 'Page size, 1-200.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['workflow_id'], 'properties': {'workflow_id': {'type': 'string', 'minLength': 1, 'description': 'Workflow id, from depot_ci_get_run_status or depot_ci_list_workflows.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['workflow_id', 'job_id'], 'properties': {'job_id': {'type': 'string', 'minLength': 1, 'description': 'Job id to retry.'}, 'workflow_id': {'type': 'string', 'minLength': 1, 'description': 'Workflow id containing the job, from depot_ci_get_run_status.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['name', 'region_id'], 'properties': {'name': {'type': 'string', 'minLength': 1, 'description': 'Display name for the project.'}, 'hardware': {'enum': ['HARDWARE_4X4', 'HARDWARE_4X8', 'HARDWARE_8X8', 'HARDWARE_8X16', 'HARDWARE_16X32', 'HARDWARE_32X64', 'HARDWARE_64X128', 'HARDWARE_96X192', 'HARDWARE_192X384', 'HARDWARE_384X768'], 'type': 'string', 'description': 'Builder size, e.g. HARDWARE_16X32 (16 CPU / 32 GB).'}, 'region_id': {'type': 'string', 'minLength': 1, 'description': 'Depot region or cloud connection, e.g. us-east-1 or eu-central-1.'}, 'cache_keep_gb': {'type': 'integer', 'maximum': 1000, 'minimum': 25, 'description': 'Max cache size per architecture, GB (25-1000). Default 50.'}, 'cache_keep_days': {'type': 'integer', 'maximum': 30, 'minimum': 1, 'description': 'Days to keep cache entries since last use (1-30). Default 14.'}, 'organization_id': {'type': 'string', 'description': 'Owning organization. Only needed for user tokens that belong to more than one org.'}, 'build_timeout_minutes': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Max duration of each build, minutes. Omit for no timeout.'}, 'max_concurrent_builds': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Builds per builder before autoscaling adds one. Omit to disable autoscaling.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['build_id'], 'properties': {'build_id': {'type': 'string', 'minLength': 1, 'description': 'Build id, from depot_list_builds.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['project_id', 'build_id', 'step_digest'], 'properties': {'build_id': {'type': 'string', 'minLength': 1, 'description': 'Build id.'}, 'page_size': {'type': 'integer', 'maximum': 1000, 'minimum': 1, 'description': 'Page size, 1-1000.'}, 'page_token': {'type': 'string', 'description': "Cursor from the previous response's nextPageToken. Omit for the first page."}, 'project_id': {'type': 'string', 'minLength': 1, 'description': 'Project id the build belongs to.'}, 'step_digest': {'type': 'string', 'minLength': 1, 'description': "The step's digest, from depot_get_build_steps."}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['project_id', 'build_id'], 'properties': {'build_id': {'type': 'string', 'minLength': 1, 'description': 'Build id, from depot_list_builds.'}, 'page_size': {'type': 'integer', 'maximum': 1000, 'minimum': 1, 'description': 'Page size, 1-1000.'}, 'page_token': {'type': 'string', 'description': "Cursor from the previous response's nextPageToken. Omit for the first page."}, 'project_id': {'type': 'string', 'minLength': 1, 'description': 'Project id the build belongs to.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['project_id'], 'properties': {'project_id': {'type': 'string', 'minLength': 1, 'description': 'Project id, from depot_list_projects.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['start_at', 'end_at'], 'properties': {'end_at': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$', 'description': 'Window end, RFC 3339 (e.g. 2026-09-30T00:00:00Z).'}, 'start_at': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$', 'description': 'Window start, RFC 3339 (e.g. 2026-09-01T00:00:00Z).'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'jobs': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Job display names to include.'}, 'end_at': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$', 'description': 'Window end, RFC 3339 (e.g. 2026-09-18T00:00:00Z).'}, 'start_at': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$', 'description': 'Window start, RFC 3339 (e.g. 2026-09-17T00:00:00Z).'}, 'workflows': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Workflow names to include.'}, 'repositories': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Connected repositories in owner/name format, e.g. ["acme/widgets"]. Empty = all.'}, 'runner_labels': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Runner labels to include, e.g. depot-ubuntu-24.04-8.'}, 'workflow_paths': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Workflow file paths to include, e.g. .github/workflows/ci.yml.'}, 'aggregation_unit': {'enum': ['hour', 'day'], 'type': 'string', 'description': 'Bucket size. Default: day.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'query': {'type': 'string', 'description': 'Case-insensitive text matched against job and workflow names; numeric values also match exact GitHub job/run ids.'}, 'end_at': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$', 'description': 'Window end, RFC 3339 (e.g. 2026-09-18T00:00:00Z).'}, 'start_at': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$', 'description': 'Window start, RFC 3339 (e.g. 2026-09-17T00:00:00Z).'}, 'statuses': {'type': 'array', 'items': {'enum': ['queued', 'waiting', 'running', 'finished'], 'type': 'string'}, 'description': 'Job states to include.'}, 'page_size': {'type': 'integer', 'maximum': 250, 'minimum': 1, 'description': 'Page size, 1-250.'}, 'page_token': {'type': 'string', 'description': "Cursor from the previous response's nextPageToken. Omit for the first page."}, 'conclusions': {'type': 'array', 'items': {'enum': ['success', 'failure', 'cancelled', 'skipped', 'neutral'], 'type': 'string'}, 'description': 'Job conclusions to include, e.g. ["failure"].'}, 'repositories': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Connected repositories in owner/name format, e.g. ["acme/widgets"]. Empty = all.'}, 'runner_labels': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Runner labels to include.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'jobs': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Job display names to include.'}, 'end_at': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$', 'description': 'Window end, RFC 3339 (e.g. 2026-09-18T00:00:00Z).'}, 'start_at': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$', 'description': 'Window start, RFC 3339 (e.g. 2026-09-17T00:00:00Z).'}, 'page_size': {'type': 'integer', 'maximum': 250, 'minimum': 1, 'description': 'Page size, 1-250.'}, 'workflows': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Workflow names to include.'}, 'page_token': {'type': 'string', 'description': "Cursor from the previous response's nextPageToken. Omit for the first page."}, 'repositories': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Connected repositories in owner/name format, e.g. ["acme/widgets"]. Empty = all.'}, 'runner_labels': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Runner labels to include, e.g. depot-ubuntu-24.04-8.'}, 'workflow_paths': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Workflow file paths to include, e.g. .github/workflows/ci.yml.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'query': {'type': 'string', 'description': 'Text to match in log bodies, e.g. "timeout". Empty returns unfiltered lines.'}, 'end_at': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$', 'description': 'Window end, RFC 3339 (e.g. 2026-09-18T00:00:00Z).'}, 'actions': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Actions to include, e.g. actions/checkout.'}, 'start_at': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$', 'description': 'Window start, RFC 3339 (e.g. 2026-09-17T00:00:00Z).'}, 'page_size': {'type': 'integer', 'maximum': 1000, 'minimum': 1, 'description': 'Page size, 1-1000.'}, 'workflows': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Workflow names to include.'}, 'compute_id': {'type': 'string', 'description': 'A single Depot compute id.'}, 'page_token': {'type': 'string', 'description': "Cursor from the previous response's nextPageToken. Omit for the first page."}, 'repositories': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Connected repositories in owner/name format, e.g. ["acme/widgets"]. Empty = all.'}, 'runner_labels': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Runner labels to include.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['project_id'], 'properties': {'page_size': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size, 1-100.'}, 'page_token': {'type': 'string', 'description': "Cursor from the previous response's nextPageToken. Omit for the first page."}, 'project_id': {'type': 'string', 'minLength': 1, 'description': 'Project id, from depot_list_projects.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page_size': {'type': 'integer', 'maximum': 250, 'minimum': 1, 'description': 'Page size, 1-250.'}, 'region_id': {'type': 'string', 'description': 'Only projects in this region or cloud connection, e.g. us-east-1.'}, 'page_token': {'type': 'string', 'description': "Cursor from the previous response's nextPageToken. Omit for the first page."}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['project_id'], 'properties': {'page_size': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size, 1-100.'}, 'page_token': {'type': 'string', 'description': "Cursor from the previous response's nextPageToken. Omit for the first page."}, 'project_id': {'type': 'string', 'minLength': 1, 'description': 'Project id, from depot_list_projects.'}}}
Recent tool changes
Similar MCP servers
shiply
Publishes and manages web applications with SQL databases, serverless functions, domains, email tests, client intake, contracts, …
Fine Structure
Builds and hosts full-stack applications from prompts and supports agent communication through WhatsApp and email.
mcp
Provisions and manages cloud instances, networks, storage, databases, backups, VPNs, application deployments, and autocoding-agen…
EchoRelay
Manages a hosted API relay runtime, including projects, endpoints, credentials, publishing, keys, delivery logs, and dead-letter …
Supero
Builds, validates, publishes, tests, and deploys multi-tenant applications with schemas, CRUD operations, external data connector…
Replicate
Provides access to Replicate models, versions, collections, hardware, predictions, and deployments for running and managing hoste…
Relin
Configures webhook sources and destinations, monitors delivery health, investigates failures, manages retries, and replays events.
Scalix Cloud
Provides managed databases, SQL tools, container builds, persistent Linux machines, domains, scheduled functions, storage, and pr…