Skip to main content
Glama

build_publish

Package + upload your authored bundle and record a version under the project. Returns version_uuid + file_id + download_url. Runs build_validate first; force=true overrides soft errors only. Provide files as {relative_path: content}.

Input Schema

NameRequiredDescriptionDefault
filesNoMap of {relative_path: file_content}.
forceNoPublish despite SOFT validation errors (default false). Validation still runs; a wrong/absent schema namespace, a JavaScript syntax error or schemas the platform refuses always block.
app_typeNoDefault 'web'.
validateNoValidate before publish (default true).
files_refNoFor a LARGE bundle that exceeds the model output-token cap: a file_id from build_stage_bundle (upload the gzip(json {path:content}) blob out-of-band, then pass its file_id here). Preferred over files/files_b64gz when the bundle will not fit inline.
files_b64gzNoAlt to files: base64(gzip(JSON {path:content})). Use if a CDN/WAF blocks raw code in the body.
project_uuidYesProject UUID (from build_list_projects or build_create_project).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / required
      Previous value: -[
      -  "project_uuid",
      -  "files"
      -]New value: +[
      +  "project_uuid"
      +]
  2. Changed1 schema field changed
    • changedInput schema / properties / force / description
      Previous value: -"Publish even if validation has errors (default false)."New value: +"Publish despite SOFT validation errors (default false). Validation still runs; a wrong/absent schema namespace, a JavaScript syntax error or schemas the platform refuses always block."
  3. Changed1 schema field changed
    • addedInput schema / properties / project_uuid / description
      Added value: +"Project UUID (from build_list_projects or build_create_project)."
  4. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare non-read-only, non-destructive, non-idempotent. The description adds genuinely new behavior: an implicit validation stage, the precise scope of force (soft errors only, with hard failures enumerated), and the return payload. It does not say whether repeated publishes create duplicate versions or overwrite, which matters given idempotentHint=false.

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?

Four tight sentences with the action and return value front-loaded, then behavioral caveats. The telegraphic '+' and semicolon style is efficient, though a couple of clauses (files_ref) duplicate the schema and could be trimmed.

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?

With no output schema, the description fills the gap by naming the return fields; it also covers validation behavior, override limits, and the three ways to supply files. An agent has enough to invoke this correctly without opening the schema.

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 coverage is 100%, so every parameter including force, files_ref, files_b64gz and app_type is already documented in the schema. The description largely restates that (files format, force scope, files_ref preference), adding little semantic detail the schema lacks. Baseline 3 applies.

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 compound but specific action: package + upload an authored bundle and record a version under a project, plus what it returns (version_uuid, file_id, download_url). It also distinguishes itself from siblings by naming build_validate (auto-run) and build_stage_bundle (via files_ref), so an agent can place it relative to those tools.

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?

Gives clear operating context: validation runs first automatically, force only overrides soft errors, and large bundles should use build_stage_bundle + files_ref. What's missing is explicit routing against siblings like build_deploy or a statement of when publishing is premature.

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.