get_variables
Get all project variables and library variable set variables for a project (supports config-as-code projects via gitRef)
How to use it
get_variables is exposed by the MCP Server MCP server. Add the server to your MCP client (Claude Desktop, Cursor, Windsurf and others), and the get_variables tool becomes available to the model automatically. See the full listing for setup details and every tool this server provides.
Install MCP Server
docker run -i --rm -e OCTOPUS_API_KEY=your-key -e OCTOPUS_SERVER_URL=https://your-octopus.com octopusdeploy/mcp-serverOther tools in MCP Server (27)
Create a new release for a project
Deploy a release to environments (supports both tenanted and untenanted deployments)
Structured REST backstop. Reaches any Octopus REST endpoint under /api. The HTTP method is the authoritative read/write/delete classifier — never an isWrite flag the LLM can set. Method gating is hard-coded server-side:
Find accounts in a space (can get a specific account by ID or list/search accounts with filters)
Find certificates in a space (can get a specific certificate by ID or list/search certificates with filters)
Find deployment targets in a space (can get a specific target by ID or list/search targets with filters)
List customer feature toggles in a project. Each summary includes per-environment state (isEnabled, rolloutPercentage, clientRolloutPercentage) plus a resourceUri so "where is X turned on" is answerable from the list response.
Find pending or historical interruptions (manual interventions, approvals, guided-failure prompts) in a space, optionally filtered by task, project, environment, regarding document, responsibility, or pending state. Returns slim summaries; dereference the octopus://spaces/{spaceName}/interruptions/{
Find releases in a space (can get a specific release by ID, or list/filter releases by project)
Find runbooks in a project (can get a specific runbook by ID, or list/filter runbooks by partial name). Each summary includes the published snapshot ID, multi-tenancy mode, and environment scope so callers can pick valid targets before running.
Find tenants in a space (can get a specific tenant by ID or list/search tenants with filters)
Get Git branches for a version-controlled project (minimum supported version: 2021.2)
Get information about the current authenticated user
Get deployment details from deployment URL (returns taskId for follow-up)
Get deployment process by ID for projects or releases
Get live status of Kubernetes resources for a project and environment (minimum supported version: 2025.3)
Get tenant variables that are missing values
Get task details and logs from task URL
Get tenant variables by type (all, common, or project)
Search the Octopus API catalog (octopus://api/llms.txt) with grep-style semantics (minimum supported Octopus version: 2026.2.3916). The catalog body is large (typically 300+ KB) — call this rather than reading the resource body directly. Parameters mirror GNU grep (pattern, caseInsensitive, invertMa
Search a task's activity log without fetching the full body. Parameters mirror GNU grep (pattern, caseInsensitive, invertMatch, fixedString, beforeContext, afterContext, maxCount). Returns matching lines with 1-indexed lineNumber, optional before/after context arrays, and a totalMatches count across
List deployments in a space with optional filtering
List all environments in a given space
List all projects in a given space
List all spaces in the Octopus Deploy instance
Run a runbook against one or more environments. Supports tenanted runs (by tenant name or tenant tag), prompted variables, guided failure mode, scheduled run windows, and step or machine inclusion/exclusion. Defaults to the runbook's published snapshot if runbookSnapshotId is omitted.
Adjust an existing toggle. Narrow surface — flip an environment on/off, change rollout percentages, or update the toggle-level description / default state. Internally fetches the current toggle, applies your patches in memory, and PUTs the merged body, so unmentioned environments and unmentioned fie