Skip to main content
Glama
607,305 tools. Updated 2026-09-24 16:13

"Octopus Deploy" matching MCP tools:

  • Deploy a GitHub repository as a live web app on Dockhold. Call this when the user wants to put an app online, get a shareable HTTPS URL, or host a demo. Returns the new app id. Two paths: a PUBLIC repo needs only repo_url; a PRIVATE repo needs repo_url plus github_installation_id (call list_github_repos first, each repo comes with the installation_id to pass here). Deploying a private repo turns on auto-deploy: future pushes to that repo redeploy the app automatically. The app builds and comes online automatically; poll get_app_status to watch it. Set memory_mb to size the app's compute, one of the values get_resource_usage reports under compute.steps_mb: 256 MB fits a static site or a small API, 512 MB fits a typical Node or Python web app, and anything that holds data in memory needs more. Omit it and the app gets the minimum slice (256 MB) so it doesn't take your whole compute pool; resize_app changes the size later with no rebuild, applied as a rolling update that replaces the app's instances. The response reports memory_mb (what this app got) and compute_available_mb (what's left in your pool), so size the next app off that. This tool needs a GitHub repo URL: if the code only exists locally (no repo), it cannot be used here, and the user should run `npx dockhold login` then `npx dockhold deploy` in the project folder instead. Requires a token with the deploy scope.
    ConnectorNo auth
  • A named lock that survives a deploy, for when only one of several agents may write something. Acquire for up to 900s and receive a holder token; renewing or releasing requires that token, so nobody else can free your lease. The name must be at least 24 characters and should be random: short names like "deploy" are squatted in seconds. Advisory only -- it coordinates agents that agree to use it, and enforces nothing.
    ConnectorNo auth
  • Connection test / health check — call this first to confirm the server is reachable. Returns server identity, deploy version, tool count, station coverage, and the update times of the realtime layers (JMA alerts, train status) so you can confirm freshness, not just liveness. No auth, no arguments, lightweight.
    ConnectorNo auth
  • End-to-end deploy: generate strategy → train → deploy live. One of `prompt` (free-form NL), `preset` (curated winning strategy), or `community_id` (copy a published community strategy) is required. If more than one is passed, precedence is community_id > preset > prompt. Args: prompt: Natural-language strategy description (e.g. "Buy when RSI < 30, sell > 70"). symbol: Currency pair to backtest on. One of: EURUSD, USDJPY, GBPUSD, USDCHF, USDCAD, AUDUSD, NZDUSD. Default EURUSD. timeframe: Candle granularity. One of: 1min, 5min, 15min, 1h. Default 15min. claude_model: Which Claude variant to use for code generation. "sonnet" (default — best quality, 1/day free) or "haiku" (faster, 3/day free). Ignored when `preset` is set (no generation needed). preset: Curated winning-strategy slug. Skips Claude generation entirely — deploys a pre-saved strategy known to backtest well on the chosen symbol. Available slugs: ema_cross_fast, momentum, scalper_stack, sma_only, trend_ema, volatility, bb_squeeze, all_mix, pivot_kid_ema. Not every slug exists for every symbol — call list_models afterwards to confirm what deployed. community_id: Copy-trade a published community strategy. Pass the `id` of an entry from `browse_community`. Loads that exact strategy code, skips Claude generation, then trains + deploys it. `symbol`/`timeframe` still apply to the backtest+deploy. webhook_url: Optional webhook to receive live signals. telegram_chat_id: Optional Telegram chat ID for signal delivery. Returns IMMEDIATELY (the deploy runs in the background so the live card can stream progress) with: - job_token (str): pass to get_deploy_result to fetch the final result. - poll_url (str): the card polls this for live progress; you can ignore it. - pending (bool): always true here — the deploy is still running. - symbol, timeframe (str). Call this EXACTLY ONCE per request. Pass the user's words as `prompt`; do not pre-pick presets/community strategies — the server routes (vague → a proven community strategy, specific rules → a fresh generation). NEXT STEP (always): call get_deploy_result(job_token) ONCE — it blocks until the deploy finishes and returns the out-of-sample stats + `stem` + `source`/`author` as TEXT so you can summarize. The live card already shows the chart, so you do NOT need get_model_chart. If source='community', tell the user it used a pre-existing strategy by @author and offer to generate a custom one.
    Connector
    Destructive
    No auth
  • Get the actual Python code behind a community leaderboard strategy. Use after `browse_community`: pass an entry's `id` here to read its real `feature_engineering()` + `strategy_config()` source so the user can inspect or tweak it. To deploy it unchanged, pass the same id to `one_shot` as `community_id`. Read-only, no signup needed. Args: community_id: The `id` of a community entry (from `browse_community`). Returns: dict with: id, title, username, description, symbol, timeframe, metrics {total_ret, win_rate, profit_factor, n_trades, mdd, sharpe_strat}, and `code` (the full Python source). SHOW the code to the user, and offer to deploy it via one_shot(community_id=...) or tweak it first.
    ConnectorNo auth
  • Return the team's plan, its limits, and current usage. Use this BEFORE deploy_site or add_custom_domain to know whether a deploy would trip a plan limit, instead of provoking PLAN_LIMIT_EXCEEDED. Also returns the per-token MCP rate-limit ceiling (live remaining is in X-RateLimit-Remaining response header).
    ConnectorNo auth

Matching MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Enables AI assistants to inspect, query, and diagnose problems within Octopus Deploy instances. Provides read-only access to deployments, releases, projects, environments, and other DevOps resources to transform AI into your ultimate DevOps wingmate.
    30
    1,226 npm
    101
    Mozilla Public 2.0

Matching MCP Connectors

  • Octopus Energy public API MCP — UK energy tariffs & products.

  • Read and edit octopus.do visual sitemaps: pages, blocks and review notes, as the signed-in user.

  • Connection test / health check — call this first to confirm the server is reachable. Returns server identity, deploy version, tool count, station coverage, and the update times of the realtime layers (JMA alerts, train status) so you can confirm freshness, not just liveness. No auth, no arguments, lightweight.
    ConnectorNo auth
  • Publish the workspace to its bots — the API equivalent of the dashboard's Deploy button. This is the step that makes edits live. apply_actions writes to the DRAFT graph. Until this runs the connected bots keep serving the previously published version, so a change that looks applied has no effect for real users. Deploy after a batch of edits (and after run_flow_autotest passes), not after every single action. Publishes the ACTIVE version to every active bot of the application; pass botIds to publish to a subset. Rolling back to an older version is a dashboard action and is deliberately not available here. Delivery is asynchronous: a bot listed as "queued" was handed to the deploy queue, not confirmed restarted. Returns { deployed, versionId, bots[], queuedCount, failedCount, error } — check `error` and each bot's `status`, because a version can be marked published while no runtime received it. Safe to repeat: deploying twice republishes the same version rather than duplicating anything. It does change what real users see, so confirm with the user before publishing edits they have not reviewed. Requires the manage_automation permission.
    ConnectorNo auth
  • Publish one HTML document (report, dashboard, Claude-style artifact) as index.html and deploy. Omit project_id to create a project. Hosted MCP cannot read local files — pass the HTML string (read the file first). Returns url, project_id, and deployment. Poll get_deployment_status until live or failed. For multi-file sites use the upload + deploy loop instead. Re-call with the same project_id to replace the live page.
    ConnectorNo auth
  • Trigger a production deploy for one of your team's connected repositories. The repository must have a deploy trigger configured — either a deploy hook URL or a GitHub Actions workflow — in its Coderbuds settings. Identify the repository by name (e.g. "saas") or by full name (e.g. "patchstack/saas"). This ships whatever is currently merged; it is not a dry run. Use GetUndeployedPullRequestsTool first if you want to see what will go out.
    ConnectorOAuth
  • Write /data/{name}.json on the live site without a deploy (Pro/Scale). Page JS keeps fetch("/data/{name}.json"). JSON must be an object or array, max 256 KB. Include the file in the next deploy or a repo upload that omits it can wipe it. Do not store secrets — the URL is public. Free: upload the JSON and call deploy instead.
    ConnectorNo auth
  • Update a graph project's schema (saves to database, does NOT deploy). ⚠️ Follow ALL rules from create_graph_project: • Must have "nodes" key with at least one entity • Each entity needs "description" and "schema" with field definitions • Each field is {"type": "...", "required": true/false} — required defaults to false • Relationships need "from", "to", and "cardinality" • Field types: string, integer, float, boolean, date, json • Relationship types should be UPPER_SNAKE_CASE • Entity names should be PascalCase WORKFLOW: 1. Use get_graph_schema to see current schema 2. Modify following all rules 3. Call update_graph_schema (saves only) 4. Call deploy_graph_staging to apply changes 5. Monitor with get_job_status DRY RUN: pass dry_run=true to preview what a deploy WOULD change (renames, deletions) without saving. NOTE: This only saves the schema. You MUST call deploy_graph_staging afterwards to deploy.
    ConnectorNo auth
  • Turns YOUR repo classification (you scan the repo and pass what you found) into a complete, approvable deploy plan WITHOUT creating anything. ⚡ REDU NEEDS THREE FILES IF THEY EXIST - redu.md, the compose file, the Dockerfile - and there are two ways to give them. ⭐ BEST, for an upload-mode deploy: run prepare_upload FIRST and pass its `source_token`; redu reads all three straight out of the upload you already made, the upload stays deployable, and you emit nothing. Pasting the same files costs you 20-29 KB of output for bytes the server already has. Otherwise (git mode) paste `redu_md` (cat redu.md), `compose_yaml`, `dockerfile`. Either way you do NOT read or interpret them; redu parses them SERVER-SIDE and returns (a) a short digest, (b) `pin_dname` so a redeploy keeps the SAME public URL, and (c) `preflight` - preemptive fixes for known failure patterns found in YOUR repo, each learned from a real failed build. Giving redu these files is the single highest-value thing you can do for a first deploy. picks the VM + managed-Postgres sizes, prices them at the real pricing_rules rates, and checks they FIT your quota — so a plan that can't provision is caught HERE, before any spend. You pass what you detected in the repo (runtime, port, needs_postgres/redis/clickhouse/vector_db); it returns resources + £/hr + £/mo + a feasibility verdict + a checkpoint summary to confirm with the user. Defaults: app VM m1.medium, managed Postgres m1.small, managed ClickHouse m1.medium; pass single_vm to collapse the app + Postgres onto one VM. SET needs_clickhouse:true FOR ANY ANALYTICS-SHAPED APP (Plausible, PostHog, Langfuse, Matomo, SigNoz, or anything with a clickhouse image / CLICKHOUSE_* env / a ClickHouse client dep): those products keep config in Postgres and EVERY EVENT in ClickHouse, so the events tier is a second VM with a second line on the bill: measured 2026-08-07, omitting it quoted GBP 53.29/mo for a GBP 65.99/mo deployment. It is sized, quota-checked and priced here; unlike Postgres and Redis it is not auto-wired by deploy_app, so the plan tells you to run plan_managed_datastore engine:'clickhouse' -> create_clickhouse and pass CLICKHOUSE_* env yourself. Vector-DB needs are flagged, not provisioned. Any containerizable app works (node, python, go, ...) — it deploys as a container, so the language doesn't gate it. Set serves_http:false for a non-web repo (a library, CLI, or language runtime with no HTTP server) and it returns a clean not-a-web-service verdict instead of a costed VM plan. Set heavy_build:true for resource-heavy builds (compiled-from-source native code, a monorepo/turborepo build, a large Node heap) and it raises the app VM to a build-capable floor so the on-VM build doesn't get OOM-killed. Set memory_heavy:true for a RAM-forward app whose persistent state lives in a MANAGED DB / external store (Next.js like cal.com/cal.diy, Rails, Django, JVM/Java apps) — it sizes onto a memory-optimized SMALL-DISK flavor (m1.mem16/m1.mem32: full RAM, a lean 40 GB disk instead of 160 GB) that costs less and snapshots/clusters far faster; do NOT set it if the app keeps lots of data on local disk. Also returns a brand-named markdown report (Mermaid diagram + cost) to save as redu-deploy-plan.md and show the user. Every deploy leaves TWO MANDATORY files at the repo root with DIFFERENT purposes: redu-deploy-plan.md = THIS run's plan/estimate, and redu.md = the DURABLE deploy memory the NEXT deploy reads. If a redu.md exists, READ it FIRST and reuse its known-good plan + recorded fixes; if NONE exists, one MUST be created at the end of the deploy (get_deployment returns redu_md_bootstrap_markdown for exactly that case; when a redu.md DOES exist, pass it as redu_md and write the merged redu_md_markdown). They are SEPARATE files — even if your own memory/notes from a prior deploy call redu-deploy-plan.md 'the record', the durable record is redu.md, so do not skip creating it.
    ConnectorNo auth
  • NEW SITE? STOP — run the BUILD ORDER first (get_account → ask single-file vs multi-page + notification emails → create_data_collection for EVERY repeating section → create_form / create_booking_page → upload_media → THEN deploy). Deploys ONE self-contained HTML file (markup, Tailwind CDN classes, small JS in index.html; optional css/js). Hardcoded list content that belongs in Data is a BROKEN build. After deploy: assign_to_project, configure_chatbot, and ALWAYS hand the user the complete site code in your own interface — deploying alone is not the deliverable. get_guide("workflow") has the full rules. Returns a live URL; reusing a project name redeploys it in-place.
    Connector
    Destructive
    OAuth
  • Advisory mutex across agents. Acquire a named lock for up to 300s, or release one. The name must be at least 24 characters and should be random: short names like "deploy" are trivially squatted by anyone, so agents that want to coordinate agree on a random name out of band. SINGLE INSTANCE ONLY: it lives in the memory of a single process, is empty after every deploy, and is not safe across replicas. Use "lease" instead for anything that must outlive a restart.
    ConnectorNo auth
  • PERMANENT deploy: promote a published version to a PERMANENT public URL at <service>.supero.live (managed Cloud Run) — unlike build_deploy(target='cloud_ephemeral'), which is a ~30-min throwaway. If version_uuid/file_id are omitted, the latest published version for the project is used. Returns public_url + poll_url; poll with build_deploy_status until live, then build_smoke_test the public_url. build_teardown removes it. Requires a domain- or project-admin API key + platform cloud-deploy enablement.
    Connector
    Destructive
    No auth
  • Update a graph project's schema (saves to database, does NOT deploy). ⚠️ Follow ALL rules from create_graph_project: • Must have "nodes" key with at least one entity • Each entity needs "description" and "schema" with field definitions • Each field is {"type": "...", "required": true/false} — required defaults to false • Relationships need "from", "to", and "cardinality" • Field types: string, integer, float, boolean, date, json • Relationship types should be UPPER_SNAKE_CASE • Entity names should be PascalCase WORKFLOW: 1. Use get_graph_schema to see current schema 2. Modify following all rules 3. Call update_graph_schema (saves only) 4. Call deploy_graph_staging to apply changes 5. Monitor with get_job_status DRY RUN: pass dry_run=true to preview what a deploy WOULD change (renames, deletions) without saving. NOTE: This only saves the schema. You MUST call deploy_graph_staging afterwards to deploy.
    ConnectorNo auth
  • Deploy a reusable image generator that skills reference to produce images from a chosen model: creates it or appends a version. An image generator is a named, versioned configuration that routes image generation calls to a specific model. Generators are private and owner-scoped. Skills reference them by UUID or ``uuid@version``. You cannot deploy a new generator whose ``name`` matches an active platform ``scope=system`` generator (those are tier-level configs that are run-only and not listed or fetched). Versioning: the first deploy with a given ``name`` creates the generator at version 1. Re-deploying the same ``name`` appends a new version and requires ``expected_version_token`` from the latest known version (returned by deploy/list/get). A new generator must omit the token; an existing one without a token returns Conflict. Deploy-time validation: the ``model`` is checked against the pricing layer. A model that does not resolve to a known image endpoint with an authoritative price is rejected before any row is written. Returns: ``{generator_id, name, description, current_version, version, version_token, status, scope, provider, model, generation_contract, config_hash, created_at}``. Persist ``version_token`` for the next re-deploy.
    ConnectorOAuth
  • Inspect one image generator you own (its model and full config) at head or a pinned version. ``generator_id`` accepts a UUID string. Platform ``system:...`` tier aliases and system generator UUIDs are not returned here (NotFound): system generators are run-only and their internal config never surfaces through list, get, deploy, or revoke. Defaults to the current version; pass ``version`` to pin. Returns the full deploy-time payload (``provider``, ``model``, ``generation_contract``, ``default_params``) plus ``config_hash`` (SHA-256 over the config) so callers can detect drift across versions. Requires ownership; a cross-user or revoked generator surfaces as NotFound.
    ConnectorOAuth
  • Run the Central Command agent console (strategy lifecycle + account actions). Purpose: guide/whoami, create/update strategies, backtest, deploy STOPPED, paper execute, and (explicitly) live orders. Behavior: READ + WRITE. Deploy without execute does NOT move money. Live place_order/close_position/cancel_order require confirm_live=true. Default force_paper=true. Auth: X-Api-Key (linked Connect keys preferred — free). Do not spoof X-Linked-User-Id. Cost: linked Connect keys free; otherwise prepaid / x402 per catalog price for agent-strategy. Rate limit: plan default. Returns: JSON envelope { ok, endpoint, status, data: { ok, guide|whoami|created|deployed|... } }. Guidelines: Start with action=guide then whoami. Prefer paper. Never invent outbound-proxy failures — report real HTTP status/body.
    Connector
    Destructive
    No auth
  • List the GitHub repositories you have connected to Dockhold, across every installation. Call this before deploy_app when the target repo is private, or when the user asks which repos they can deploy. Each repo comes with its installation_id: pass that (with the repo's clone URL) to deploy_app to deploy a PRIVATE repository. Public repos don't need it.
    ConnectorNo auth