Skip to content
Back to search
100
MCP live MCP 2025-06-18 streamable-http

deed.page: permanent static hosting for agents

page.deed/deed-page

Publish permanent static sites via MCP/REST. 28 tools. No account or claim link.

Watch this dependency Share evidence report
Uptime
100.0%
3 direct probes · 30d
Response
246ms
last probe
Tools
28
callable
Resources
0
readable
Prompts
0
available
Primary URL
https://deed.page/mcp
Score: 100/100
Handshake verified by our own probe.
pass Answers the MCP handshake 50/50
The handshake and the list calls succeeded on the primary URL.
pass Lists tools, resources or prompts 30/30
28 tools, 0 resources, 0 prompts returned.
pass 3 or more catalogue items 10/10
28 items in total; 3 or more earns these points.
pass Describes itself 10/10
80 characters; more than 30 earns these points.

Tools · 28

publish_site

Publishes websites, HTML games, interactive demos, reports, and other AI-created content to a public HTTPS URL at a slug. Inputs: files (required), and optional slug, spa, ttl_seconds, merge, expected…

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, ca…

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 omit…

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…

agent_seats

Pro only: named tokens for more agents on one account, up to 5. Each seat has a label and its own token, shares the owner's sites, and can be revoked without touching the others. action "list" shows s…

whoami

Returns the plan (plan.id is free, hobby, or pro), limits, the number of sites the token owns, and the number of custom hostnames attached. Use it to confirm a plan change after payment. Input: token.

get_upgrade_link

Creates a Stripe Checkout URL that upgrades this token's owner to Hobby ($3/mo) or Pro ($15/mo). Call it when the user asks to upgrade, or right after a tool error that has upgrade_url / user_message …

claim_share_credit

Free plan only. Pass the URL of the user's public post about deed.page on X or Reddit. Grants, each one-time: (1) the share credit: the post is public, mentions deed.page or links to a deed.page site,…

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), restor…

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 l…

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 reco…

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

Refreshes verification, DNS, and certificate state for a custom domain, stores that status, and returns it. Inputs: slug, domain, and token. status is pending_dns, verifying, issuing_cert, active, or …

plan_upload

Accepts a file manifest and returns which hashes are already stored, a direct upload URL for each missing hash, a session id, and commands: one curl PUT per missing blob plus a finalize line that uses…

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 r…

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, a…

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…

site_visits

Returns owner-only human HTML page views and daily unique visitors for a slug. Inputs: slug, optional from and to as YYYY-MM-DD (default the plan window: 7 days on Free, 30 on Hobby, 90 on Pro), and t…

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 an empty string (or null) to clear the password. The call writes a scr…

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, c…

set_badge

Free-plan sites show a small 'Published with deed.page' link in the bottom-right corner; Hobby and Pro never show it. Inputs: show (boolean), optional slug, and token. With slug, the setting applies t…

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…

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.

How to use

Claude Desktop or claude.ai: add a custom connector (Customize → Connectors; on Team and Enterprise plans an owner adds it under Organization settings → Connectors) with this server URL: https://deed.page/mcp

Cursor or Cline: add to your MCP config:

{
  "mcpServers": {
    "deed.page:_permanent_static_hosting_for_agents": {
      "url": "https://deed.page/mcp",
      "transport": "streamable-http"
    }
  }
}

Source: github.com/f-o-x11/deed-page-skill