{"id":301583,"recorded_at":"2026-10-26T22:35:53.637496Z","observed_at":"2026-10-26T22:35:53.637362Z","subject_kind":"endpoint","subject":"661daed3-00c9-4b6d-becd-1866c62ea38e","kind":"mcp.tools","method":"probe.mcp/1","body":{"count":21,"tools":[{"description":"Fetch the authenticated user's account (id, email, username, fullname, company). Scalingo API: GET /v1/users/self. Returns { user }.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{},"type":"object"},"name":"scalingo_get_account"},{"description":"Fetch a single app's details (region, stack, status, URLs, flags). Scalingo API: GET /v1/apps/{app}. Returns { app }.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"app":{"description":"The app name (e.g. my-production-app) or app id (app-…).","type":"string"}},"required":["app"],"type":"object"},"name":"scalingo_get_app"},{"description":"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.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"app":{"description":"The app name (e.g. my-production-app) or app id (app-…).","type":"string"},"lines":{"description":"Number of recent log lines to fetch (1-1000, default 100).","maximum":1000,"minimum":1,"type":"integer"}},"required":["app"],"type":"object"},"name":"scalingo_get_app_logs"},{"description":"Real-time per-container resource stats (CPU / memory / swap usage) for an app. Scalingo API: GET /v1/apps/{app}/stats. Returns { stats: [...] }.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"app":{"description":"The app name (e.g. my-production-app) or app id (app-…).","type":"string"}},"required":["app"],"type":"object"},"name":"scalingo_get_app_stats"},{"description":"Fetch a single deployment's details (status, git_ref, pusher, image size, timestamps). Scalingo API: GET /v1/apps/{app}/deployments/{deployment_id}. Returns { deployment }.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"app":{"description":"The app name (e.g. my-production-app) or app id (app-…).","type":"string"},"deployment_id":{"description":"The deployment id.","type":"string"}},"required":["app","deployment_id"],"type":"object"},"name":"scalingo_get_deployment"},{"description":"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.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"app":{"description":"The app name (e.g. my-production-app) or app id (app-…).","type":"string"},"operation_id":{"description":"The operation id (returned in the Location header of a scale/restart response).","type":"string"}},"required":["app","operation_id"],"type":"object"},"name":"scalingo_get_operation"},{"description":"List the addon providers available on Scalingo (databases, monitoring, etc.) with their plans embedded. Scalingo API: GET /v1/addon_providers. Returns { addon_providers: [{ ..., plans: [...] }] }.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"category_id":{"description":"Optional category id to filter providers.","type":"string"}},"type":"object"},"name":"scalingo_list_addon_providers"},{"description":"List the addons (databases, services) provisioned on an app. Scalingo API: GET /v1/apps/{app}/addons. Returns { addons: [...] }.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"app":{"description":"The app name (e.g. my-production-app) or app id (app-…).","type":"string"}},"required":["app"],"type":"object"},"name":"scalingo_list_addons"},{"description":"List an app's activity events (deployments, scaling, restarts, collaborator changes, etc.), paginated. Scalingo API: GET /v1/apps/{app}/events. Returns { events: [...], meta: { pagination } }.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"app":{"description":"The app name (e.g. my-production-app) or app id (app-…).","type":"string"},"from":{"description":"Restrict to events from the last N hours (1-72).","maximum":72,"minimum":1,"type":"integer"},"page":{"description":"Page number (1-based) for paginated lists.","maximum":9007199254740991,"minimum":1,"type":"integer"},"per_page":{"description":"Entries per page (1-100).","maximum":100,"minimum":1,"type":"integer"}},"required":["app"],"type":"object"},"name":"scalingo_list_app_events"},{"description":"List all Scalingo apps you can access in the current region. Scalingo API: GET /v1/apps. Returns { apps: [...] }.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{},"type":"object"},"name":"scalingo_list_apps"},{"description":"List an app's collaborators (users invited to the app) and their status. Scalingo API: GET /v1/apps/{app}/collaborators. Returns { collaborators: [...] }.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"app":{"description":"The app name (e.g. my-production-app) or app id (app-…).","type":"string"}},"required":["app"],"type":"object"},"name":"scalingo_list_collaborators"},{"description":"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 }] }.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"app":{"description":"The app name (e.g. my-production-app) or app id (app-…).","type":"string"}},"required":["app"],"type":"object"},"name":"scalingo_list_containers"},{"description":"List an app's deployments (most recent first), paginated. Scalingo API: GET /v1/apps/{app}/deployments. Returns { deployments: [...], meta: { pagination } }.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"app":{"description":"The app name (e.g. my-production-app) or app id (app-…).","type":"string"},"page":{"description":"Page number (1-based) for paginated lists.","maximum":9007199254740991,"minimum":1,"type":"integer"},"per_page":{"description":"Entries per page (1-100).","maximum":100,"minimum":1,"type":"integer"}},"required":["app"],"type":"object"},"name":"scalingo_list_deployments"},{"description":"List an app's custom domains and their TLS/canonical status. Scalingo API: GET /v1/apps/{app}/domains. Returns { domains: [...] }.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"app":{"description":"The app name (e.g. my-production-app) or app id (app-…).","type":"string"}},"required":["app"],"type":"object"},"name":"scalingo_list_domains"},{"description":"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: [...] }.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{},"type":"object"},"name":"scalingo_list_regions"},{"description":"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 }] }.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"app":{"description":"The app name (e.g. my-production-app) or app id (app-…).","type":"string"}},"required":["app"],"type":"object"},"name":"scalingo_list_variables"},{"description":"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}.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"on_auth_host":{"description":"If true, target the auth host (auth.scalingo.com) instead of the regional API.","type":"boolean"},"path":{"description":"API path after /v1, starting with a slash, e.g. \"/apps/my-app/notifiers\".","type":"string"},"query":{"additionalProperties":{},"description":"Optional query params object.","propertyNames":{"type":"string"},"type":"object"}},"required":["path"],"type":"object"},"name":"scalingo_request"},{"description":"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 scalingo_get_operation). Scalingo API: POST /v1/apps/{app}/restart.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"app":{"description":"The app name (e.g. my-production-app) or app id (app-…).","type":"string"},"scope":{"description":"Container types to restart, e.g. [\"web\",\"worker\"]. Omit to restart all.","items":{"type":"string"},"type":"array"}},"required":["app"],"type":"object"},"name":"scalingo_restart_app"},{"description":"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 scalingo_get_operation). Scalingo API: POST /v1/apps/{app}/scale.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"app":{"description":"The app name (e.g. my-production-app) or app id (app-…).","type":"string"},"containers":{"description":"Formation entries to apply. Each entry needs a name plus amount and/or size.","items":{"properties":{"amount":{"description":"Number of containers of this type.","maximum":9007199254740991,"minimum":0,"type":"integer"},"name":{"description":"Process type name, e.g. \"web\" or \"worker\".","type":"string"},"size":{"description":"Container size, e.g. \"S\", \"M\", \"L\", \"2XL\".","type":"string"}},"required":["name"],"type":"object"},"minItems":1,"type":"array"}},"required":["app","containers"],"type":"object"},"name":"scalingo_scale_app"},{"description":"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 }.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"app":{"description":"The app name (e.g. my-production-app) or app id (app-…).","type":"string"},"variables":{"description":"Environment variables to create/update.","items":{"properties":{"name":{"description":"Variable name (uppercase convention, ≤64 chars).","type":"string"},"value":{"description":"Variable value (≤8192 chars).","type":"string"}},"required":["name","value"],"type":"object"},"minItems":1,"type":"array"}},"required":["app","variables"],"type":"object"},"name":"scalingo_set_variables"},{"description":"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 }.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"app":{"description":"The app name (e.g. my-production-app) or app id (app-…).","type":"string"},"git_ref":{"description":"Optional git reference label for the deployment (branch/tag/SHA).","type":"string"},"source_url":{"description":"URL of the source archive (tar.gz) Scalingo should build and deploy.","type":"string"}},"required":["app","source_url"],"type":"object"},"name":"scalingo_trigger_deployment"}]},"body_sha256":"248a4149d6248725262e355b70e68da9aedc520a4e5f6743ffccb00073800b3a","prev_id":null,"leaf":"0xcbea716342b9ece5598367bc8d8f72f0464914199ef78b3b5ad7632572c45578","leaf_text":"{\"body\":\"248a4149d6248725262e355b70e68da9aedc520a4e5f6743ffccb00073800b3a\",\"id\":301583,\"kind\":\"mcp.tools\",\"method\":\"probe.mcp/1\",\"observed_us\":1793054153637362,\"prev\":null,\"subject\":\"661daed3-00c9-4b6d-becd-1866c62ea38e\",\"subject_kind\":\"endpoint\"}","day":{"day":"2026-10-26","leaves":296695,"root":"0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8","chained":"0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a","anchor_chain":"eip155:5042002","anchor_tx":"0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae","anchor_block":69251483},"proof":["0xcbea771dfdb295b15f1ef0052f965bc4707785373ec382c9fb1bc9627133e6e9","0x24107c53b70d7873f7b6e59946bfaeb9679401263d5de36fb9ad30100de0e9cf","0xf317d514d02c863de6e8cba17a986467d33eafb5e34fdc8ed1187e3214f2f83f","0x1924e37a7dcc4a68615355da88d01aea277211231cc9d41c805f91c3127ba8ee","0xd529413082bc18d6407a2e84b622dd37c2b235ea9b18a1873c4ddd7224f77224","0x44a31def08c66f91cdfbb491a05ac535dcf8a3c4e49871e645526f8ff4a14714","0xba08a6ae5d6a056c2074584a0d7abc6a730451eecd82a84334164d3694a2656f","0x50097f72f9019614fa93d776bdc340db88d44c142495ec0a6c2e661adb5593e2","0x726a778fce960a500e0adbf8806224f8f312af0012d5eb4d9f9c196fb4aadd2e","0x271656ddeb4ac114157823f5b692e3080e2fc3456a434600ab85e26da37fbbb5","0x351a777a477836c8c26972f993b4d53df3d67c6acea7cef50b5038df678d6a3f","0x85ea84dc356483b05e7ec8ed6e303988684070a1512dc756c8e64a7e3604feaf","0x985acd37cc044d5aa6ad959194da8e91c81045df83517891ed92f1763a9ab825","0x5b20d8aab05225a3497eadcce89d2e2a586a510fb31334793d3f46f88f0157c5","0xe94ca5b798e9899ad611e57835af42266e20f53f44977e487d81365e30972beb","0x703f95866af09c5e5d6ead7411e9a10f964a41a2aff64d4a55ff0053c023a023","0xd0651cb9bc8155eb52b5247d506e74b8a935057dc190ba52091702ac25ed3a40","0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f","0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a"]}