Skip to main content
Glama

Deploy a multi-file site

deploy_files
Destructive

Deploy a map of path -> content as a multi-file site (must include index.html to serve at the root). Anonymous: up to 100 files per request, 30-day expiry (90 days once signed in). Pro ($4/mo): up to 900 files, custom or no TTL, named drops.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
ttlNoLifetime in seconds (min 60). Anonymous: max 2592000 (30 days), default 30 days. Signed-in free: max 7776000 (90 days), default 90 days. Paid: any value, omit for no expiry.
nameNoStable name for a redeployable drop (1-41 chars of [a-z0-9-]). Requires an active subscription; Team accounts serve it on their vanity subdomain.
emailNoContact email for an anonymous deploy: the one-time claim link is mailed to it, so the drop stays recoverable even if the claim_token from the response is lost. Pass it whenever the deploy is for a human. Ignored for authenticated deploys (those are owned already).
filesYesMap of relative paths (e.g. 'index.html', 'css/app.css') to either a string, or { encoding: 'base64', content } for binary files.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYes
nameNo
planYes
slugYesDrop slug; the site is live at https://<slug>.shipped.run/
filesYes
replacedNoPresent with named deploys; true when an existing drop was replaced
expires_atYesISO timestamp, or null when the drop never expires
claim_tokenNoOne-time claim token (spc_...), present only on anonymous deploys and shown once. Anyone holding it can attach the drop to an account via claim_drop.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed1 schema field changed
    • changedInput schema / properties / ttl / description
      Previous value: -"Lifetime in seconds (min 60). Anonymous: max 604800 (7 days), default 7 days. Signed-in free: max 2592000 (30 days), default 30 days. Paid: any value, omit for no expiry."New value: +"Lifetime in seconds (min 60). Anonymous: max 2592000 (30 days), default 30 days. Signed-in free: max 7776000 (90 days), default 90 days. Paid: any value, omit for no expiry."
  2. Changed1 schema field changed
    • changedOutput schema / properties / slug / description
      Previous value: -"Drop slug; the site is live at https://<slug>.shipped.page/"New value: +"Drop slug; the site is live at https://<slug>.shipped.run/"
  3. Changed1 schema field changed
    • addedInput schema / properties / email
      Added value: +{
      +  "description": "Contact email for an anonymous deploy: the one-time claim link is mailed to it, so the drop stays recoverable even if the claim_token from the response is lost. Pass it whenever the deploy is for a human. Ignored for authenticated deploys (those are owned already).",
      +  "type": "string"
      +}
  4. Changed1 schema field changed
    • changedInput schema / properties / ttl / description
      Previous value: -"Lifetime in seconds (min 60). Free: max 604800 (7 days), default 7 days. Paid: any value, omit for no expiry."New value: +"Lifetime in seconds (min 60). Anonymous: max 604800 (7 days), default 7 days. Signed-in free: max 2592000 (30 days), default 30 days. Paid: any value, omit for no expiry."
  5. Changed1 schema field changed
    • addedOutput schema / properties / claim_token
      Added value: +{
      +  "description": "One-time claim token (spc_...), present only on anonymous deploys and shown once. Anyone holding it can attach the drop to an account via claim_drop.",
      +  "type": "string"
      +}
  6. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already indicate destructive/write behavior, so the description is not burdened with basic safety disclosure. It adds valuable context: file-count limits, expiry durations by auth tier, Pro custom TTL, output schema existence, and the index.html requirement. This goes beyond annotations and schema.

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?

Two tight sentences deliver the core purpose plus the most important constraints and tier limits with no filler. The essential 'multi-file site' and 'index.html' requirement are front-loaded.

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?

The description, combined with the output schema and annotations, covers the deployment action, constraints, limits, and tier behavior. The only minor gap is that it does not explicitly route to siblings like deploy_html or append_files for single-file or incremental workflows.

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 description coverage is 100%, and each parameter is already well documented. The description adds the high-level shape of files and the index.html rule, but it does not need to restate parameter details. This meets the baseline for full schema coverage.

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 specific action and resource: 'Deploy a map of path -> content as a multi-file site.' It adds a concrete requirement (must include index.html) and differentiates itself from deploy_html by emphasizing the multi-file nature. This is clear and distinguishes the tool from siblings.

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?

The description gives clear context on when to use this tool: for multi-file sites, with explicit constraints and tier-based limits. It does not explicitly name alternatives like deploy_html for single files or append_files for updates, but the context is strong enough to guide basic selection.

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.3/5.0
Disambiguation5/5

Each tool targets a distinct resource or lifecycle action: deploy_html vs deploy_files separate single-file from multi-file deploys, append_files adds to an existing drop, and claim/restore/delete/list cover different drop states. There is no meaningful overlap between tool purposes.

Naming Consistency5/5

All nine tools follow a consistent snake_case verb_noun pattern, e.g. deploy_html, deploy_files, list_drops, restore_drop. The verbs clearly indicate the action and the nouns indicate the target resource.

Tool Count5/5

Nine tools is well-scoped for a deployment service covering deploy, file management, lifecycle, and account/limit information. Each tool earns its place without unnecessary redundancy or overwhelming surface area.

Completeness4/5

The core drop lifecycle is covered: deploy, append files, claim, list, delete, and restore, plus account and limits context. Minor gaps exist around per-file updates/overwrites and named-drop redeployment not being exposed as an explicit tool, but agents can accomplish the main workflows.

Resources