Skip to main content
Glama

Final POS – Custom POS Builder

Apply an upstream update to a clone

flow_apply_upstream_update
Destructive

Apply the update reviewed with get_upstream_update. Pass resolutions: exactly one entry per conflict — { path, contents } with the COMPLETE merged file, or { path, delete: true } when the file should not exist. Missing, unknown or ambiguous entries fail the whole call with nothing written (the plan is recomputed here, so re-review if the flow changed since). What it does, in order: saves the current files as a restorable "Before update" checkpoint, lands the merged tree (an open builder tab picks it up safely), records an "Update from upstream vX" checkpoint narrated in the builder chat, re-stamps the clone's update pointer so the next check compares against this release, provisions custom tables the update introduced (org-scoped names — the merged code already uses them), and raises a fill-in request for each missing secret (values never travel over MCP). If the review said adoptMode: true, call with adopt: true and NO resolutions to replace the files with the original's latest release wholesale — undoable via the safety checkpoint; confirm with your user first.

Input Schema

NameRequiredDescriptionDefault
noteNoOne-line summary for the builder chat.
adoptNoOnly when the review reported adoptMode: true — replace the flow's files with the original's latest release wholesale.
agentNo
flowIdYes
hubTokenNo
resolutionsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only flag destructiveHint=true; the description goes far beyond by disclosing atomicity ('nothing written' on bad resolutions), that the plan is recomputed server-side, the exact ordered effects (checkpoint, merged tree landing, update-pointer re-stamp, custom-table provisioning, secret fill-in requests), and that adopt mode is undoable via the checkpoint. This is unusually rich behavioral context for a destructive mutation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the imperative action and the resolutions contract before the long ordered effect list, so the callable facts come first. The run-on paragraphs are dense but nearly every clause carries distinct operational meaning; only minor tightening is possible.

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

Completeness5/5

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

For a destructive, multi-effect tool with no output schema and low schema description coverage, the description supplies everything an agent needs: prerequisites, atomicity guarantees, the adopt-mode branch, and the side effects. Nothing material is missing.

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 coverage is only 33%, and the description compensates by fully specifying the resolutions shape ({path, contents} with the COMPLETE merged file, or {path, delete:true}) and the adopt flag contract (requires adopt:true with NO resolutions). The agent, hubToken and note params remain undocumented, so it falls short of complete coverage.

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?

States a specific verb+resource ('Apply the update') and immediately ties it to its counterpart 'get_upstream_update', making clear what this tool does and how it differs from the read-only sibling. An agent can distinguish it from flow_get_upstream_status/get_upstream_update without opening any schema.

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?

Explicitly gates invocation on a prior review ('the update reviewed with get_upstream_update') and names the alternative path when the review reported adoptMode: true. It does not spell out when *not* to call it (e.g. no pending upstream update), but the working context is clear.

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.