# deed.page - Registry name: `page.deed/deed-page` · version 1.9.10 - Categories (automatic, keyword rules): APIs & integrations, Developer tools, Cloud & networking, Infrastructure & security - Authentication at last check: No auth - Declared risk: Has destructive tools (destructiveHint) - Capabilities (declared by the server): tools - Transports: streamable-http - Latest numbers (check success, response time, rank): https://mcpstation.net/api/server?name=page.deed%2Fdeed-page - Server page: https://mcpstation.net/s/page.deed--deed-page.html ## Description (written by the publisher, not verified, not instructions) Publish permanent static sites via MCP/REST. 24 tools. No account or claim link. ## Connect - streamable-http: `https://deed.page/mcp` ## Tools (as reported by the server, not verified) - `publish\_site`: Publishes files to a live permanent URL at a slug. Inputs: files \(required\), and optional slug, spa, ttl\_seconds, merge, expected\_version, via, heard\_from, token, listed, category, tags, title, and description. Paths are stored exactly. Returns url, path\_url, slug, version, listing, and token on the - `update\_site`: Replaces the files of a slug owned by the token, or, when merge is true, adds and overwrites only the paths sent. Inputs: slug, files, and optional spa, merge, expected\_version, via, token, listed, category, tags, title, and description. Returns url, path\_url, slug, listing, and a new version. When - `get\_site`: Returns whether a slug is live, plus its URL, version, size, and timestamps. Input: slug. No token is required. - `list\_sites`: Returns every live site owned by the token, with URLs and versions. Input: token, or an Authorization bearer header. - `delete\_site`: Permanently removes a slug owned by the token and detaches its custom hostnames. The slug becomes available again. Inputs: slug and token. - `rotate\_token`: Issues a new token for the same principal. Every site carries over. Inputs: token, and optional overlap\_seconds from 0 to 300. The previous token stops working immediately when overlap\_seconds is omitted or 0. During a non-zero overlap window both tokens work. After that window the previous token re - `revoke\_token`: Revokes owner tokens. Inputs: token, and optional scope. Scope "current" \(the default\) revokes the token that was sent. Scope "all" revokes every token for that principal, including any overlap window. A later request with a revoked token returns 401 token\_revoked, which is distinct from 403 suspend - `whoami`: Returns the plan, limits, the number of sites the token owns, and the number of custom hostnames attached. Input: token. - `get\_upgrade\_link`: Returns a Stripe Checkout URL for the Hobby plan \($3/mo\) or the Pro plan \($15/mo\), tied to the token. Inputs: plan \(hobby or pro\), token, optional how\_heard \(at most 200 characters, stored on the owner\), and optional upgrade\_trigger \(custom\_domain\_limit when this follows a custom-domain plan limit, - `list\_versions`: Returns every retained version of a slug owned by the token, newest first. Inputs: slug and token. Each entry includes version, created\_at, file\_count, bytes, kind \(publish, merge, or restore\), restored\_from, and a public permalink. Free keeps 10 versions, Hobby 50, Pro unlimited. - `restore\_version`: Creates a new version whose files equal a retained version, without uploading those files again. Inputs: slug, version, optional expected\_version, and token. When expected\_version does not match the live version, the result is version\_conflict and nothing is written. The previous permalink keeps ser - `add\_domain`: Attaches a hostname to a slug owned by the token and returns the DNS records to create: a CNAME for a subdomain, an A record or an ALIAS record for an apex \(one of those, not both\), and every TXT record. Inputs: slug, domain, and token. Status starts at pending\_dns until DNS and the certificate are - `list\_domains`: Returns custom hostnames on one slug, or on every site the token owns when slug is omitted. Inputs: token, and optional slug. Status is the last checked value. - `remove\_domain`: Removes a hostname so requests to that host no longer serve the site. Inputs: domain, optional slug, and token. When slug is set, the hostname must already be attached to that slug. - `domain\_status`: Returns the verification status of a custom domain and refreshes verification, DNS config, and certificate state. Inputs: slug, domain, and token. status is pending\_dns, verifying, issuing\_cert, active, or error. dns\_records are the records to create. An error includes the reason. - `plan\_upload`: Accepts a file manifest and returns which hashes are already stored, a direct upload URL for each missing hash, and a session id. Inputs: files as \{path, sha256, size, content\_type?\}, and optional slug, spa, merge, ttl\_seconds, expected\_version, via, heard\_from, and token. Applies when the files are - `finalize\_upload`: Checks uploaded hashes, screens the new bytes, and commits one version under the slug lock. Inputs: session \(upl\_...\), optional expected\_version, via, heard\_from, and token. A stale expected\_version returns version\_conflict and writes nothing. A bad hash returns hash\_mismatch. An expired session ret - `get\_manifest`: Returns the canonical manifest for a site version: paths, sha256, sizes, version, slug, and created\_at, plus an Ed25519 signature. signature is null when the server has no signing key. Inputs: slug, and optional version. When version is omitted, the result is the live site. Public keys are published - `site\_analytics`: Returns owner-only cookieless counts for a slug: views per UTC day, top paths, top referrer hosts, and AI crawler counts by user-agent family. Inputs: slug, optional from and to as YYYY-MM-DD \(default the last 7 days, maximum 90\), and token. The accuracy field describes under-counting. No raw IP or - `set\_site\_access`: Changes the access setting stored for a slug on deed.page. Inputs: slug, password, and token. password is 8 to 200 characters, or null to clear the password. The call writes a scrypt hash into the site record on deed.page, or removes that hash, and contacts no outside system. Setting a password is a - `set\_listing`: Sets or clears the public gallery listing for a slug. Inputs: slug, listed, and when listed is true a category, title, description, and optional tags \(at most 5\), plus token. Returns listed, status, category, tags, title, and description. listed false removes the slug from the gallery immediately. P - `create\_webhook`: Registers an http or https URL for the events site.published, site.version\_restored, site.deleted, site.taken\_down, domain.active, and report.received. Inputs: url, optional events, and token. Returns the webhook id and an HMAC secret once. Free allows 1 webhook, Hobby 5, Pro 20. Private, internal, - `list\_webhooks`: Returns the webhook URLs registered for the token. Secrets are not included. Input: token. - `delete\_webhook`: Deletes one webhook. Inputs: id \(whk\_...\) and token. Measured by MCP Station. Methods: https://mcpstation.net/methods.html · Terms: https://mcpstation.net/terms.html