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.
21 tools: 4 can delete or cancel things, 1 change things and 16 only read.
Scanned Oct 21, 2026
- Deletes or cancels4Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things1Claude Code: ask: see these tools
- Only reads16Claude Code: allow: see these tools
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/mcpFindings
Matches of fixed checks, with the text they matched.
- Warnscalingo_request
The server marks "scalingo_request" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true}; The name "scalingo_request" says "request": a word for a change.
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".
What this check looks forMatched text
annotations: {"readOnlyHint":true}; The name "scalingo_request" says "request": a word for a change.
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/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .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.