Skip to main content
Glama

build_smoke_test

Read-only

VERIFY a DEPLOYED app actually works (not just 'running'). HTTP-checks the live URL: root loads with a title, app.js is your bundle (not a stub) and dismisses the boot splash, config.js namespace matches the project; optionally logs in and reads an entity to confirm data + no namespace ambiguity. Pass url= (from build_deploy_status) or poll_url=. THE post-deploy gate — run it after every deploy.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlNoThe deployed app URL (from build_deploy_status).
emailNoOptional — a user to log in and verify data reads.
entityNoOptional bare schema slug (e.g. 'participant') to read for the authed data check.
tenantNoOptional tenant for the login. Default '' so the server resolves the user's OWN tenant (required for a multi-tenant app whose test user lives in a named tenant).
passwordNoOptional — password for that user.
poll_urlNoAlt to url: the build_deploy poll_url; the URL is resolved from it.
project_uuidYesThe deployed project (for namespace + live_url).
expected_app_js_sha1NoOptional — the first 12 lowercase hex chars of `sha1sum ui/app.js` (sha1 of your local bundle FILE). If given, smoke_test reports whether the DEPLOYED app.js matches, so you can confirm the deploy actually rolled (vs a stuck roll / stale cache serving the old bundle). Case-insensitive; a malformed value is reported as a warning, never a false mismatch.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Annotations declare readOnlyHint=true, and the description goes well beyond that by detailing the exact HTTP checks, the behavior with expected_app_js_sha1 (including that malformed values are warnings, never false mismatches), and the optional login/data-read flow. This gives an agent a precise picture of what the tool inspects and how it reports.

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?

The description is relatively long but every sentence contributes: it states the purpose, lists the checks, gives usage guidance, and ends with an emphatic usage directive. The structure is front-loaded with the main verb and resource, and the key usage note is placed at the end for emphasis.

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?

The description thoroughly covers what the tool does and when to use it, but it does not specify what the tool returns or how the agent should interpret the results (e.g., success/failure details, exit codes). Since there is no output schema, this missing return-value information leaves a gap for an agent deciding how to act on the outcome.

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 already documents all 8 parameters (100% coverage), but the description adds important context for several: url is sourced from build_deploy_status, poll_url is an alternative, and expected_app_js_sha1 is explained in terms of its purpose (confirming the deploy rolled vs a stale cache). This goes beyond the schema's individual parameter descriptions.

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 clear, specific verb ('VERIFY') and resource ('a DEPLOYED app actually works'), and enumerates concrete checks (root title, app.js bundle, config namespace, optional login/data read). This distinguishes it from siblings like build_e2e_test (which runs full E2E) and build_deploy_status (which only checks deployment state).

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 explicitly frames the tool as 'THE post-deploy gate — run it after every deploy,' and tells the caller to pass url= from build_deploy_status or poll_url=. It doesn't name an alternative to avoid, but the post-deploy context and the distinction from build_e2e_test is clear enough.

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.