Skip to main content
Glama

Publish App

publish_app

Publish the app to production or set up a custom domain — call when the user wants the app live or asks about a domain. Already-published apps needing a rebuild use republish_app instead. Read get_guides('publishing') for modes, inputs, and statuses before your first call.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
domainNofloot_subdomain only: subdomain label (lowercase, digits, hyphens, max 40). Ignored for custom_domain — the wizard collects the domain.
projectIdYes
add_anotherNocustom_domain only: the project ALREADY has a custom domain and the user has explicitly asked for an ADDITIONAL one. Without it, a custom_domain call on a project that already has domains returns those domains instead of opening the wizard — so a user whose domain is already connected is told so rather than sent to add it again.
domain_typeNoOmit to show the publish form (unpublished) or current status (published). 'custom_domain' for domain setup — a paid-plan feature (get_publish_status reports `paid`); it fails for free accounts.
include_made_with_flootNofalse removes the 'Made with Floot' badge (paid plans only — fails for free accounts). Omit to keep the current setting.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already provide readOnly=false and destructive=false. The description adds that the tool mutates production state and covers two distinct behaviors: publishing and custom-domain setup. It also flags that modes and statuses are complex enough to require the guide, which is useful context beyond the 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?

Three sentences with no filler: the first front-loads purpose and call triggers, the second handles the sibling distinction, and the third directs to the guide. Every sentence earns its place.

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

Completeness4/5

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

For a multi-mode publishing tool with no output schema, the description names a guide covering modes, inputs, and statuses, which closes much of the gap. However, it still leaves the exact call flow, possible return values, and failure modes implicit, so it is strong but not exhaustive.

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 80%, and individual parameter descriptions already explain domain_type modes, paid-plan restrictions, and add_another behavior. The description mainly maps abstract 'modes' to parameters without adding much per-parameter meaning, so baseline 3 is appropriate.

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 and resource: 'Publish the app to production or set up a custom domain'. It also distinguishes itself from republish_app, so an agent can tell this is for initial publishing/domain setup, not rebuilding.

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?

Explicitly says when to call: 'when the user wants the app live or asks about a domain'. It names the alternative (republish_app) and instructs to read get_guides('publishing') before first use, giving both selection criteria and a prerequisite.

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

A3.6/5.0
Disambiguation4/5

Tools are mostly distinct, but there is some overlap among file-modifying tools (edit_file, write_file, apply_patch) and between run_code_in_vm and run_code_in_browser. Detailed descriptions and clearly scoped use cases help agents select correctly.

Naming Consistency4/5

Most tools follow a verb_noun snake_case pattern (create_project, list_files, execute_sql), but a few deviate (apply_patch, card_upload_asset, run_code_in_vm). Overall readable and predictable, with only minor inconsistencies.

Tool Count2/5

With 46 tools, the server exceeds the typical well-scoped range and approaches the extreme threshold. While the broad scope of a full development platform justifies many tools, this count may overwhelm agents and increase misselection risk.

Completeness4/5

The tool surface covers the full development lifecycle: project creation, file operations, database management, resource provisioning, deployment, testing, and debugging. Minor gaps exist (e.g., no delete_project or checkpoint management), but core workflows are well-supported.

Resources