Skip to content

Scalingo MCP by usefulapi

by usefulapi.io · remote · no sign-in to list tools · v1.16.3 · published by io.usefulapi

Manage Scalingo PaaS apps, deployments, containers, logs and env vars from your AI assistant.

Deletes · 4Changes · 1

21 tools: 4 can delete or cancel things, 1 change things and 16 only read.

Scanned Oct 21, 2026

1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http scalingo https://scalingo.usefulapi.io/mcp

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The server marks "scalingo_request" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true}; The name "scalingo_request" says "request": a word for a change.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

21 tools

Deletes or cancels 4Claude Code: deny
  • restart_appMUTATES Scalingo infrastructure — restarts an app's containers.No findings

    Why it is in this group

    • The name "restart_app" says "restart": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    MUTATES Scalingo infrastructure — restarts an app's containers. Optionally restart only specific process types via scope; omit scope to restart everything. Returns 202 Accepted (track via get_operation). Scalingo API: POST /v1/apps/{app}/restart.

    Annotations the server declares

    • title: Restart app
    • destructiveHint: true
  • scale_appMUTATES Scalingo infrastructure — sets the container formation (number and/or size of each process type).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    MUTATES Scalingo infrastructure — sets the container formation (number and/or size of each process type). Only the container types you include are changed. Returns 202 Accepted (track via get_operation). Scalingo API: POST /v1/apps/{app}/scale.

    Annotations the server declares

    • title: Scale app
    • destructiveHint: true
  • set_variablesMUTATES Scalingo infrastructure — creates or updates environment variables in bulk (each { name, value } is created if new or updated if it exists).No findings

    Why it is in this group

    • The name "set_variables" says "set": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    MUTATES Scalingo infrastructure — creates or updates environment variables in bulk (each { name, value } is created if new or updated if it exists). This usually triggers a restart to apply the new env. Names ≤64 chars, values ≤8192 chars. Scalingo API: PUT /v1/apps/{app}/variables. Returns { variables }.

    Annotations the server declares

    • title: Set environment variables (bulk)
    • destructiveHint: true
  • trigger_deploymentMUTATES Scalingo infrastructure — triggers a new deployment from a source archive URL (a tar.gz reachable by Scalingo).No findings

    Why it is in this group

    • The name "trigger_deployment" says "trigger": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    MUTATES Scalingo infrastructure — triggers a new deployment from a source archive URL (a tar.gz reachable by Scalingo). To roll back, re-deploy a previous git_ref/archive — there is no separate rollback endpoint. Scalingo API: POST /v1/apps/{app}/deployments. Returns { deployment }.

    Annotations the server declares

    • title: Trigger a deployment
    • destructiveHint: true
Changes things 1Claude Code: ask
  • scalingo_requestPower-user escape hatch: GET any Scalingo API path not wrapped by a dedicated tool.1 finding

    Why it is in this group

    • The name "scalingo_request" says "request": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "scalingo_request" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true}; The name "scalingo_request" says "request": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Power-user escape hatch: GET any Scalingo API path not wrapped by a dedicated tool. READ-ONLY — only GET is allowed. Path is taken after /v1 (e.g. "/apps/my-app/alerts"). By default hits the regional API; set on_auth_host:true for auth-host resources (regions, scm_integrations, tokens). Scalingo API: GET {path}.

    Annotations the server declares

    • title: Raw read request
    • readOnlyHint: true
Only reads 16Claude Code: allow
  • get_accountFetch the authenticated user's account (id, email, username, fullname, company).No findings

    Why it is in this group

    • The name "get_account" says "get": a word for reading.
    Description, as the server wrote it
    Fetch the authenticated user's account (id, email, username, fullname, company). Scalingo API: GET /v1/users/self. Returns { user }.

    Annotations the server declares

    • title: Get current account
    • readOnlyHint: true
  • get_appFetch a single app's details (region, stack, status, URLs, flags).No findings

    Why it is in this group

    • The name "get_app" says "get": a word for reading.
    Description, as the server wrote it
    Fetch a single app's details (region, stack, status, URLs, flags). Scalingo API: GET /v1/apps/{app}. Returns { app }.

    Annotations the server declares

    • title: Get an app
    • readOnlyHint: true
  • get_app_logsFetch recent application log lines.No findings

    Why it is in this group

    • The name "get_app_logs" says "get": a word for reading.
    Description, as the server wrote it
    Fetch recent application log lines. Scalingo returns an authenticated logs_url (GET /v1/apps/{app}/logs → { logs_url }); this tool then downloads the last N lines from it (dump mode) and returns them as text. Returns { logs_url, lines }. If the follow-up download fails, only logs_url is returned so you can fetch it yourself.

    Annotations the server declares

    • title: Get recent app logs
    • readOnlyHint: true
  • get_app_statsReal-time per-container resource stats (CPU / memory / swap usage) for an app.No findings

    Why it is in this group

    • The name "get_app_stats" says "get": a word for reading.
    Description, as the server wrote it
    Real-time per-container resource stats (CPU / memory / swap usage) for an app. Scalingo API: GET /v1/apps/{app}/stats. Returns { stats: [...] }.

    Annotations the server declares

    • title: Get container stats
    • readOnlyHint: true
  • get_deploymentFetch a single deployment's details (status, git_ref, pusher, image size, timestamps).No findings

    Why it is in this group

    • The name "get_deployment" says "get": a word for reading.
    Description, as the server wrote it
    Fetch a single deployment's details (status, git_ref, pusher, image size, timestamps). Scalingo API: GET /v1/apps/{app}/deployments/{deployment_id}. Returns { deployment }.

    Annotations the server declares

    • title: Get a deployment
    • readOnlyHint: true
  • get_operationPoll the status of an asynchronous operation (e.g.No findings

    Why it is in this group

    • The name "get_operation" says "get": a word for reading.
    Description, as the server wrote it
    Poll the status of an asynchronous operation (e.g. a scale or restart returns an operation to track). Scalingo API: GET /v1/apps/{app}/operations/{operation_id}. Returns { operation } with status pending|running|done|error.

    Annotations the server declares

    • title: Get an operation
    • readOnlyHint: true
  • list_addon_providersList the addon providers available on Scalingo (databases, monitoring, etc.) with their plans embedded.No findings

    Why it is in this group

    • The name "list_addon_providers" says "list": a word for reading.
    Description, as the server wrote it
    List the addon providers available on Scalingo (databases, monitoring, etc.) with their plans embedded. Scalingo API: GET /v1/addon_providers. Returns { addon_providers: [{ ..., plans: [...] }] }.

    Annotations the server declares

    • title: List addon providers
    • readOnlyHint: true
  • list_addonsList the addons (databases, services) provisioned on an app.No findings

    Why it is in this group

    • The name "list_addons" says "list": a word for reading.
    Description, as the server wrote it
    List the addons (databases, services) provisioned on an app. Scalingo API: GET /v1/apps/{app}/addons. Returns { addons: [...] }.

    Annotations the server declares

    • title: List addons
    • readOnlyHint: true
  • list_app_eventsList an app's activity events (deployments, scaling, restarts, collaborator changes, etc.), paginated.No findings

    Why it is in this group

    • The name "list_app_events" says "list": a word for reading.
    Description, as the server wrote it
    List an app's activity events (deployments, scaling, restarts, collaborator changes, etc.), paginated. Scalingo API: GET /v1/apps/{app}/events. Returns { events: [...], meta: { pagination } }.

    Annotations the server declares

    • title: List app events
    • readOnlyHint: true
  • list_appsList all Scalingo apps you can access in the current region.No findings

    Why it is in this group

    • The name "list_apps" says "list": a word for reading.
    Description, as the server wrote it
    List all Scalingo apps you can access in the current region. Scalingo API: GET /v1/apps. Returns { apps: [...] }.

    Annotations the server declares

    • title: List apps
    • readOnlyHint: true
  • list_collaboratorsList an app's collaborators (users invited to the app) and their status.No findings

    Why it is in this group

    • The name "list_collaborators" says "list": a word for reading.
    Description, as the server wrote it
    List an app's collaborators (users invited to the app) and their status. Scalingo API: GET /v1/apps/{app}/collaborators. Returns { collaborators: [...] }.

    Annotations the server declares

    • title: List collaborators
    • readOnlyHint: true
  • list_containersList an app's container formation — the running process types with their amount and size (the current scaling).No findings

    Why it is in this group

    • The name "list_containers" says "list": a word for reading.
    Description, as the server wrote it
    List an app's container formation — the running process types with their amount and size (the current scaling). Scalingo API: GET /v1/apps/{app}/containers. Returns { containers: [{ name, amount, size }] }.

    Annotations the server declares

    • title: List containers (formation)
    • readOnlyHint: true
  • list_deploymentsList an app's deployments (most recent first), paginated.No findings

    Why it is in this group

    • The name "list_deployments" says "list": a word for reading.
    Description, as the server wrote it
    List an app's deployments (most recent first), paginated. Scalingo API: GET /v1/apps/{app}/deployments. Returns { deployments: [...], meta: { pagination } }.

    Annotations the server declares

    • title: List deployments
    • readOnlyHint: true
  • list_domainsList an app's custom domains and their TLS/canonical status.No findings

    Why it is in this group

    • The name "list_domains" says "list": a word for reading.
    Description, as the server wrote it
    List an app's custom domains and their TLS/canonical status. Scalingo API: GET /v1/apps/{app}/domains. Returns { domains: [...] }.

    Annotations the server declares

    • title: List domains
    • readOnlyHint: true
  • list_regionsList the Scalingo regions available to your account, each with its API/dashboard/database hosts.No findings

    Why it is in this group

    • The name "list_regions" says "list": a word for reading.
    Description, as the server wrote it
    List the Scalingo regions available to your account, each with its API/dashboard/database hosts. Useful to discover the right SCALINGO_REGION. Scalingo API: GET (auth host) /v1/regions. Returns { regions: [...] }.

    Annotations the server declares

    • title: List regions
    • readOnlyHint: true
  • list_variablesList an app's environment variables.No findings

    Why it is in this group

    • The name "list_variables" says "list": a word for reading.
    Description, as the server wrote it
    List an app's environment variables. WARNING: this exposes secret VALUES (API keys, database URLs, etc.). Scalingo API: GET /v1/apps/{app}/variables. Returns { variables: [{ id, name, value }] }.

    Annotations the server declares

    • title: List environment variables
    • readOnlyHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.16.3. Values in angle brackets are yours to fill in.

claude mcp add --transport http scalingo https://scalingo.usefulapi.io/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__scalingo__list_apps",
      "mcp__scalingo__get_app",
      "mcp__scalingo__list_containers",
      "mcp__scalingo__get_app_stats",
      "mcp__scalingo__list_deployments",
      "mcp__scalingo__get_deployment",
      "mcp__scalingo__get_app_logs",
      "mcp__scalingo__list_variables",
      "mcp__scalingo__list_collaborators",
      "mcp__scalingo__list_domains",
      "mcp__scalingo__list_addons",
      "mcp__scalingo__list_addon_providers",
      "mcp__scalingo__list_app_events",
      "mcp__scalingo__get_operation",
      "mcp__scalingo__list_regions",
      "mcp__scalingo__get_account"
    ],
    "ask": [
      "mcp__scalingo__scalingo_request"
    ],
    "deny": [
      "mcp__scalingo__restart_app",
      "mcp__scalingo__scale_app",
      "mcp__scalingo__set_variables",
      "mcp__scalingo__trigger_deployment"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as scalingo. Review it before you use it.