Skip to main content
Glama

Publish, verify, and roll back on failure

dropyour_release

Publish new content AND check it works, in one transaction. If any check fails, the previous version is put back automatically and you get the failing check plus your app's log lines for that attempt. This is the safe way to ship: the URL never serves a broken version while you figure out what went wrong. Each check is a path and the status you expect (default 200) — 'my page answers', 'my JSON route answers 200', 'the missing route really answers 404'. Rollback needs a version history, which exists on GRADUATED apps (tier 4): on a tier 1-3 drop the release is refused BEFORE publishing rather than leaving you with a broken page and nothing to go back to. onFailure='keep' publishes anyway and only reports; use it when you want to inspect the broken state yourself, or on a drop without version history. The checks are REAL requests: they count as invocations and, if a checked route writes, it really writes. They travel the same path as dropyour_call, so the same HARD 10-SECOND DEADLINE applies: a check on a route slower than that reads as a failure. Repeated attempts on the same drop are refused after a few tries in a short window — a publish/fail/republish loop burns your credits and the app's budget without converging.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
htmlNo
dropIdYes
verifyYesChecks to run after publishing. At least one — a release with nothing to verify is just dropyour_replace.
onFailureNorollback
zipBase64No
managementTokenNo

TDQS

A4.9/5.0
Behavior5/5

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

Annotations are minimal, so the description carries the transparency burden. It fully discloses that checks are REAL requests with side effects, that they count as invocations, that the same 10-second deadline applies, that slow routes read as failures, that rollback requires tier 4, and that repeated attempts are rate-limited. This is far beyond the structured 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 long but every sentence carries a distinct, useful fact: transaction semantics, rollback behavior, output contents, tier constraints, onFailure behavior, side-effect warnings, deadline, and rate limiting. It is front-loaded with the one-sentence summary and then expands into necessary operational detail without repetition.

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 complex publish-verify-rollback tool with no output schema, the description covers safety, failure outcomes, logging details, tier gating, side effects, timeouts, and anti-abuse limits. An agent has enough context to decide whether to call it and what to expect on both success and failure paths.

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 only 17%, so the description must compensate. It adds strong meaning for verify with examples ('my page answers', 'my JSON route answers 200', 'the missing route really answers 404') and clarifies the expectStatus default of 200 even though the schema does not. However, html, zipBase64, and managementToken remain unexplained, leaving a partial gap.

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 a concrete verb and resource: 'Publish new content AND check it works, in one transaction.' It clearly distinguishes this from siblings like dropyour_publish, dropyour_replace, and dropyour_rollback by emphasizing the verify-and-rollback transaction, and even notes that a release with nothing to verify is just dropyour_replace.

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

Usage Guidelines5/5

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

It gives explicit when-to-use guidance: use the rollback default as 'the safe way to ship,' and use onFailure='keep' when you want to inspect the broken state or when no version history exists. It also explains when the tool refuses upfront (tier 1-3) and warns against repeated publish/fail/republish loops, so an agent knows both the right conditions and the wrong conditions.

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
Disambiguation4/5

Most tools target clearly distinct resources and actions, and descriptions do a good job separating overlapping areas like call/release/status or read_content/read_app_files. The main risk is momentary confusion between publish/replace/release and the two read-content tools, but careful reading resolves it.

Naming Consistency3/5

All names share the dropyour_ prefix and use snake_case, but the overall pattern is mixed: read_* and list_versions use verb-first naming, while records_list, secret_set, secret_delete, and secrets_list use noun-first naming, and logs/status/whoami are bare nouns. Still readable, but not a consistent verb_noun convention.

Tool Count3/5

23 tools is on the heavy side for a single server and spans several distinct subdomains: drop lifecycle, graduated apps, data, records, secrets, scheduling, and auth. Each tool appears purposeful, but the surface could reasonably be split into focused servers.

Completeness5/5

The set covers the full drop lifecycle — publish, replace, release, rollback, delete, status, settings — plus graduated app concerns like files, logs, versions, store records, app data, secrets, and scheduling. There are no obvious dead ends for the stated domain.