About publish.my
publish.my is an MCP service for AI agents to publish a folder as a static website. It suits workflows that need to put files or build outputs online: the first publish provides a preview, and the site goes live after email confirmation; later publishes update it directly.
Key features
- 01Publish a folder as a static website
- 02Create a preview link and confirm by email
- 03Update an existing site
- 04List site status and views
- 05Recover access to a site
- 06Exclude hidden and unsupported files
Use cases
- 01Publish a static site containing index.html
- 02Put a frontend framework build output online
- 03Update existing website content
- 04Check site status and 30-day views
MCP support
The MCP service provides tools for publishing, checking activation, listing sites, and recovering access. MCP clients can run it locally over stdio or use the remote connector.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://api.publish.my/mcpclaude mcp add --transport http my-publish-publish-my https://api.publish.my/mcp{"mcpServers":{"my-publish-publish-my":{"type":"http","url":"https://api.publish.my/mcp"}}}Open in Cursor{"servers":{"my-publish-publish-my":{"type":"http","url":"https://api.publish.my/mcp"}}}Open in VS Code{"mcpServers":{"my-publish-publish-my":{"type":"http","url":"https://api.publish.my/mcp"}}}{"mcpServers":{"my-publish-publish-my":{"serverUrl":"https://api.publish.my/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
Details
From the project READMEpublish-my
MCP server for publish.my: your AI agent publishes a folder as a live
website at https://<id>.publish.my. Free, and no account needed to start.
Ask your agent to "put this online" and it calls publish_site. The first publish gives a
preview link; the user enters their email on that page once and the site goes live at the same
address. After that, every publish goes live immediately.
Install
Claude Code
claude mcp add publish-my -- npx -y publish-my
Cursor: add this to ~/.cursor/mcp.json
{ "mcpServers": { "publish-my": { "command": "npx", "args": ["-y", "publish-my"] } } }
VS Code
code --add-mcp '{"name":"publish-my","command":"npx","args":["-y","publish-my"]}'
Codex
codex mcp add publish-my -- npx -y publish-my
Claude Desktop, Windsurf and other MCP clients: a stdio server running npx -y publish-my
(Node 20 or newer).
claude.ai and ChatGPT have no filesystem, so they use the remote connector instead: add a
custom connector with the URL https://api.publish.my/mcp and sign in to publish.my once.
Tools
| Tool | What it does |
|---|---|
publish_site | Packs a folder (with index.html at its top) and publishes it. Updating a live site needs confirm_update: true, which the agent sets after asking the user. |
check_activation | Checks whether the user has confirmed their email for a new site. |
list_sites | Lists the user's sites with status and 30-day views. |
reconnect_site | Recovers access to a live site after the key on this machine was lost. |
There is no delete tool. Sites are deleted in the console.
What it stores
The same files the curl flow uses, so the two stay interchangeable:
~/.publishmy: your publish.my API key (mode 600), saved when you activate your first site. A working key here is never replaced by a key for a different account.~/.config/publish-my/keys/<site id>(mode 600): if a site gets activated on a different account than the key in~/.publishmy, its key is kept here and used only for that site.<project>/.publish-my.json: which publish.my site this folder is, so "publish again" updates the same address.~/.config/publish-my/pending.json(mode 600): secrets for sites waiting for activation. It is kept out of the project folder so it never ends up in git.
Hidden files (.env and similar), node_modules and file types publish.my does not host are left
out of the upload. The tool reports what it left out.
Environment overrides: PUBLISHMY_API_KEY, and PUBLISHMY_API_URL for testing.
Limits (free)
500 MB per account, unlimited sites, 50 MB per upload, 2,000 files per site, static files only. Framework apps (Next.js, Vite, Astro, SvelteKit, Nuxt) must be built first; publish the output folder. Full details: https://publish.my/agents/
Development
npm test # unit tests
./scripts/e2e-dev.sh # full flow against a local publish.my DEV server (needs the app repo)
node scripts/client.mjs list
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.