Skip to main content
Glama

Set environment variables (bulk)

set_variables
Destructive

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 }.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
appYesThe app name (e.g. my-production-app) or app id (app-…).
variablesYesEnvironment variables to create/update.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observed

TDQS

A4.4/5.0
Behavior5/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4/5.0
Disambiguation5/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.

Naming Consistency4/5

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.

Tool Count5/5

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.

Completeness2/5

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.