scalingo
Server Details
Manage Scalingo PaaS apps, deployments, containers, logs and env vars from your AI assistant.
- Status
- Unhealthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- m190/usefulapi-mcp
- GitHub Stars
- 0
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.2/5 across 21 of 21 tools scored. Lowest: 3.6/5.
Each tool targets a distinct resource or action: get_app vs get_app_logs vs get_app_stats are clearly different; list_addon_providers vs list_addons differentiate available vs provisioned. Mutation tools (restart, scale, trigger_deployment, set_variables) are unique. The fallback scalingo_request is a separate generic GET. No confusion between tools.
All tools use snake_case with a verb_noun pattern (get_, list_, restart_, scale_, trigger_, set_). The only exception is 'scalingo_request' which breaks the pattern, but it is clearly documented as a power-user escape hatch. Overall very consistent.
21 tools is well-scoped for a PaaS platform covering core resources like apps, deployments, addons, domains, env variables, and collaborators. It covers the essential operations without being bloated; each tool serves a clear purpose.
The toolset is heavily read-oriented; mutations are limited to restart, scale, set_variables, and trigger_deployment. Missing CRUD for major resources: no create/delete app, add/remove collaborators, add/remove domains, provision/delete addons, or update app settings. Agents will face dead ends when needing to perform writes beyond the few covered.
Available Tools
21 toolsget_accountGet current accountARead-onlyInspect
Fetch the authenticated user's account (id, email, username, fullname, company). Scalingo API: GET /v1/users/self. Returns { user }.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint: true. Description adds the return structure ({user} with fields) and API endpoint. No additional side effects disclosed, but sufficient for a simple read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise: two sentences, 18 words. Front-loaded with verb 'Fetch'. No redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Low complexity tool with no parameters. Description specifies return fields and endpoint, making it complete for understanding usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so description adds no parameter info beyond schema. Baseline 4 for 0 params; description provides relevant context about what is returned.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it fetches the authenticated user's account, lists specific fields, and names the API endpoint. It clearly distinguishes from sibling tools that deal with apps, deployments, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states the purpose: fetch current account. No direct alternative siblings exist for account retrieval, so usage context is clear. Could be improved by mentioning when not to use, but not necessary given simplicity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_appGet an appARead-onlyInspect
Fetch a single app's details (region, stack, status, URLs, flags). Scalingo API: GET /v1/apps/{app}. Returns { app }.
| Name | Required | Description | Default |
|---|---|---|---|
| app | Yes | The app name (e.g. my-production-app) or app id (app-…). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, but the description adds context about the API endpoint and return structure, including the specific fields (region, stack, status, URLs, flags). This goes beyond the annotation, though it could mention error handling or authentication requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: one for purpose and fields, one for API reference. Every word adds value, no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with one parameter and readOnlyHint, the description covers what is needed: what it does, the fields returned, and the API endpoint. No output schema exists, but the description compensates by listing return fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes the 'app' parameter fully (name or id). The description adds no additional parameter meaning beyond the API path reference, so it scores the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it fetches a single app's details and lists the specific fields returned (region, stack, status, URLs, flags). It distinguishes itself from sibling tools like list_apps by focusing on a single app.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving a single app, but it does not explicitly mention when to use it over alternatives like list_apps or get_account. No when-not-to-use guidance is provided, leaving some ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_app_logsGet recent app logsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| app | Yes | The app name (e.g. my-production-app) or app id (app-…). | |
| lines | No | Number of recent log lines to fetch (1-1000, default 100). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the two-step process, the fallback behavior if download fails, and the return structure ({ logs_url, lines }). This adds significant context beyond the readOnlyHint annotation, which already indicates safe read-only operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, well-structured, and front-loaded with the main purpose. However, there is slight redundancy in describing the log-fetching action. Still efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with good schema and annotations, the description covers the process and return values adequately. No output schema is present, but the description compensates by specifying return fields. Complete enough for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters. The description adds minimal additional value for parameters (e.g., 'dump mode') but does not substantially enhance understanding beyond the schema. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool fetches recent application log lines with a specific two-step process (get authenticated logs_url, then download last N lines). It distinguishes itself from sibling tools that deal with other resources like apps, deployments, or scaling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for fetching logs but does not explicitly state when to use this tool versus alternatives (e.g., other log-fetching methods). No exclusion criteria or when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_app_statsGet container statsARead-onlyInspect
Real-time per-container resource stats (CPU / memory / swap usage) for an app. Scalingo API: GET /v1/apps/{app}/stats. Returns { stats: [...] }.
| Name | Required | Description | Default |
|---|---|---|---|
| app | Yes | The app name (e.g. my-production-app) or app id (app-…). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark readOnlyHint=true. Description adds context that stats are real-time, per-container, and specifies the types (CPU/memory/swap). It also cites the API endpoint. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no superfluous words. Front-loaded with the core purpose. API endpoint and return type are included efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, description provides return format ({ stats: [...] }). It explains what stats are included and that it's per-container. Could mention pagination or error handling, but adequate for a simple read tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters with descriptions. The description adds minor context (e.g., API endpoint) but does not significantly enhance parameter understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it retrieves per-container resource stats (CPU, memory, swap) for an app. It uses specific language ('real-time per-container resource stats') that distinguishes it from sibling tools like get_app_logs or list_containers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description implies usage when resource stats are needed but does not provide explicit when-to-use or when-not-to-use guidance, nor mention alternatives. It relies on the user inferring from the purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_deploymentGet a deploymentARead-onlyInspect
Fetch a single deployment's details (status, git_ref, pusher, image size, timestamps). Scalingo API: GET /v1/apps/{app}/deployments/{deployment_id}. Returns { deployment }.
| Name | Required | Description | Default |
|---|---|---|---|
| app | Yes | The app name (e.g. my-production-app) or app id (app-…). | |
| deployment_id | Yes | The deployment id. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true. The description confirms a read-only operation and elaborates on the returned data fields. No contradictions or missing behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with key information front-loaded. No wasted words; every sentence is meaningful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description adequately hints at the return structure. For a simple read tool with well-documented parameters, it is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, and the description adds value by listing specific returned fields, enhancing understanding of what parameters affect. The API endpoint is also provided for context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Fetch a single deployment's details' and lists specific fields (status, git_ref, pusher, image size, timestamps). It distinguishes from sibling tools like list_deployments by specifying this is for a single deployment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving details of a single deployment, but does not explicitly state when not to use or compare with alternatives. The context of sibling tools (e.g., list_deployments) provides implicit guidance, but could be more direct.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_operationGet an operationARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| app | Yes | The app name (e.g. my-production-app) or app id (app-…). | |
| operation_id | Yes | The operation id (returned in the Location header of a scale/restart response). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already set readOnlyHint=true. The description adds value by disclosing the return structure, status values (pending|running|done|error), and the API endpoint, which are beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, consisting of two sentences that efficiently convey purpose, usage context, and return format without unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description provides the return structure and status values. It also includes the HTTP method and URL, making it complete for understanding what the tool does and what to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions are already present for both parameters (100% coverage). The description adds the specific context that operation_id comes from the Location header of a scale/restart response, which aids understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool polls the status of an asynchronous operation, with a specific verb 'Poll' and resource 'status of an asynchronous operation'. It differentiates from sibling tools which are about getting other resources like apps or logs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context by mentioning it is used for operations from scale or restart, and gives an example. However, it does not explicitly state when not to use this tool or list alternatives, so it's not a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_addon_providersList addon providersARead-onlyInspect
List the addon providers available on Scalingo (databases, monitoring, etc.) with their plans embedded. Scalingo API: GET /v1/addon_providers. Returns { addon_providers: [{ ..., plans: [...] }] }.
| Name | Required | Description | Default |
|---|---|---|---|
| category_id | No | Optional category id to filter providers. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=true. Description adds API endpoint and return structure ({ addon_providers: [{ ..., plans: [...] }] }), enhancing transparency beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: first states purpose with examples, second specifies API endpoint and return shape. No wasted words, front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with one optional parameter and no output schema, the description covers purpose, example categories, API endpoint, and response structure, making it fully adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter (category_id) with a clear description. The tool description does not add parameter-specific details beyond what schema provides, meeting baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description specifies verb 'list', resource 'addon providers', and scope 'available on Scalingo (databases, monitoring, etc.) with their plans embedded.' It clearly distinguishes from sibling 'list_addons' which lists addon instances.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides context for listing available providers and optional category filtering but does not explicitly state when to use against siblings or exclude alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_addonsList addonsARead-onlyInspect
List the addons (databases, services) provisioned on an app. Scalingo API: GET /v1/apps/{app}/addons. Returns { addons: [...] }.
| Name | Required | Description | Default |
|---|---|---|---|
| app | Yes | The app name (e.g. my-production-app) or app id (app-…). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, and the description adds the API endpoint and return shape '{ addons: [...] }', providing useful behavioral context beyond read-only nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences front-load the purpose and provide additional details (endpoint, return format) without any wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with one parameter, no output schema, and clear annotations, the description is sufficiently complete, covering purpose, endpoint, and return format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, but the description adds no additional meaning to the 'app' parameter—it merely repeats the schema's example and format. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'List the addons (databases, services) provisioned on an app' using a specific verb and resource, clearly distinguishing it from siblings like 'list_addon_providers'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for listing provisioned addons but provides no explicit guidance on when to use this tool versus alternatives (e.g., list_addon_providers) or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_app_eventsList app eventsARead-onlyInspect
List an app's activity events (deployments, scaling, restarts, collaborator changes, etc.), paginated. Scalingo API: GET /v1/apps/{app}/events. Returns { events: [...], meta: { pagination } }.
| Name | Required | Description | Default |
|---|---|---|---|
| app | Yes | The app name (e.g. my-production-app) or app id (app-…). | |
| from | No | Restrict to events from the last N hours (1-72). | |
| page | No | Page number (1-based) for paginated lists. | |
| per_page | No | Entries per page (1-100). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the agent knows it's safe. The description adds transparency about pagination and return structure (events array, meta pagination), which extends beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the main action and examples, no wasted words. Efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is fairly complete: it specifies return format, gives event types, and notes pagination. It doesn't state defaults for optional parameters but overall adequate given schema coverage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all parameters are documented. The description adds no additional parameter details beyond noting pagination, maintaining the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists an app's activity events with specific examples (deployments, scaling, restarts, collaborator changes), distinguishing it from sibling tools like list_deployments or list_apps.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for listing events but does not explicitly state when to use this tool over siblings like list_deployments, nor does it provide when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_appsList appsARead-onlyInspect
List all Scalingo apps you can access in the current region. Scalingo API: GET /v1/apps. Returns { apps: [...] }.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true. Description adds return format ({ apps: [...] }) and confirms read-only nature via 'list'. No additional behavioral details like pagination or error handling beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with main action. No filler words. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 0-parameter tool, covers what it does, scope (current region), and return format. Lacks error handling or authentication notes, but adequate for typical use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so baseline 4 applies. Description adds no parameter information (none needed).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it lists all accessible apps in the current region. Specifies the API endpoint and return format. Distinguishes from siblings by mentioning region scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implicitly clear when to use: to list all apps. Does not provide explicit when-not-to-use or compare with siblings, but context suffices given no alternative list-app tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_collaboratorsList collaboratorsARead-onlyInspect
List an app's collaborators (users invited to the app) and their status. Scalingo API: GET /v1/apps/{app}/collaborators. Returns { collaborators: [...] }.
| Name | Required | Description | Default |
|---|---|---|---|
| app | Yes | The app name (e.g. my-production-app) or app id (app-…). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already signal readOnlyHint=true. The description adds the API endpoint and return format but no further behavioral details (e.g., pagination, rate limits). It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences with no wasted words. It front-loads the key purpose and includes the API endpoint and return structure efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple listing tool with one parameter, the description adequately covers purpose, resource, and output format. It lacks mention of potential limitations like pagination, but this is not critical for the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the description repeats the parameter's name and gives an example value, but adds minimal meaning beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (list), resource (an app's collaborators), and additional detail (status). It also mentions the API endpoint and return format, making it unambiguous and distinct from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like list_apps or list_domains. There is no mention of prerequisites or scenarios where this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_containersList containers (formation)ARead-onlyInspect
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 }] }.
| Name | Required | Description | Default |
|---|---|---|---|
| app | Yes | The app name (e.g. my-production-app) or app id (app-…). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds value beyond the readOnlyHint annotation by detailing the return structure ({ containers: [{ name, amount, size }] }) and referencing the API endpoint. This clarifies the tool's output and behavior, though it does not cover every edge case.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loading the purpose and return format. Every word is useful, with no redundant or extraneous content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only list tool with one parameter and no output schema, the description is complete. It explains the resource, the response shape, and the API call, leaving no major gaps in understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers the single 'app' parameter with a description. The tool description reuses that concept without adding new details. With 100% schema coverage, this baseline score is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists an app's container formation, specifying it returns running process types with amount and size. It distinguishes from sibling list_* tools by focusing on container formation rather than apps, deployments, or variables.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide any guidance on when to use this tool versus alternatives like scale_app or other list tools. It lacks when or when-not context, leaving the agent to infer from the tool name and sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_deploymentsList deploymentsARead-onlyInspect
List an app's deployments (most recent first), paginated. Scalingo API: GET /v1/apps/{app}/deployments. Returns { deployments: [...], meta: { pagination } }.
| Name | Required | Description | Default |
|---|---|---|---|
| app | Yes | The app name (e.g. my-production-app) or app id (app-…). | |
| page | No | Page number (1-based) for paginated lists. | |
| per_page | No | Entries per page (1-100). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark it as read-only. The description adds behavioral details: returns paginated results with most recent first, which is useful beyond the annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise: three sentences covering purpose, API endpoint, and return format. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description provides the return structure ({ deployments, meta }) and ordering. Combined with the input schema, the tool is fully documented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description does not add significant new meaning to the parameters beyond the schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists an app's deployments, with ordering (most recent first) and pagination. It is specific and distinct from sibling tools like get_deployment or list_apps.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for listing all deployments, but does not explicitly contrast with get_deployment for single deployment or trigger_deployment for creation. The context from sibling names makes it reasonably clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_domainsList domainsARead-onlyInspect
List an app's custom domains and their TLS/canonical status. Scalingo API: GET /v1/apps/{app}/domains. Returns { domains: [...] }.
| Name | Required | Description | Default |
|---|---|---|---|
| app | Yes | The app name (e.g. my-production-app) or app id (app-…). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true. The description adds that it returns domains with TLS/canonical status and the response format, providing useful behavioral context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no fluff, essential information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with one required parameter and no output schema, the description covers purpose, return format, and API endpoint, making it complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents the 'app' parameter. The description does not add additional parameter-level meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool lists custom domains with TLS/canonical status and includes the API endpoint. It is distinct from sibling tools like list_apps or list_variables.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use or not use, and no alternatives mentioned. The required 'app' parameter implies the tool is for a specific app, but this is not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_regionsList regionsARead-onlyInspect
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: [...] }.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description adds API endpoint (GET), response structure '{ regions: [...] }', and note about auth host, extending beyond the readOnlyHint annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences, front-loaded with main purpose, no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and no output schema, description fully covers the tool's behavior and return value.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters; schema coverage 100% with empty object; description doesn't need to add param info, baseline 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool lists Scalingo regions with hosts, distinct from sibling tools that focus on apps or other resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly mentions it helps discover the right SCALINGO_REGION, indicating when to use; no explicit alternatives or exclusions but clear context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_variablesList environment variablesARead-onlyInspect
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 }] }.
| Name | Required | Description | Default |
|---|---|---|---|
| app | Yes | The app name (e.g. my-production-app) or app id (app-…). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, the description warns that the tool exposes secret values (API keys, database URLs), which is critical behavioral context. It also specifies the API endpoint and response format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three short sentences covering purpose, a security warning, and API details with no extraneous text. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with one parameter and no output schema, the description provides the return structure and a security warning. It lacks information about pagination or limits but is sufficient for basic usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already covers 100% of parameter descriptions, including that 'app' can be a name or ID. The description adds no additional meaning beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List an app's environment variables' with a specific verb and resource. It distinguishes from sibling tools like set_variables and other list tools by focusing on variables and their values.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide guidance on when to use this tool versus alternatives like set_variables or other list tools. There is no explicit 'when to use' or 'when not to use' context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
restart_appRestart appADestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| app | Yes | The app name (e.g. my-production-app) or app id (app-…). | |
| scope | No | Container types to restart, e.g. ["web","worker"]. Omit to restart all. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as destructive (destructiveHint: true). The description adds context by stating it mutates infrastructure, specifying the return code '202 Accepted', and advising to track via get_operation. This provides useful behavioral context beyond the annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with three sentences, each serving a distinct purpose: declaring the mutation, explaining the scope parameter, and noting the API endpoint and tracking method. No superfluous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with two parameters, one required, no output schema, and existing annotations, the description adequately covers the action, parameter behavior, return status, and tracking. It could mention potential side effects beyond the destructive hint, but overall is complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters having descriptions. The description adds value by explaining the effect of omitting scope (restart all) versus providing specific process types, which enhances understanding beyond schema definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool restarts an app's containers, specifies the action 'restarts', and identifies the resource as 'an app's containers'. It distinguishes from sibling tools by explicitly declaring it mutates infrastructure, which sets it apart from read-only or other mutation tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the optional scope parameter and its effect, providing implicit guidance on when to include it. However, it does not explicitly address when to use this tool versus alternatives like scale_app or trigger_deployment, which are present in sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scale_appScale appADestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| app | Yes | The app name (e.g. my-production-app) or app id (app-…). | |
| containers | Yes | Formation entries to apply. Each entry needs a name plus amount and/or size. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide destructiveHint: true, so the description doesn't need to repeat that. It adds valuable behavioral details: returns 202 Accepted (asynchronous) and the API endpoint. This goes beyond what annotations offer. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The three-sentence description is concise and front-loaded. Every sentence adds value: purpose, behavior, and endpoint. No redundant or vague language.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, description explains the response (202 Accepted) and suggests tracking via get_operation. This is sufficient for an asynchronous mutation tool. It could mention the returned operation ID, but the guidance is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description does not add significant meaning beyond schema—it mentions 'containers' as formation entries but doesn't elaborate on fields. The schema already describes each field adequately, so the description provides marginal added value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states it "sets the container formation" and specifies it mutates infrastructure. It clearly distinguishes from sibling tools like restart_app or set_variables by focusing on scaling container types. The phrase "Only the container types you include are changed" adds precision.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates partial updates (only included types changed) and mentions tracking via get_operation for the asynchronous result. While it doesn't explicitly state when not to use it, the mutation context and sibling names make it clear this is the scaling tool. A small improvement would be to say 'Use this to scale, not to restart or reconfigure other settings.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scalingo_requestRaw read requestARead-onlyInspect
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}.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | API path after /v1, starting with a slash, e.g. "/apps/my-app/notifiers". | |
| query | No | Optional query params object. | |
| on_auth_host | No | If true, target the auth host (auth.scalingo.com) instead of the regional API. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description reinforces READ-ONLY and only GET allowed. It adds important behavioral details: path format after /v1, default regional API, and auth host targeting. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two sentences, no wasted words. The most critical information (purpose, read-only constraint, path format, auth host option) is front-loaded and easily parsed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool is a generic read-only API request, the description adequately covers usage, parameters, and limitations. No output schema exists, but the description implies the response is the raw API output. It provides sufficient context for an agent to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with descriptions for all three parameters. The description adds value by explaining the path format relative to /v1, the default behavior for on_auth_host, and example usage, going beyond the schema's bare descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is a 'power-user escape hatch' for GET requests to any Scalingo API path not covered by dedicated tools. It uses specific verb (GET) and resource (any API path), and distinctly differentiates from sibling tools which are specific endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use: for API paths not wrapped by dedicated tools, and only for GET operations. It also explains how to use the on_auth_host parameter. While it doesn't explicitly say when not to use, the context implies avoiding if a dedicated tool exists, which is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_variablesSet environment variables (bulk)ADestructiveInspect
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 }.
| Name | Required | Description | Default |
|---|---|---|---|
| app | Yes | The app name (e.g. my-production-app) or app id (app-…). | |
| variables | Yes | Environment variables to create/update. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds significant behavioral context beyond the 'destructiveHint: true' annotation: it explicitly says 'MUTATES', explains idempotent create-or-update behavior, warns about restart triggering, and provides size constraints and API endpoint details. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long and front-loaded with the key word 'MUTATES'. Every sentence provides essential information: behavior, side effects, constraints, API reference, and return format. No redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and a destructive annotation, the description covers the mutation behavior, side effects, constraints, API method, and return shape ('Returns { variables }'). It could be slightly more complete by mentioning potential errors or use cases, but it's already quite informative for a mutation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage with descriptions for both parameters. The description adds extra context: bulk operation semantics, character limits (≤64 for name, ≤8192 for value), and the API endpoint, which enhances understanding beyond the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'creates or updates environment variables in bulk', specifying the exact verb and resource. It distinguishes itself from siblings like 'list_variables' which is for reading. The word 'MUTATES' further emphasizes its write nature.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies bulk setting of environment variables but does not explicitly state when to use this tool over alternatives like 'list_variables' or 'restart_app'. It mentions that it usually triggers a restart, which is more of a side-effect warning than usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
trigger_deploymentTrigger a deploymentADestructiveInspect
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 }.
| Name | Required | Description | Default |
|---|---|---|---|
| app | Yes | The app name (e.g. my-production-app) or app id (app-…). | |
| git_ref | No | Optional git reference label for the deployment (branch/tag/SHA). | |
| source_url | Yes | URL of the source archive (tar.gz) Scalingo should build and deploy. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true, and description reinforces mutation with 'MUTATES' and mentions API method POST. Adds context about archive format and return structure. Does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Highly concise: two sentences plus API endpoint. No redundant information. Front-loaded with 'MUTATES' for quick comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, usage guidance, and return format despite no output schema. Could mention deployment trigger behavior (immediate/asynchronous), but overall complete for a trigger tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and description adds value by specifying archive format ('tar.gz') and the purpose of git_ref for rollback, beyond the schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the verb 'triggers a new deployment' and the resource 'Scalingo infrastructure' with the source archive URL. Distinguishes from sibling tools like list_deployments by focusing on mutation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance on rollback usage, stating there is no separate endpoint, and implies to use this tool with a previous git_ref/archive. Could be clearer on when not to use, but sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- Flicense-qualityCmaintenanceDeploy, manage, and scale applications directly from your AI assistant.3
- Alicense-qualityBmaintenanceEnables managing Sliplane deployments, projects, and application status through natural language, with OAuth or API key auth.MIT
- Alicense-quality-maintenanceEnables AI assistants to manage cloud infrastructure through natural language by providing a unified interface to the Dokploy platform. Supports Docker containers, applications, databases, domains, monitoring, and deployment operations through conversational commands.271
- AlicenseAqualityDmaintenanceProvides comprehensive Heroku application management through the Heroku Platform API for AI assistants using the Model Context Protocol. It enables users to scale dynos, view deployment history, access logs, and manage environment variables through natural language.8MIT