Deploy from a chat app
Add flypod as an MCP connector in Claude, ChatGPT, Cursor or any MCP client and publish a page to a live URL without a terminal.
flypod is also a remote MCP server. Add it to an AI app as a connector and the app can publish what it just made to a live URL, with no terminal and no account.
https://flypod.dev/mcpAdd the connector
| App | How |
|---|---|
| Claude (web, desktop, mobile) | Customize, then Connectors, then Add custom connector. Paste the URL and choose "No sign in". |
| ChatGPT | Developer mode, then add an MCP server with the URL and "No Authentication". |
| Claude Code | claude mcp add --transport http flypod https://flypod.dev/mcp |
| Cursor | In .cursor/mcp.json: {"mcpServers":{"flypod":{"url":"https://flypod.dev/mcp"}}} |
| VS Code | In .vscode/mcp.json: {"servers":{"flypod":{"type":"http","url":"https://flypod.dev/mcp"}}} |
| Gemini CLI | gemini mcp add --transport http flypod https://flypod.dev/mcp |
| Codex CLI | codex mcp add flypod --url https://flypod.dev/mcp |
Then ask for what you want: "publish this page", "put this report online and give me the link".
Tools
| Tool | What it does | Needs sign-in |
|---|---|---|
deploy_site | Publishes files as a new site and returns its URL. | No |
update_site | Publishes a new version of a site at the same URL. | No |
rollback_site | Makes an earlier version live again. | No |
get_site | Returns a site's URL, name, expiry, and version history. | No |
compare_versions | Lists the files added, removed and modified between two versions. | No |
duplicate_site | Copies a temporary site to a new URL. | No |
configure_timeline | Shows or hides the History chip on a site's pages, and returns the link that compares two versions. | No |
list_sites | Lists the sites on your account. | Yes |
keep_site | Attaches a temporary site to your account so it no longer expires. | Yes |
rename_site | Sets a site's display name. | Yes |
delete_site | Permanently deletes a site. | Yes |
configure_comments | Turns comments on or off for a site and sets who may comment. | Yes |
list_comments | Lists comment threads, including the moderation queue. | No |
get_comment_thread | Reads one thread with its replies. | No |
post_comment | Starts a thread attached to a passage on a page. | Yes |
reply_to_comment | Replies to a thread. | Yes |
update_comment_thread | Resolves, reopens, approves or rejects a thread. | Yes |
delete_comment_thread | Deletes a thread. | Yes |
That is everything the CLI and the account page can do to a site. Two things are left out on purpose, because a tool call is the wrong place for them: deleting your account and changing its password.
The tools marked "No" work on temporary sites with the site_id and manage_token that deploy_site returned. The ones marked "Yes" act as your flypod account, so the connector has to be signed in.
deploy_site takes files, a map from path to text content, and optionally binary_files, a map from path to base64 for small images:
{
"files": {
"index.html": "<!doctype html><title>Report</title><h1>Q3 report</h1>",
"css/site.css": "body { font-family: system-ui }"
}
}It returns the URL plus a site_id and a manage_token. The other site tools need both while the site is temporary, so the app keeps them for the conversation. A site made in one conversation cannot be changed from another unless you carry those two values over.
What to expect
- Temporary by default. A site made this way is public and is removed after 14 days, like any deploy without an account. See Keep a site.
- Limits. 200 files and 4 MB per deploy through the connector. The model writes every byte as tool input, so one self-contained HTML file is the most reliable thing to publish.
- The same rules as the CLI. Deploys through the connector go through the same rate limit and content screening as any other.
- Static files only. No build step and no server code.
Keep a site
A site published from a chat is temporary. The result of deploy_site includes
a keep_url, and the app will usually show it to you:
https://flypod.dev/keep#a3f1c2d4e5b60789.…Open it, sign in, and press Keep this site. The expiry is removed, the address stays the same, and the site appears on your account page. No terminal is involved.
The part after # is what proves the site is yours to keep, so treat the link
like a password until you have used it. Browsers never send that part to a
server.
Make every deploy yours, with a token
To make deploys through the connector belong to your account and never expire, configure the connector to send your flypod session token (the same login session the CLI uses as FLYPOD_TOKEN; there are no separate API keys):
claude mcp add --transport http flypod https://flypod.dev/mcp \
--header "Authorization: Bearer $FLYPOD_TOKEN"This works in clients that let you set a request header. Apps that only offer "no sign in" create temporary sites, and each one can still be kept with its keep link.
Signed in, a site needs only its site_id: the account is what authorizes changes, and a site you keep with keep_site stops accepting its old manage_token. Signed-in deploys are owned from the start, so their result has no keep_url. The connector only ever forwards the Authorization header you configure, never browser cookies, so being signed in to flypod.dev in a browser does not sign the connector in.
Comments from a chat
With the connector signed in as a site's owner, an AI app can run the review loop on a deployed page:
configure_commentsturns comments on, inanonymous,passcode(with apasscode) orapprovedmode.- Reviewers comment on the page itself.
list_commentsreturns each thread with the passage it is attached to. Withstatus: "pending"it returns the moderation queue.- The app fixes what was asked, calls
update_site, replies withreply_to_comment, and closes the thread withupdate_comment_thread(action: "resolve"). Inapprovedmode, the same tool'sapproveandrejectactions decide the queue.
Next steps
- Deploy from an AI agent for agents that have a terminal.
- The HTTP API.
How to deploy a static site from an AI agent
Run npx flypod ./dist from any coding agent to get a live URL back on stdout, with no account and no config. Covers the one-line deploy, teaching the agent to do it unprompted, and making the URL permanent.
Use with agents & CI
The canonical playbook for driving flypod from an agent or CI job. Covers non-interactive output, capturing the URL, exit codes, authentication, and idempotent re-deploys.