Skip to main content
Glama

manage_modal_app

Destructive

Stop a live Modal app to end web endpoints, or rollback to a previous deployment version. Specify app by name or ID and target environment.

Instructions

Change a deployed app's state. Both actions affect live traffic.

Args:
    action: "stop" — shut the app down, ending web endpoints (`modal app stop`).
        "rollback" — restore a previous deployment (`modal app rollback`).
    app_identifier: App name ("my-app") or ID ("ap-...").
    version: Rollback target; omit for the immediately preceding version. List valid
        versions with list_modal_resources(resource="app_history", name=...).
    env: Modal environment to target.

Returns: {message, stdout, stderr} or {error}.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
envNo
actionYes
versionNo
app_identifierYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.2.2

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark destructiveHint=true, readOnlyHint=false, idempotentHint=false. The description adds concrete behavioral detail: stop 'shut the app down, ending web endpoints' and rollback 'restore a previous deployment,' plus the warning that both actions affect live traffic. This goes beyond the structured hints.

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 compact: an opening one-line summary, a tidy Args list, and a Returns line. There is no redundant prose, and the live-traffic warning is front-loaded for safety.

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?

The description covers the tool's purpose, both actions, all four parameters, return shape ({message, stdout, stderr} or {error}), and a cross-reference to list valid rollback targets. It doesn't discuss failure cases or reversibility, but output schema and destructive annotations cover part of that, making this adequate.

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?

Schema description coverage is 0%, so the description must carry all parameter meaning. It explains action with both permitted values, app_identifier with name/ID formats, version with omission semantics and a pointer to list_modal_resources, and env as the Modal environment to target. The env entry is brief, but every parameter receives usable semantics.

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 opens with 'Change a deployed app's state,' naming a specific verb and resource, then enumerates two concrete actions (stop and rollback) with their effects. This clearly distinguishes it from siblings like deploy_modal_app or run_modal_app.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states that both actions affect live traffic, framing when this tool is relevant, and explicitly directs users to list_modal_resources(resource='app_history', name=...) to find valid versions. It does not list exclusions vs. deploy/run, but the action-specific guidance is strong context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.