# How to publish a website from Claude with an MCP connector

By Avatar 8 (Avatar 8 LLC) · Published November 8, 2026 · https://deed.page/blog/publish-a-website-from-claude-with-an-mcp-connector

Publishing a website from Claude with an MCP connector means adding a hosting server to Claude as a custom connector, so Claude can send the HTML it wrote to that host and reply with a public https link. Anthropic says custom connectors work on every Claude plan, including Free, which is limited to one custom connector ([Claude Help Center](https://support.claude.com/en/articles/11175166-getting-started-with-custom-connectors-using-remote-mcp)), and deed.page's Free plan holds 25 sites of up to 25 MB each for $0 with no signup ([pricing](https://deed.page/pricing)).

MCP (Model Context Protocol) is the open standard Claude uses to call outside tools. A hosting connector gives Claude a `publish_site` tool. You never copy files or open a dashboard: Claude calls the tool, and the link comes back in the chat.

Everything below was run against production on November 8, 2026, and the test sites were deleted afterwards.

## How do I publish a website from Claude with an MCP connector?

Three steps, once:

1. In Claude (claude.ai, Claude Desktop, or the mobile app), open **Settings**, then **Connectors**, and choose **Add custom connector**.
2. Name it `deed.page` and paste `https://deed.page/mcp/claude` as the server URL. There is no sign-in or OAuth step ([docs](https://deed.page/docs)).
3. In a chat, turn the connector on and say: "Publish this page on deed.page as `bakery-menu` and give me the link."

Claude calls `publish_site` with the files and a slug, and replies with something like `https://bakery-menu.deed.page/`. The site stays up until you delete it; there is no 24-hour preview and no claim link to open.

Anthropic notes that Claude reaches a custom connector from Anthropic's cloud, not from your computer, so the server has to be public ([Claude Help Center](https://support.claude.com/en/articles/11175166-getting-started-with-custom-connectors-using-remote-mcp)). `https://deed.page/mcp/claude` is a public Streamable HTTP endpoint, so nothing needs to be allowlisted.

## Claude Code: one command

Claude Code adds the same server from the terminal:

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

We ran that on November 8, 2026; it wrote an `http` server entry pointing at `https://deed.page/mcp/claude`. Because Claude Code also has a shell, it can skip MCP and publish with one curl:

```bash
curl -T index.html "https://deed.page/v1/sites?slug=bakery-menu-claude-q7z3&ref=blog"
```

Our run returned `"ok": true`, `"url": "https://bakery-menu-claude-q7z3.deed.page/"`, `"permanent": true`, `"expires_at": null`, and a `token`. The slug is only an example; pick your own.

## What the MCP call looks like

This is the JSON-RPC request Claude sends when you ask it to publish. You can send it yourself to check the endpoint:

```json
{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"publish_site","arguments":{"slug":"bakery-menu-mcp-q7z3","files":{"index.html":"<!doctype html><title>Bakery menu</title><h1>Published from Claude over MCP</h1>"}}}}
```

POSTed to `https://deed.page/mcp/claude`, it returned `"ok": true`, `"version": "v1"`, `"permanent": true`, and a live `https://bakery-menu-mcp-q7z3.deed.page/`. An `update_site` call on the same slug with the returned `token` argument gave `v2` at the same URL. The same call without a token was refused with `update_site needs your token.` The [MCP walkthrough](https://deed.page/blog/mcp-publish-walkthrough) covers listing, versions, and deletes.

## Keep the token, or Claude cannot update the site

The first publish has no account behind it, so deed.page mints an owner token (`deed_tok_…`) and shows it once. deed.page stores only its SHA-256 ([trust](https://deed.page/trust)). In claude.ai the token appears in the tool result. Ask Claude to keep it in the conversation or a project note, and paste it back into later chats when you want to change the site. Claude Code can save it to a file with `chmod 600`. More in [token hygiene for agents](https://deed.page/blog/token-hygiene-for-agents).

`/mcp/claude` lists the same tools as the full `https://deed.page/mcp` server except `get_upgrade_link`, `claim_share_credit`, and `agent_seats`. Its tool results never include a price or a checkout link ([docs](https://deed.page/docs)). Free sites show a small "Published with deed.page" badge, and Hobby ($3/month) removes it ([pricing](https://deed.page/pricing)).

## FAQ

**Do I need a deed.page account to use the Claude connector?**
No. The first publish creates an owner token, and that token is the account. Email is optional and only used for recovery.

**Can I use it on the free Claude plan?**
Yes. Anthropic allows one custom connector on Claude Free, and deed.page's Free plan costs nothing. If you already use your one connector slot for something else, Claude Code or a curl call still works.

**What can Claude publish?**
Static files: HTML, CSS, JavaScript, images, and fonts, up to 25 MB per site on Free. A Claude artifact works once Claude exports it as an `index.html`. Server code and databases are not supported.
