Skip to main content
Glama

restore_site

Restore a deleted or expired page at the same URL, keeping its ID, token, and read history so previously shared links work again. Works within 30 days and without using a new page slot.

Instructions

Put a page back at the same URL after it was deleted or ran out of time. Same id, same token, same slug, same read history, so every link already sent starts working again. Call this, and never publish_html, whenever update_site, set_expiry, set_password or another settings call answers 409 site_deleted: publishing the page again mints a different URL, strands everyone holding the old one, and spends another of the free plan's three lifetime pages, while a restore spends none of them. Works only inside the 30 days after the page stopped serving, and only for a page its owner deleted or one that expired. A page taken down for abuse is not restorable, and neither is one past its window: both answer 404 with the same body, deliberately. IT IS A RESCUE, NOT A RENEWAL. Read expires_at and restored_for off the response and tell the user that date: restored_for "grace" means the page had run out of time and comes back for 48 hours rather than a fresh full lifetime, while "plan" means it got the normal window for the plan. A 402 plan_site_limit_exceeded means the account is at its live-page limit: take another page down or upgrade, and this one stays restorable until its deadline either way. If a retry answers 404, do not assume the page is gone: call get_site first, because the earlier attempt may have succeeded and a restored page is no longer restorable.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
id_or_slugYesSite id, slug, or unlisted token. All three still resolve while the page is down.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.7.0

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations, the description carries full disclosure burden and fully delivers: it reveals that abuse takedowns and past-window pages both answer 404 with the same body deliberately, explains restored_for 'grace' vs 'plan' semantics, clarifies what 402 plan_site_limit_exceeded means for the account, and warns that a retry answering 404 may actually mean the earlier restore succeeded because a restored page is no longer restorable.

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?

Core behavior is front-loaded in the first sentence, and the error-code and retry guidance that follows is dense but each sentence carries distinct operational value. Slightly verbose with minor redundancy in restating the 30-day window and the non-restorable cases twice, but nothing is 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 single-parameter tool with no annotations and no output schema, this is exhaustive: it covers 404/402/409 handling, names the response fields to read (expires_at, restored_for), specifies the 48-hour grace behavior, gives user-facing messaging guidance, and provides retry fallback logic. Nothing an agent needs to call it correctly 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 100% — id_or_slug is already documented as accepting a site id, slug, or unlisted token that still resolves while the page is down. The description reinforces this ('Same id, same token') but adds no parameter detail beyond the schema, so the baseline 3 applies.

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?

Opens with an action verb and precise resource: 'Put a page back at the same URL after it was deleted or ran out of time.' It establishes the distinguishing invariants — same id, token, slug, and read history — so every existing link works again, which clearly separates it from publish_html.

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?

Gives an explicit trigger condition ('whenever update_site, set_expiry, set_password or another settings call answers 409 site_deleted'), an explicit excluded alternative ('Call this, and never publish_html'), and a reason why publishing is wrong: it mints a different URL, strands link holders, and spends a lifetime page while restore spends none. It also names eligibility boundaries (30-day window, owner-deleted or expired only).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.