Skip to main content
Glama

Update a published page in place

update_page

Change a page you already published, keeping the SAME private link. Use this whenever the user wants to update, edit, revise, fix, re-publish, rename, re-file, password-protect, or change the expiry of a page you previously created — do NOT call create_page for any of that, which would mint a new throwaway link. Identify the page with page (its viewer URL or slug, e.g. from create_page or list_pages). Every change field is optional and independent: pass only what you want to change, and anything you omit is left exactly as-is. You must pass at least one of html, title, password, expiry, or project. html swaps the content as a new version (the previous version stays in the 30-day history). password sets a viewer password, or pass an empty string "" to REMOVE the password — note a searchable page can't take a password. expiry is one of '1d' | '7d' | '30d' | 'never' ('never' pins the page always-on; the Free tier is limited to '7d' or 'never', and on Free '7d' only takes a page off always-on, where it resumes the countdown it had when it was pinned — it never extends a page that is already counting down or revives an expired one). title renames it; project re-files it under a project by name (created if it doesn't exist). SIZE LIMIT: the html argument travels as text (roughly under ~100 KB). For a larger content swap, don't use this tool: if you can run shell commands, call prepare_upload with page set to this page, curl the file, then finish_upload — that replaces the content and keeps the SAME link; otherwise tell the user to re-upload with the miinideck CLI or the web uploader.

Input Schema

NameRequiredDescriptionDefault
htmlNoOptional. The complete, self-contained HTML document (including <!doctype html>) to publish as the new version. Omit to leave the content unchanged.
pageYesThe page's viewer URL or its slug (the part after the last '/').
titleNoOptional new title shown in the owner's dashboard. Pass an empty string to clear it. Omit to leave unchanged.
expiryNoOptional new expiry. 'never' pins the page always-on. Free tier may only pick '7d' or 'never'; on Free, '7d' can't extend a page that is already counting down. Omit to leave unchanged.
projectNoOptional project (folder) to move this page under, BY NAME. Matches an existing project case-insensitively, or creates a new one. Omit to leave unchanged.
passwordNoOptional. Set a viewer password, or pass an empty string "" to remove an existing one. Rejected if the page is searchable. Omit to leave unchanged.

Schema Changelog

Changes observed during successful MCP inspections.

No schema history has been recorded yet.

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations, the description carries the full behavioral burden and does so well: it discloses link preservation, version-history behavior for html, password removal semantics, searchable-page restrictions, expiry tier nuances, project creation, and a size limit with a fallback workflow. It also implies ownership by specifying a page the user already published.

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?

The description is front-loaded and logically structured: purpose, sibling routing, parameter constraints, then size-limit fallback. It is long and restates some schema parameter details, especially around password and project, which keeps it from being maximally concise.

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 six-parameter mutation tool with no annotations and no output schema, the description covers the essential invocation context: when to use it, field independence, the at-least-one-field rule, side effects, size limits, and the correct fallback for larger uploads. No significant invocation detail is missing.

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?

Schema coverage is 100%, so the baseline is 3, but the description adds important meaning beyond the schema: at least one of html, title, password, expiry, or project must be supplied, and omitted fields remain unchanged. It also adds version-history behavior and Free-tier expiry nuance, though some password and project details are already present in the schema descriptions.

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 states a specific verb and resource: changing an already-published page while keeping the same private link. It explicitly distinguishes this from create_page, so an agent can select it without opening the sibling 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?

It gives explicit when-to-use guidance and an explicit when-not-to-use rule: do NOT call create_page for updates, edits, renames, re-filing, password changes, or expiry changes. It also names prepare_upload and finish_upload as the correct alternative for large HTML replacements.

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