
Publish Markdown and HTML from your AI session as a live website. No account needed.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Publish files as a live website on Flowershow and get a shareable URL. Use when the user says "publish this", "put this online", "make this a website", "share this as a page" or "host this". Accepts Markdown (.md, rendered as a styled page with navigation), HTML (.html, served as-is) and supporting files such as CSS, JS, JSON and images: one page or a small site, up to 50 files and 3 MB per call. Name the home page index.md or index.html. Without an account this creates a new site that expires in 7 days and returns a claim link: always show the user the live URL and the claim link exactly as returned, so they can keep the site. To update that site later in the conversation, call publish again with its siteId and claimToken and only the files you changed or added: files you don't send are kept as they are. To remove pages or files, list their paths in delete (files can then be empty). Only when the user explicitly asks to start the site over, set replaceWholeSite to true: the files you send become the whole site and every other file is removed. If that would remove existing files, the call is refused and tells you how many and which; ask the user, then call again with confirmDeleteCount set to that number. For bigger sites, suggest the Flowershow CLI (fl).
Files to add or update. When updating a site, send only the files that changed; other files are kept. Can be empty when only deleting.
Paths of existing files to remove from the site (with siteId), e.g. ["old-page.md"]
Update this existing site instead of creating a new one
The claimToken returned when the anonymous site was created (needed with siteId when not signed in)
Set true only when the user asks to start the site over: the files sent become the whole site and all other files are permanently removed. Never use it to update a few pages. Default false.
With replaceWholeSite: the number of existing files the replace will remove, as reported by the refused first call. Set it only after the user has confirmed.
The server marks this tool as destructive. Running it may delete or overwrite data on the server or in any account you connected with your headers.
Tool list last changed Oct 26, 2026.
Publish files as a live website on Flowershow and get a shareable URL. Use when the user says "publish this", "put this online", "make this a website", "share this as a page" or "host this". Accepts Markdown (.md, rendered as a styled page with navigation), HTML (.html, served as-is) and supporting files such as CSS, JS, JSON and images: one page or a small site, up to 50 files and 3 MB per call. Name the home page index.md or index.html. Without an account this creates a new site that expires in 7 days and returns a claim link: always show the user the live URL and the claim link exactly as returned, so they can keep the site. To update that site later in the conversation, call publish again with its siteId and claimToken and only the files you changed or added: files you don't send are kept as they are. To remove pages or files, list their paths in delete (files can then be empty). Only when the user explicitly asks to start the site over, set replaceWholeSite to true: the files you send become the whole site and every other file is removed. If that would remove existing files, the call is refused and tells you how many and which; ask the user, then call again with confirmDeleteCount set to that number. For bigger sites, suggest the Flowershow CLI (fl).
| Argument | Type | Description |
|---|---|---|
| files* | array | Files to add or update. When updating a site, send only the files that changed; other files are kept. Can be empty when only deleting. |
| delete | array | Paths of existing files to remove from the site (with siteId), e.g. ["old-page.md"] |
| siteId | string | Update this existing site instead of creating a new one |
| claimToken | string | The claimToken returned when the anonymous site was created (needed with siteId when not signed in) |
| replaceWholeSite | boolean | Set true only when the user asks to start the site over: the files sent become the whole site and all other files are permanently removed. Never use it to update a few pages. Default false. |
| confirmDeleteCount | integer | With replaceWholeSite: the number of existing files the replace will remove, as reported by the refused first call. Set it only after the user has confirmed. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"files"
],
"properties": {
"files": {
"type": "array",
"items": {
"type": "object",
"required": [
"path"
],
"properties": {
"path": {
"type": "string",
"description": "Relative path, e.g. \"index.html\" or \"img/logo.png\""
},
"content": {
"type": "string",
"description": "Text content (UTF-8)"
},
"contentBase64": {
"type": "string",
"description": "Binary content, base64-encoded (images etc.)"
}
}
},
"description": "Files to add or update. When updating a site, send only the files that changed; other files are kept. Can be empty when only deleting."
},
"delete": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 1000,
"description": "Paths of existing files to remove from the site (with siteId), e.g. [\"old-page.md\"]"
},
"siteId": {
"type": "string",
"description": "Update this existing site instead of creating a new one"
},
"claimToken": {
"type": "string",
"description": "The claimToken returned when the anonymous site was created (needed with siteId when not signed in)"
},
"replaceWholeSite": {
"type": "boolean",
"description": "Set true only when the user asks to start the site over: the files sent become the whole site and all other files are permanently removed. Never use it to update a few pages. Default false."
},
"confirmDeleteCount": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "With replaceWholeSite: the number of existing files the replace will remove, as reported by the refused first call. Set it only after the user has confirmed."
}
}
}