Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

deed.page

by f-o-x11version 1.19.0i★ –iRuns in the cloud
Registry namepage.deed/deed-page

Install

Overview

Description from the maker (original English)

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

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs in the cloud
  • Transport: Streamable HTTP
  • Category: Other
  • You need to fill in: Authorization

Install

Pick the AI app you use, then copy the settings.

Before you install

Values marked secret are keys to your account. Never share them or paste them into a chat.

You need

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.

Run this in your terminal

claude mcp add --transport http deed-page https://deed.page/mcp --header 'Authorization: your-value'

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "deed-page": {
      "url": "https://deed.page/mcp",
      "headers": {
        "Authorization": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "deed-page": {
      "type": "http",
      "url": "https://deed.page/mcp",
      "headers": {
        "Authorization": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • Authorization secret HTTP header
    Optional. 'Bearer deed_tok_…' token returned by your first publish_site call. Tools also accept it as a 'token' argument.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Tool names and descriptions exactly as the server reported them on Nov 6, 2026. The maker wrote them, not us; we show them as plain text.

  • 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_version, via, heard_from, token, listed, category, tags, title, and description

  • 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 t

  • 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 disti

  • 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 seats (any token). action "create" needs the owner token and a label; the new sea

  • 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 (a plan limit). Show the returned upgrade_url (a 30-day link that opens Stripe C

  • 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, is from the last 30 days, and was not claimed before; Free limits rise by 25 si

  • 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

  • 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

    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 error. dns_records are the records to create. An error includes the reason. A tr

  • 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 $DEEDPAGE_TOKEN. Inputs: files as {path, sha256, size, content_type?}, and opti

  • 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

  • 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. Publi

  • 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; up to 90 days per request on Free and Hobby, 365 on Pro), opti

  • 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 token. Bots, empty or script user agents, headless browsers, and assets are not p

  • 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 scrypt hash into the site record on deed.page, or removes that hash, and contacts n

  • 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 ga

  • 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 to that site; without slug, it applies to every site of the token. Only a paid pl

  • 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.

  • 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.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified against the domain deed.page (the registry checks domain ownership)

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • ✓ Pass

    Endpoint responds

    Responded in 95 ms (HTTP 200)

  • – Not applicable

    Sign-in with OAuth

    No sign-in needed

  • ✓ Pass

    No hidden instructions in tool descriptions

    Read 28 tool descriptions and found no hidden instructions to the AI

Compared with others in Otheri

  • More stars than 0% of the other 32708 servers in this category
  • Published to the registry more recently than 97% of the other 32708 servers in this category
  • Basic checks equal to or better than 100% of the other 32708 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is deed.page safe?

It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: Authorization

Does it run on my computer or in the cloud?

It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.

Is it still maintained?

The GitHub repo last changed –, and the latest version (1.19.0) reached the registry yesterday.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.

What can I use instead?

In the same category: Spec Driven Development, Remote Desktop Commander, OpenTakeoff

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Spec Driven Development

by formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

Runs on your computer★ 440MITUpdated 14 months ago
Install

Remote Desktop Commander

by desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

Runs in the cloud★ 211Updated 2 days ago
Install

OpenTakeoff

by Kentucky-ai

Construction takeoff for AI agents: load plans, set scale, measure, count, export with provenance.

Runs on your computerUpdated today
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

deed.page MCP server and agent skill

deed.page publishes a file or folder to a permanent https:// .deed.page/ URL in one call. No account, API key, email code, or claim link. This repo documents the hosted remote MCP server (https://deed.page/mcp, see MCP server) and contains the deed.page agent skill, which does the same with one curl request.

It works with Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot CLI, Grok Bot, Hermes Agent, and any agent that reads SKILL.md files (agentskills.io format).

  • Website: https://deed.page
  • Docs: https://deed.page/docs
  • llms.txt: https://deed.page/llms.txt
  • OpenAPI: https://deed.page/openapi.json
  • MCP server: https://deed.page/mcp

MCP server

deed.page runs a hosted remote MCP server. Agents use it to publish a file or folder to a permanent https:// .deed.page/ URL and then update, version, password-protect, or delete it. The source code is not in this repo; the server is hosted at the URL below.

URLhttps://deed.page/mcp
TransportStreamable HTTP
MCP Registry namepage.deed/deed-page
AuthNone to start. See Authentication.
Configure

VS Code / GitHub Copilot (.vscode/mcp.json):

{

"servers": { "deed-page": { "type": "http", "url": "https://deed.page/mcp" } } }

Claude Code:

claude mcp add --transport http deed-page https://deed.page/mcp

Any other MCP client: add a remote (Streamable HTTP) server with the URL https://deed.page/mcp.

Authentication

No account, API key, or OAuth is needed. The first publish_site call returns an owner token (deed_tok_...) once. That token is the key to update or delete the sites it owns. Send it back in one of two ways:

  • as the optional Authorization: Bearer deed_tok_... header, or
  • as the token argument of a tool.

Keep the token secret. rotate_token replaces it and revoke_token revokes it.

Tools

27 tools:

ToolWhat it does
publish_sitePublish files to a live permanent URL at a slug. The first call returns the owner token.
update_siteReplace a site's files, or merge in only the paths sent.
get_siteCheck whether a slug is live, with its URL, version, size, and timestamps (no token needed).
list_sitesList every live site the token owns.
delete_sitePermanently remove a site.
list_versionsList a site's retained versions.
restore_versionMake a retained version live again.
get_manifestGet the signed (Ed25519) manifest of a site version.
plan_uploadPlan a large upload: returns which files are already stored and an upload URL for each missing one.
finalize_uploadCommit a large upload as a new version.
set_site_accessSet or clear a site password.
set_listingList a site in the public gallery, or remove it.
site_analyticsCookieless view counts, top paths, referrers, and AI crawler counts for a site. 90 days per request on Free and Hobby; 365 days and CSV on Pro.
add_domainAttach a custom domain and get the DNS records to create.
list_domainsList custom domains.
domain_statusCheck and refresh a custom domain's verification and certificate status.
remove_domainRemove a custom domain.
whoamiShow the plan, limits, and usage for the token.
get_upgrade_linkGet a checkout link for a paid plan.
set_badgeSet the "Published with deed.page" badge. Only a paid plan (Hobby $3/mo or Pro) removes it.
claim_share_creditFree only, once per token: send the URL of the user's public X or Reddit post about deed.page for +25 sites and 50 MB per site. An X post that links to deed.page (at most 7 days old) also turns the badge off for 30 days, once per account.
rotate_tokenIssue a new owner token; every site carries over.
revoke_tokenRevoke the current token or all tokens.
agent_seatsPro: list, create, or revoke up to 5 named agent seats (separate tokens on one owner).
create_webhookRegister a webhook for site and domain events.
list_webhooksList registered webhooks.
delete_webhookDelete a webhook.
Use

Ask your agent to "publish this folder to deed.page" or "host this report and give me a link". The agent calls publish_site with the files and answers with the live URL. A request that only says "make a website" or "build a page" stays a local draft until you ask to publish or confirm the public URL and the exact file list. An unattended run publishes only when its instructions explicitly say to. To change the site later, it calls update_site with the same slug and token.

Free plan: 25 sites, 25 MB per site, 60 publishes per hour. Free sites are public, so do not publish secrets. Static files only. Free sites show a small "Published with deed.page" badge; Hobby ($3/mo) and Pro never do.

Skill and plugins

The skill is skills/deed-page/SKILL.md. Since 1.7.0 it also ships two optional scripts in skills/deed-page/scripts/: publish.sh publishes a file or a clean output folder and, above 4 MB, hands off to publish-large.mjs (Node 18+), which uploads through the manifest flow (/v1/uploads). Both skip sensitive and repo-metadata paths and refuse a project root that has no dist, build, out, public, or _site directory unless --allow-root is set. They are the same files served at https://deed.page/cli/. The repo is also a plugin that bundles the skill with the hosted deed.page MCP server, with manifests for each agent:

FileFormat
plugin.json, mcp.jsonAgent Plugins 1.0 (Codex, Cursor, Copilot CLI, Kiro)
.grok-plugin/plugin.jsonGrok Bot
.cursor-plugin/plugin.jsonCursor
.codex-plugin/plugin.json, .agents/plugins/marketplace.jsonCodex
.claude-plugin/plugin.json, .claude-plugin/marketplace.json, .mcp.jsonClaude Code
gemini-extension.jsonGemini CLI

Quick install for any agent:

npx skills add f-o-x11/deed-page-skill

Install

Any agent (skills.sh)
npx skills add f-o-x11/deed-page-skill

Add -g to install for all projects, or -a claude-code, -a codex, -a cursor, or -a hermes-agent to pick the agent.

Claude Code

As a plugin:

claude plugin marketplace add f-o-x11/deed-page-skill

claude plugin install deed-page@deed-page

Or inside Claude Code:

/plugin marketplace add f-o-x11/deed-page-skill

/plugin install deed-page@deed-page

Or as a plain skill:

git clone --depth 1 https://github.com/f-o-x11/deed-page-skill /tmp/deed-page-skill

mkdir -p ~/.claude/skills && cp -r /tmp/deed-page-skill/skills/deed-page ~/.claude/skills/

Codex

As a plugin (skill + MCP server):

codex plugin marketplace add f-o-x11/deed-page-skill

Then install deed-page from the plugin directory. As a plain skill:

npx skills add f-o-x11/deed-page-skill -a codex -g

Or inside Codex: $skill-installer install https://github.com/f-o-x11/deed-page-skill/tree/main/skills/deed-page

Cursor

As a plain skill:

npx skills add f-o-x11/deed-page-skill -a cursor
GitHub Copilot CLI
copilot plugin marketplace add f-o-x11/deed-page-skill

copilot plugin install deed-page@deed-page

Grok Bot

The repo includes a Grok Bot plugin manifest in .grok-plugin/plugin.json. Until it is in the Grok Bot plugin catalog, add the remote MCP server https://deed.page/mcp, or install the skill with npx skills add f-o-x11/deed-page-skill.

Any MCP client

Add the remote MCP server https://deed.page/mcp (Streamable HTTP, no auth needed to start; see MCP server). It is listed in the official MCP Registry as page.deed/deed-page.

Gemini CLI
gemini extensions install https://github.com/f-o-x11/deed-page-skill

This installs the skill and the deed.page MCP server (https://deed.page/mcp, no auth) from gemini-extension.json.

Hermes Agent
hermes skills install f-o-x11/deed-page-skill/skills/deed-page

Or from the deed.page well-known endpoint: hermes skills install well-known:https://deed.page/.well-known/skills/deed-page.

Or npx skills add f-o-x11/deed-page-skill -a hermes-agent -g.

What it does

Ask your agent to "publish this", "host this report", or "give me a link". The default path is the bundled publish script:

sh skills/deed-page/scripts/publish.sh ./dist --client "<agent name>"

It publishes a single file or a clean output folder (dist, build, out, public, _site), skips secrets and repo-metadata paths, refuses a project root unless --allow-root is set, and switches to the large-upload flow above 4 MB. Add --dry-run to see the exact file list first. The script prints the live URL on its last line, and the agent answers with it. The first publish returns a token once. It is the key to update or delete that site, so keep it safe.

A request that only says "make a website" or "build a page" produces a local draft. The agent shows a preview, offers to publish, and uploads only after you ask to publish or confirm the public URL and the exact file list. An unattended run publishes only when its instructions explicitly say to.

If the script can't run (no shell, or a single small file), the same publish is one curl request:

curl -sS -T index.html "https://deed.page/v1/sites?slug=my-report-7f3a2c&ref=skill-gh" -H "X-Client: <agent name>"
  • Free plan: 25 sites, 25 MB per site, 60 publishes per hour.
  • Free sites are public. Do not publish secrets.
  • Static files only.

publish.sh sends ?ref=skill-script and the curl fallback sends ?ref=skill-gh; both tell deed.page that a publish came from this skill. It does not change what is published. Pass --ref to the script, or set DEED_REF for the skill's curl command, to override it. You can also say where you found deed.page with the optional X-Deed-Heard-From header on the first publish (at most 200 characters).

Network endpoints and credentials

  • The skill calls only https://deed.page/v1/sites with curl. The MCP server is https://deed.page/mcp. Published sites live at https:// .deed.page/.
  • No account or API key is needed. The first publish returns a site token once; the skill saves it to ~/.config/deed-page/token (mode 600), loads it into DEEDPAGE_TOKEN before later publishes so every site stays under one owner, and sends it only to https://deed.page.
  • No install scripts or hooks. The only executable code is the two optional publish scripts in skills/deed-page/scripts/, which run only when the agent publishes. Above 4 MB, publish-large.mjs PUTs file bytes to the Vercel Blob upload URLs that deed.page returns. See SECURITY.md.

Privacy and support

  • Privacy policy: https://deed.page/privacy
  • Terms: https://deed.page/terms
  • Support: https://deed.page/support or ops@avatar33.com
  • Security reports: ops@avatar33.com (see SECURITY.md)

License

MIT. Copyright (c) 2026 Avatar 8 LLC.

deed.page is

Only the beginning is shown; read the rest in the repo

Ask PopNx