Skip to main content
Glama
Constructor Research MCP

Constructor Research MCP

by NRGGIT

update_app

Destructive

Modify or add selected services in one request while preserving omitted settings; builds, links, and restarts run in the background. Resume failed deployments with deployment_id.

Instructions

Update/add selected services in one request; preserve omitted settings. MCP handles builds, links and restarts in the background. Environment variables merge; supplied port/volume lists replace their lists. Resume a failed update using deployment_id and service overrides. The Dockerfile rules in deploy_app apply.

Input Schema

NameRequiredDescriptionDefault
confirmNoSet after the user approved replacing existing disk files listed by a previous confirm_required response.
desk_urlNoDesk link from the user: sets project_id and the desk for builds without desk_id.
servicesNo
project_idNo
request_idNoOptional retry key. Omit it: the MCP generates deployment IDs automatically.
project_nameNo
wait_secondsNoWait up to this many seconds for completion; execution continues in the MCP after the response.
deployment_idNo
application_idNo
files_uploadedNo
application_nameNo
confirm_volume_wipeNoSet only after the user approved losing the data in the volumes listed by a previous confirm_required response.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.2

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already disclose destructiveHint=true, openWorldHint=true, and idempotentHint=false. The description adds meaningful behavior beyond those hints: MCP handles builds, links, and restarts in the background; environment variables merge; supplied port/volume lists replace existing lists; and failed updates can be resumed. It omits the confirmation flow for disk/file replacement and volume wipe, but that is covered in the schema descriptions.

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 four compact sentences with no filler. It front-loads the core update behavior, then adds merge/replace semantics, background execution, resume behavior, and Dockerfile rules in a logical order.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a complex, destructive, 12-parameter mutation tool with no output schema and low schema description coverage. The description covers core update and resume semantics, but it does not explain the confirmation flow, how to choose between update_app and deploy_app, or the roles of many top-level parameters. It is adequate but leaves clear gaps for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 42%, so the description has to compensate. It does explain important semantics for environment_variables merging, port/volume list replacement, deployment_id-based resume, service overrides, and Dockerfile handling via deploy_app. However, many top-level parameters such as confirm, desk_url, wait_seconds, request_id, project_id, application_id, and files_uploaded are not addressed in the description, leaving substantial gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Update/add selected services in one request.' It also clarifies that omitted settings are preserved and points to deploy_app for Dockerfile rules, which helps distinguish it from a fresh deploy. However, it does not explicitly contrast update_app with deploy_app in terms of when each should be chosen.

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 usage through 'Update/add selected services' and gives a useful failure path: 'Resume a failed update using deployment_id and service overrides.' It does not state when to prefer this over deploy_app or start/stop_app, nor does it provide explicit exclusions or prerequisites.

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