{"apiVersion":"v1","directorySlug":"brewpage-mcp-7e9daf7a27","title":"BrewPage","description":"Publish HTML pages, Markdown, multi-file static sites, files, JSON and key-value data from an AI agent and get a shareable HTTPS link back. Free, no signup and no API key; each publish returns an owner token to update or delete in place. Content expires (default 15 days, up to 30).","pageUrl":"https://www.mcpbundles.com/skills/brewpage-mcp-7e9daf7a27","connectPath":"managed","connectAction":"connect_now","catalogListing":true,"bundleSlug":"brewpage-mcp-7e9daf7a27","listingKind":"remote_mcp","kind":"provider","transportUrl":"https://brewpage.app/mcp","hostedMcpUrl":"https://mcp.mcpbundles.com/bundle/brewpage-mcp-7e9daf7a27","toolCount":20,"toolInventoryStatus":"observed","refreshedAt":"2026-11-10T18:04:08.356504+00:00","registryName":"com.mcpbundles/brewpage-mcp-7e9daf7a27","registryVersion":"2026.11.10","registryEligible":true,"tools":[{"name":"publish_html","description":"Publish HTML, Markdown, code or JSON to BrewPage (max 5 MiB). Send namespace=public to be found: gallery + Google, Bing & AI search. Omitted: private. Format order: `format`, then a known filename extension, else the server detects it. Returns its primary share link and owner token. Optional password, TTL, filename, top toolbar (showTopBar). A `public` page without deliveryMode may get its own subdomain if it needs browser features a BrewPage link lacks; the result then has deliveryModeReason an","inputSchema":{"type":"object","properties":{}},"title":"Publish HTML, Markdown, code or JSON page","logicalName":"publish_html","displayName":"Publish HTML, Markdown, code or JSON page","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"publish_file","description":"Upload a file from a URL. Send namespace=public to be found: gallery + Google, Bing & AI search. Omitted: private. Max 5 MiB, video 20 MiB; no password or TTL. Returns its primary share link and owner token. HTML and Markdown files become pages in any namespace and the link opens the page: a known file name extension decides, then the source's Content-Type, then the content; `.txt` and anything unclear stay files. An HTML file over the page limit or in no readable encoding stays a file shown as","inputSchema":{"type":"object","properties":{}},"title":"Publish file from URL","logicalName":"publish_file","displayName":"Publish file from URL","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"update_hosting","description":"Change delivery mode for a NEW publication (not a site, not a non-public HTML-format page). Requires owner token; optional expectedVersion = current hostingVersion. Mismatches are reported, not rejected: a stale version still applies, and OLD links or forced subdomain modes stay unchanged; the result then carries a delivery notice. Content updates never change hosting.","inputSchema":{"type":"object","properties":{}},"title":"Change delivery mode","logicalName":"update_hosting","displayName":"Change delivery mode","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"delete_resource","description":"Delete a BrewPage resource (HTML page, site, KV store, JSON document, or file) using the owner token.","inputSchema":{"type":"object","properties":{}},"title":"Delete publication","logicalName":"delete_resource","displayName":"Delete publication","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_page","description":"Fetch stored rendered HTML or format-specific code/text by namespace and ID. This reads API content, not the owner-only original-source endpoint or browser viewer. Protected reads use the password header.","inputSchema":{"type":"object","properties":{}},"title":"Read page","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_page","displayName":"Read page"},{"name":"get_stats","description":"Get BrewPage platform-wide usage statistics including page count, file count, and storage usage. Counts use disjoint split: alive_public + alive_private + deleted == total. Optional `tz` shifts the 'today' boundary to the given IANA zone (default UTC).","inputSchema":{"type":"object","properties":{}},"title":"Get platform statistics","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_stats","displayName":"Get platform statistics"},{"name":"publish_site","description":"Publish an HTML site to BrewPage. Send namespace=public to be found: gallery + Google, Bing & AI search. Omitted: private. Single-page: `entryContent`. Multi-page: `files` (`{path, content}` array). Optional `entry` overrides `index.html`. Returns its primary share link and owner token. Static only: HTML, CSS, JS (incl. built React/Vue bundles) run in the browser; server code (PHP etc.) never runs. Default limits (current: GET /api/limits): request 25 MiB; site 200 files, 5 MiB per file, 20 MiB","inputSchema":{"type":"object","properties":{}},"title":"Publish site","logicalName":"publish_site","displayName":"Publish site","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"republish_site","description":"Republish (full-replace) an existing multi-file BrewPage site in place at the SAME URL/ID. Requires owner token. The uploaded bundle becomes the complete new file set — files absent from it are removed, new files added, matching files overwritten. Single-page: `entryContent`. Multi-page: `files` (array of `{path, content}`). Optional `entry` overrides the default `index.html`. Republishing preserves existing expiry. Old publications (made before 5 October 2026) are read-only: 409 OLD_PUBLICATION","inputSchema":{"type":"object","properties":{}},"title":"Republish site","logicalName":"republish_site","displayName":"Republish site","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"update_html","description":"Update an existing BrewPage HTML, Markdown, code or JSON page. Requires owner token. Returns the updated page metadata. Format omitted keeps the stored format, except a whole HTML document makes a Markdown page an HTML page. The link and delivery mode never change on update; an advisory deliveryModeReason and delivery notice are included when the new content uses browser features that may not work fully on a BrewPage link. Old publications (made before 5 October 2026) are read-only: 409 OLD_PUBL","inputSchema":{"type":"object","properties":{}},"title":"Update page","logicalName":"update_html","displayName":"Update page","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"publish_json","description":"Publish a JSON document to BrewPage (max 1 MiB). Accepts a JSON object, array, or a JSON-encoded string containing any valid JSON, including scalars/null. Returns its primary share link and owner token. Returns manageUrl, a private management link (grants control; not for public sharing). Secrets allowed; likely ones are flagged in notices. Private namespace + password suit secrets. BrewPage tokens and manage links must never be in public content.","inputSchema":{"type":"object","properties":{}},"title":"Publish JSON document","logicalName":"publish_json","displayName":"Publish JSON document","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_json","description":"Fetch a published BrewPage JSON document by namespace and ID.","inputSchema":{"type":"object","properties":{}},"title":"Read JSON document","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_json","displayName":"Read JSON document"},{"name":"update_json","description":"Update an existing BrewPage JSON document. Requires owner token. Accepts a JSON object, array, or a JSON-encoded string. Old publications (made before 5 October 2026) are read-only: 409 OLD_PUBLICATION_READ_ONLY with createUrl to publish anew. BrewPage tokens and manage links must never be in public content.","inputSchema":{"type":"object","properties":{}},"title":"Update JSON document","logicalName":"update_json","displayName":"Update JSON document","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"publish_kv","description":"Publish a key/value entry to BrewPage. Creates a KV store; the entry is addressed by (namespace, id, key). Max 1 MiB per value, 1,000 keys per store; the key name `hosting` is reserved. Returns its primary share link and owner token. Returns manageUrl, a private management link (grants control; not for public sharing). Secrets allowed; likely ones are flagged in notices. Private namespace + password suit secrets. BrewPage tokens and manage links must never be in public content.","inputSchema":{"type":"object","properties":{}},"title":"Publish KV entry","logicalName":"publish_kv","displayName":"Publish KV entry","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"set_kv","description":"Set or update a key in an existing BrewPage KV store. Requires owner token. The key name `hosting` is reserved. Old publications (made before 5 October 2026) are read-only: 409 OLD_PUBLICATION_READ_ONLY with createUrl to publish anew. BrewPage tokens and manage links must never be in public content.","inputSchema":{"type":"object","properties":{}},"title":"Set KV value","logicalName":"set_kv","displayName":"Set KV value","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_kv","description":"Fetch a value from a BrewPage KV store by namespace, ID, and key.","inputSchema":{"type":"object","properties":{}},"title":"Read KV value","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_kv","displayName":"Read KV value"},{"name":"get_limits","description":"Get the current BrewPage limits (GET /api/limits): request size; per type (html, json, kv, files, sites) max size, counts and TTL default/maximum; profileMaxTtlDays (TTL cap for a token in a profile); site ZIP expansion, path and name lengths, allowed file extensions and skipped system files. Sizes are bytes, TTLs days. The answer always has reach: `profile` only when the owner token is active in a profile, else `token` (also with no token). With a usable owner token also ownerMaxTtlDays.","inputSchema":{"type":"object","properties":{}},"title":"Get upload limits","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_limits","displayName":"Get upload limits"},{"name":"search_gallery","description":"Search the BrewPage public gallery. Optional filters: text query, pagination, sort, and 'mine' (owner-scoped, requires owner token).","inputSchema":{"type":"object","properties":{}},"title":"Search public gallery","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"search_gallery","displayName":"Search public gallery"},{"name":"set_visibility","description":"Hide or show a public publication in the gallery and sitemap. Link unchanged.","inputSchema":{"type":"object","properties":{}},"title":"Set gallery visibility","logicalName":"set_visibility","displayName":"Set gallery visibility","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"bind_token","description":"Add an owner token to your BrewPage profile (as publish). Needs an admin token of that profile.","inputSchema":{"type":"object","properties":{}},"title":"Add token to profile","logicalName":"bind_token","displayName":"Add token to profile","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"mint_token","description":"Mint a new profile token with an admin token; the new token is shown once. Scope publish (default) or admin; expiry 30d, 90d, 1y or never.","inputSchema":{"type":"object","properties":{}},"title":"Mint profile token","logicalName":"mint_token","displayName":"Mint profile token","annotations":{"untrustedContentHint":true,"readOnlyHint":true}}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=BrewPage&config=eyJ1cmwiOiAiaHR0cHM6Ly9tY3AubWNwYnVuZGxlcy5jb20vYnVuZGxlL2JyZXdwYWdlLW1jcC03ZTlkYWY3YTI3In0%3D"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22BrewPage%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.mcpbundles.com%2Fbundle%2Fbrewpage-mcp-7e9daf7a27%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22BrewPage%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.mcpbundles.com%2Fbundle%2Fbrewpage-mcp-7e9daf7a27%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=BrewPage&connectorUrl=https%3A%2F%2Fmcp.mcpbundles.com%2Fbundle%2Fbrewpage-mcp-7e9daf7a27"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"BrewPage\" --url \"https://mcp.mcpbundles.com/bundle/brewpage-mcp-7e9daf7a27\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/brewpage-mcp-7e9daf7a27","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/brewpage-mcp-7e9daf7a27/tools/{tool}","mcpServerUrl":"https://mcp.mcpbundles.com/bundle/brewpage-mcp-7e9daf7a27","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/brewpage-mcp-7e9daf7a27?live=1"}