Skip to main content
Glama

Deploy a site

deploy_site
Destructive

Uploads files and makes them live on a {subdomain}.runlitehost.com address. Without a siteId it creates a new site (name is required; the subdomain is derived from it unless given); with one it updates that site. Deployment is atomic: every file goes live or none does, and the files sent become the whole site: a live file not among them is removed. A root index.html is required, and a deploy carries at most 200 files and 4 MB in total. A new site counts against the plan's site limit, and past it the result is quota_exceeded. Only website files are accepted (no programs, installers or archives). Pages with password, card, one-time-code, PIN or wallet-phrase fields are refused unless the site has its own custom domain (a paid plan). When the monthly deployment allowance is used up, the files are saved as a draft and published is false.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "files": "<files>"
    },
    "name": "deploy_site"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameNoRequired when creating.
filesYes
siteIdNoOmit to create a new site.
messageNoShown in deployment history. e.g. "Added catering page"
subdomainNoRequested subdomain. Derived from name if omitted.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedInput schema / properties / files / items / properties / content / description
      Added value: +"Required unless fromUpload is given."
    • addedInput schema / properties / files / items / properties / fromUpload
      Added value: +{
      +  "description": "An imageId from list_uploads, in place of content: that photo as it was processed. The path needs its format's extension: .jpg or .jpeg for a JPEG, .png for a PNG, .webp for a WebP image.",
      +  "type": "string"
      +}
    • changedInput schema / properties / files / items / required
      Previous value: -[
      -  "path",
      -  "content"
      -]New value: +[
      +  "path"
      +]
  2. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Goes well beyond the annotations: atomic all-or-nothing deployment, whole-site replacement semantics ('a live file not among them is removed'), a root index.html requirement, 200-file / 4 MB caps, quota_exceeded on new-site creation, accepted-content restrictions, a custom-domain prerequisite for sensitive-field pages, and the draft fallback. Annotations already flag destructiveHint=true; the description explains exactly what destruction means.

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-loaded with the core action and the create-vs-update branch, then layered constraints in descending importance. Every sentence carries a distinct constraint, though the sensitive-fields/policy sentence is long and could be tightened. No filler or restatement of the title.

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, non-idempotent 5-parameter write tool with no output schema, the description covers the failure modes an agent must anticipate (quota, size/file limits, rejected content, draft fallback) and explains the one return signal it can produce ('published is false'). Nothing essential is missing.

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%, so the schema already documents name ('Required when creating'), subdomain ('Derived from name if omitted'), siteId, message and the file object fields. The description restates the name/subdomain relationship and the index.html requirement but adds no format or syntax detail beyond structured data. 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 concrete verb and resource ('Uploads files and makes them live on a {subdomain}.runlitehost.com address') and immediately splits the two operating modes by presence of siteId. This distinguishes it from siblings such as update_site, patch_site and upload_files without the agent 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?

Explicit routing rule: omit siteId to create (name required), include it to update. It also states what happens at plan limits (quota_exceeded) and at the monthly deployment allowance (saved as draft, published is false), which effectively describes edge-case behavior. It stops short of naming sibling alternatives like update_site or patch_site for partial edits.

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.

Resources