deed.page
by deed.page in Other
Publish permanent static sites via MCP/REST. 24 tools. No account or claim link.
https://deed.page/mcp- Tools
- 24
- open to any client
- Uptime
- 100%
- last 30 days
- Response time
- 360 ms
- 956 ms slowest 5%
- Last check
- Passed
- 9 h ago, next any minute now
Reliability
Status and outage history · Atom feed · Watch with other listings
How to connect
Add it to any MCP client that supports remote servers.
{
"mcpServers": {
"deed-page": {
"type": "http",
"url": "https://deed.page/mcp"
}
}
}24 tools
- 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, token, listed, category, tags, title, and description. Paths are stored exactly. Returns url, path_url, slug, version, listing, and…
- 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…
- 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…
- 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…
- 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…
- 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…
- 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…
- 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…
- 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…
- 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, and token. Applies when the…
- finalize_upload
Checks uploaded hashes, screens the new bytes, and commits one version under the slug lock. Inputs: session (upl_...), optional expected_version, via, and token. A stale expected_version returns version_conflict and writes nothing. A bad hash returns hash_mismatch. An expired…
- 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…
- 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…
- 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…
- 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…
- 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…
- 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.
Security scan
No findings
We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.
Recent checks
| When | Result | HTTP | Time |
|---|---|---|---|
| 9 h ago | Passed | 200 | 331 ms |
| 18 h ago | Passed | 200 | 541 ms |
| 27 h ago | Passed | 200 | 295 ms |
| 37 h ago | Passed | 200 | 277 ms |
| 47 h ago | Passed | 200 | 448 ms |
Show 10 older checks
| 2 days ago | Passed | 200 | 443 ms |
| 3 days ago | Passed | 200 | 305 ms |
| 3 days ago | Passed | 200 | 336 ms |
| 3 days ago | Passed | 200 | 331 ms |
| 4 days ago | Passed | 200 | 286 ms |
| 4 days ago | Passed | 200 | 312 ms |
| 5 days ago | Passed | 200 | 350 ms |
| 5 days ago | Passed | 200 | 366 ms |
| 6 days ago | Passed | 200 | 811 ms |
| 6 days ago | Passed | 200 | 874 ms |