Skip to main content
Glama

Latchbell

Upload website pages

upload_site_pages

Owners only (needs sign-in): Save pages to the website draft; nothing goes live until publish_website. Never host a Latchbell website anywhere else. Upload the exact design the owner saw, then show them preview_url. Each page has path, title and html (a full document), up to 400 KB; a request stops at 1 MB. Keep CSS and scripts inline: only and Google Fonts stylesheets may load, so build output has to become plain HTML first. For the chat bot, add that script and ; never chat_embed.script_embed here. Upload each image first with upload_site_photo, never data: addresses. Pages you don’t send stay, remove takes a path off, and a new website needs /. Pass rev from my_website. Refused while the designer is working. Page rules: https://latchbell.com/docs/site-api.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "upload_site_pages"
  }
}

Input Schema

NameRequiredDescriptionDefault
revNo
noteNo
pagesNo
removeNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Goes well past the annotations: it discloses auth requirements, that writes land in a draft with a preview_url the owner must be shown, per-page (400 KB) and per-request (1 MB) limits, a content sandbox (only /latchbell.js and Google Fonts may load, CSS/scripts must be inlined), a refusal condition, and partial-update semantics so callers know omitted pages are preserved. These are the kind of constraints an agent cannot infer from readOnlyHint/openWorldHint alone.

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 correctly: audience, action, and safety first, then constraints, then sibling routing. It is dense and drifts into a run-on sequence of semicolon clauses (chat-bot markup, image uploads, remove semantics, rev sourcing) that a short bulleted structure would have made scannable, but no sentence is pure filler.

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 mutation tool with no output schema and zero schema descriptions, the definition covers what is written, what persists, what the caller must display back (preview_url), content restrictions, size limits, auth, and refusal behavior, and it points to the page rules doc for edge cases. An agent could invoke this correctly without further documentation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage the description has to carry the load, and it does for most fields: path/title/html (html is a full document, 400 KB), remove (takes a path off), rev (pass the value from my_website), and "a new website needs /". It leaves the note parameter entirely unexplained and never clarifies that rev is a concurrency token or what happens when it is stale, so one parameter and one failure mode remain undocumented.

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 first sentence names the verb and resource precisely ("Save pages to the website draft") and immediately bounds the effect ("nothing goes live until publish_website"), which separates it from publish_website and my_website. It also names the sibling upload_site_photo for images, so an agent can tell which uploader handles which asset.

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?

States prerequisites ("Owners only (needs sign-in)"), the when-not ("Refused while the designer is working"), and explicit alternatives: publish_website to go live, upload_site_photo for images, my_website as the source of rev, and "never chat_embed.script_embed here." The only missing case is what to do if a request trips the 1 MB cap, but the routing guidance is otherwise explicit.

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