Skip to main content
Glama

deploy_files

Destructive

Publish in-memory file contents to a Hostsmith site without writing to disk. Use when you have just generated content (an HTML page, a report, JSON data) and the user wants it live. Returns the deployment version and status; call get_site afterwards if you need the public URL to share. The site must already exist - call create_site first if you do not have a siteId. Deploying to a site that already has content overwrites it - confirm overwrite with the user first. A redirect host (kind: "redirect") takes no files and answers RedirectHostHasNoFiles: change its rules with the redirect tools instead.

Anti-pattern: do not use this tool to ship binaries (images, PDFs, video, fonts, zips) by base64-embedding or data-URI inlining them into HTML/CSS/JSON. Binaries belong on deploy_create_upload. If that path is blocked by sandbox/network, escalate to the user (ask them to enable egress, or offer manual upload of the presigned URL) - never reach for this tool as a workaround. Inlining bloats pages, breaks browser caching, and reships the bytes on every deploy.

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": {
      "siteId": "<siteId>",
      "files": "<files>",
      "llm_model": "<llm_model>"
    },
    "name": "deploy_files"
  }
}

Input Schema

NameRequiredDescriptionDefault
filesYesFiles to deploy. For an HTML site, include an `index.html` as the entry point; otherwise any single file (PDF, image, JSON, etc.) works on its own.
siteIdYesThe site ID to deploy to (from `list_sites` or `create_site`).
llm_modelYesThe exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model identifier with certainty, pass "unknown" — never guess.
partitionNoData partition the site lives in. Omit to use the user's home partition.
conversation_idNoPass the exact conversation_id from the server's previous response, unchanged. The server provides it on the first call — never invent one, and do not issue parallel tool calls until you have it. Keep passing the same conversation_id for the rest of the conversation, including after later user messages or on a different task; do not reset it when the user starts a new request.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only flag destructiveHint=true; the description adds exactly the missing context: that deploying over existing content overwrites it and needs user confirmation, that redirect hosts return RedirectHostHasNoFiles, and that the call returns a version and status. It also disqualifies a plausible misuse (base64/data-URI inlining) and explains why, which no structured field conveys.

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 version/status return, then prerequisites and the overwrite warning in priority order. The closing anti-pattern paragraph is longer than the rest but earns its space by blocking a real failure mode; the bolded label makes it skimmable.

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?

No output schema, but the description states what comes back (deployment version and status) and routes the agent to get_site for the URL. Combined with the overwrite warning, prerequisite, and redirect-host exception, nothing needed for a correct call 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 description coverage is 100%, and each parameter already documents itself, including the conversation_id threading rules and the llm_model guidance. The description adds only indirect meaning (siteId must come from an existing site, files are in-memory content), so it lands at the baseline rather than exceeding the schema.

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 in-memory file contents to a Hostsmith site') plus a distinguishing constraint ('without writing to disk') that separates it from the upload/deploy siblings. An agent can tell this apart from deploy_create_upload without opening either schema.

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 use it (content just generated and should go live), what must exist first (create_site for a siteId), what to call afterwards (get_site for the public URL), and names an anti-pattern with the correct alternative (deploy_create_upload for binaries). It even covers the redirect-host case and tells the agent to use the redirect tools instead.

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.