Official Octopus Deploy MCP Server — Query, Inspect, Manage
Manage your Octopus Deploy instance with the official MCP server to query, inspect, and control deployments and configurations.
npx -y @OctopusDeploy/mcp-serverOverview
The Official Octopus Deploy MCP Server implements the Model Context Protocol (MCP) for interacting with an Octopus Deploy instance. It provides a lightweight server that mediates between Octopus’ REST API and client tools, allowing you to query and inspect the model (projects, environments, releases, deployments, machines, variables) and to perform controlled management operations from external tooling and automation.
MCP Server is intended for developers and SREs who want a stable, focused interface to Octopus data and actions for integrations, dashboards, and automation pipelines. Instead of having every tool call the Octopus API directly, you can run an MCP Server instance that caches, normalizes, and exposes a consistent set of endpoints and protocols for querying and controlling your deployment model.
Features
- Query the Octopus model (projects, environments, processes, releases, machines, variables) via a single endpoint surface
- Inspect resource relationships and metadata for diagnostics and visualization
- Execute management operations (trigger deployment, cancel/deploy tasks, snapshot configuration) in a controlled manner
- Optional caching to reduce load against the Octopus server and speed repeated queries
- TLS support and basic authentication or API-key-backed requests
- Docker image and standalone binary for easy deployment
- Extensible architecture to add custom endpoints or integrations
Installation / Configuration
There are multiple ways to run the MCP Server: Docker, systemd (binary), or build from source. Replace placeholders (<…>) with your real values.
Run with Docker
Run as a standalone binary (Linux)
# download and unpack the latest release from GitHub Releases
Sample systemd unit
[Unit]
Octopus MCP Server
network.target
[Service]
octopus
/opt/mcp-server/mcp-server \
--octopus-url= \
--api-key=API-XXXXXXXX \
--bind= \
--cache-enabled=true
on-failure
TZ=UTC
[Install]
multi-user.target
Sample YAML configuration (if supported)
octopus:
url: https://octopus.example.com
apiKey: API-XXXXXXXX
server:
bind: 0.0.0.0:8080
tls:
certFile: /etc/ssl/certs/mcp.crt
keyFile: /etc/ssl/private/mcp.key
cache:
enabled: true
ttlSeconds: 300
auth:
jwtSecret: change-me
Configuration reference (common environment variables and flags)
| Variable / Flag | Purpose | Default |
|---|---|---|
| OCTOPUS_URL / –octopus-url | Octopus Server base URL | (required) |
| OCTOPUS_API_KEY / –api-key | API key for Octopus access | (required) |
| MCP_BIND_ADDRESS / –bind | Address and port for MCP HTTP server | 0.0.0.0:8080 |
| MCP_CACHE_ENABLED / –cache-enabled | Enable model caching | false |
| MCP_TLS_CERT / –tls-cert | TLS certificate file (optional) | none |
Available Resources
- GitHub repository and releases: https://github.com/OctopusDeploy/mcp-server
- Built-in API documentation: /docs or /swagger (when the server is running)
- Example clients and integrations: see the repository’s examples folder for sample scripts and client libraries
- Logs and metrics: endpoints for health (/health), metrics (/metrics), and debug (/debug) (if enabled)
Use Cases
- Query deployment status for dashboards
# Get latest deployments for a project and format with jq
|
Returns a normalized list of recent deployments that your dashboard app can consume without calling Octopus directly.
- Inspect a release process to build visual diagrams
|
Use the returned structured process model to render step trees, variable scopes, and target roles in a UI.
- Trigger a deployment from CI/CD with validation
MCP Server can validate the request against project constraints and optional policy checks before forwarding the action to Octopus.
- Reduce load on Octopus during large reporting jobs
- Use MCP Server’s caching layer to batch and cache model queries for analytics jobs that need to scan many projects and environments.