
Agent skill: publish files to a permanent deed.page URL with one curl request. No account.
Agent skill: publish files to a permanent deed.page URL with one curl request. No account.
·
deed.page publishes a file or folder to a permanent https://<slug>.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).
deed.page runs a hosted remote MCP server. Agents use it to publish a file or folder to a permanent https://<slug>.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.
| URL | https://deed.page/mcp |
| Transport | Streamable HTTP |
| MCP Registry name | page.deed/deed-page |
| Auth | None to start. See Authentication. |
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/mcpAny other MCP client: add a remote (Streamable HTTP) server with the URL https://deed.page/mcp.
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:
Authorization: Bearer deed_tok_... header, ortoken argument of a tool.Keep the token secret. rotate_token replaces it and revoke_token revokes it.
26 tools:
| Tool | What it does |
|---|---|
publish_site | Publish files to a live permanent URL at a slug. The first call returns the owner token. |
update_site | Replace a site's files, or merge in only the paths sent. |
get_site | Check whether a slug is live, with its URL, version, size, and timestamps (no token needed). |
list_sites | List every live site the token owns. |
delete_site | Permanently remove a site. |
list_versions | List a site's retained versions. |
restore_version | Make a retained version live again. |
get_manifest | Get the signed (Ed25519) manifest of a site version. |
plan_upload | Plan a large upload: returns which files are already stored and an upload URL for each missing one. |
finalize_upload | Commit a large upload as a new version. |
set_site_access | Set or clear a site password. |
set_listing | List a site in the public gallery, or remove it. |
site_analytics | Cookieless view counts, top paths, referrers, and AI crawler counts for a site. |
add_domain | Attach a custom domain and get the DNS records to create. |
list_domains | List custom domains. |
domain_status | Check and refresh a custom domain's verification and certificate status. |
remove_domain | Remove a custom domain. |
whoami | Show the plan, limits, and usage for the token. |
get_upgrade_link | Get a checkout link for a paid plan. |
set_badge | Set the "Published with deed.page" badge. Only a paid plan (Hobby $3/mo or Pro) removes it. |
claim_share_credit | Free 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. |
rotate_token | Issue a new owner token; every site carries over. |
revoke_token | Revoke the current token or all tokens. |
create_webhook | Register a webhook for site and domain events. |
list_webhooks | List registered webhooks. |
delete_webhook | Delete a webhook. |
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. 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.
The skill is one file: skills/deed-page/SKILL.md. The repo is also a plugin that bundles the skill with the hosted deed.page MCP server, with manifests for each agent:
| File | Format |
|---|---|
plugin.json, mcp.json | Agent Plugins 1.0 (Codex, Cursor, Copilot CLI, Kiro) |
.grok-plugin/plugin.json | Grok Bot |
.cursor-plugin/plugin.json | Cursor |
.codex-plugin/plugin.json, .agents/plugins/marketplace.json | Codex |
.claude-plugin/plugin.json, .claude-plugin/marketplace.json, .mcp.json | Claude Code |
gemini-extension.json | Gemini CLI |
Quick install for any agent:
npx skills add f-o-x11/deed-page-skillnpx skills add f-o-x11/deed-page-skillAdd -g to install for all projects, or -a claude-code, -a codex, -a cursor, or -a hermes-agent to pick the agent.
As a plugin:
claude plugin marketplace add f-o-x11/deed-page-skill
claude plugin install deed-page@deed-pageOr inside Claude Code:
/plugin marketplace add f-o-x11/deed-page-skill
/plugin install deed-page@deed-pageOr 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/As a plugin (skill + MCP server):
codex plugin marketplace add f-o-x11/deed-page-skillThen install deed-page from the plugin directory. As a plain skill:
npx skills add f-o-x11/deed-page-skill -a codex -gOr inside Codex: $skill-installer install https://github.com/f-o-x11/deed-page-skill/tree/main/skills/deed-page
As a plain skill:
npx skills add f-o-x11/deed-page-skill -a cursorcopilot plugin marketplace add f-o-x11/deed-page-skill
copilot plugin install deed-page@deed-pageThe 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.
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 extensions install https://github.com/f-o-x11/deed-page-skillThis installs the skill and the deed.page MCP server (https://deed.page/mcp, no auth) from gemini-extension.json.
hermes skills install f-o-x11/deed-page-skill/skills/deed-pageOr 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.
Ask your agent to "publish this", "host this report", or "give me a link". The agent runs:
curl -sS -T index.html "https://deed.page/v1/sites?slug=my-report-7f3a2c&ref=skill-gh" -H "X-Client: <agent name>"and answers with the url from the JSON response. The first publish returns a token once. It is the key to update or delete that site, so keep it safe.
?ref=skill-gh tells deed.page that a publish came from this skill. It does not change what is published. Set DEED_REF 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).
https://deed.page/v1/sites with curl. The MCP server is https://deed.page/mcp. Published sites live at https://<slug>.deed.page/.~/.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.MIT. Copyright (c) 2026 Avatar 8 LLC.
deed.page is operated by Avatar 8 LLC. Contact: [email protected]. Report abuse: https://deed.page/abuse.
Pick your client and paste the snippet. Each one is the same server, written the way that client expects it.
claude mcp add deed-page --transport http https://deed.page/mcp{
"mcpServers": {
"deed-page": {
"url": "https://deed.page/mcp",
"type": "http"
}
}
}code --add-mcp '{"name":"deed-page","url":"https://deed.page/mcp","type":"http"}'Runs as a hosted service. Your client connects over the network and nothing is installed locally.
Paste this prompt into your agent. It reads this page and does the setup for you.
Read https://aiagentslisting.com/mcp/deed-page-skill to learn what the "deed.page skill" MCP server does and how to install it. Add it to my coding agent's MCP configuration as documented on that page, then confirm the server connects and list the tools it exposes.Agents can also browse this directory over MCP at https://aiagentslisting.com/api/mcp
claude mcp add --transport http deed-page https://deed.page/mcpnpx skills add f-o-x11/deed-page-skill
npx skills add f-o-x11/deed-page-skill -a codex -g
npx skills add f-o-x11/deed-page-skill -a cursor| Name | What it does |
|---|---|
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 de |
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 |
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, once per token. If the user posted publicly about deed.page on X or Reddit, pass that post's URL. The server checks that the post is public, mentions deed.page or links to a deed.page |
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 | 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, activ |
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 slu |
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 |
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. |
Read live from the server on October 27, 2026.
Paste this line near the top of your repository's README. The badge always renders the current score.
[](https://aiagentslisting.com/mcp/deed-page-skill)Nothing comparable is listed yet.
v1.1.0Release notesConnect to the AI Agents Listing MCP server at https://aiagentslisting.com/api/mcp using the HTTP transport and complete the sign-in when it asks. Then call the submit_review tool for the listing "deed-page-skill" with a rating from 1 to 5 and a short note on what worked and what did not.No reviews yet
Be the first to share your experience with this tool.
One email a week. New agents, MCP servers and skills, and what is actually getting traction.