kochetkov-ma avatar

Brewpage Mcp

kochetkov-ma/brewpage-openapi

Lets an agent publish HTML, Markdown, files, JSON documents, key-value stores and multi-file sites to brewpage.app and get a short link back, with no account. The 20 tools cover publishing (publish_html, publish_file, publish_site, publish_json, publish_kv), updating content in place, reading stats and limits, searching the public gallery, and setting visibility. Every publish returns an owner token. Keep it private, because it is how you update or delete the content later. Content expires after 15 days by default, 30 days at most, or 90 days with a free profile. Without a namespace it is private and unlisted, but anyone with the link can open unprotected content, and the public namespace is listed. Connect to https://brewpage.app/mcp or run npx -y brewpage-mcp.

tools
20
transport
STDIO, HTTP
last updated
Nov 12, 2026

Install

From registry metadata
$ npx add-mcp https://brewpage.app/mcp --name brewpage-mcp

Run in your terminal. add-mcp asks which agents to add it to (Claude Code, Codex, Cursor and more). Add -g to install it for every project.

Review the command, arguments and environment values before installing. MCP servers run with your local permissions.

Other ways

Claude Code

$ claude mcp add --transport http brewpage-mcp https://brewpage.app/mcp

Run in your terminal. Add --scope user to make it available in every project.

Tools

Verified live · 20 tools

Verified live against the running server on Nov 5, 2026.

publish_htmlPublish HTML, Markdown, code or JSON to BrewPage (max 5 MiB). Send namespace=public to be found: gallery + Google, Bing & AI search. Omitted: private. Format omitted -> server detects it. Returns its primary share link and owner token. Optional password, TTL, filename, top too...9 params

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 omitted -> server detects it. Returns its primary share link and owner token. Optional password, TTL, filename, top too...

Parameters* required
content*string
HTML, Markdown, code or JSON to publish
deliveryModestring
Optional delivery choice for a fresh publication, independent of password/namespace. Fresh sites and HTML-format pages outside public (including the default unlisted namespace) always use subdomain...one of path · subdomain
filenamestring
Optional original filename (≤200 chars). Used as title fallback when no <title>/<h1>; immutable on update.
formatstring
Omit: server detects html, markdown, code or JSON. `html` keeps code/JSON as HTML; also markdown/md or a code language.
namespacestring
Send namespace=public for anything meant to be found or shared (docs, guides, demos, portfolios, reports, landing pages): listed in the public gallery and sitemap, so Google, Bing and AI search ind...
ownerTokenstring
Optional; the ownerToken from your first create keeps publications under one owner. Default: env BREWPAGE_OWNER_TOKEN (local server only), else a new token per create.
passwordstring
Optional password to protect the page
showTopBarboolean
Add a thin top toolbar (filename + Download button + theme toggle) on the served page. Default: hidden.
ttlDaysvalue
Requested TTL: days as a number, or a string such as '2w', '36h' or '1 month' (default 15 days). The server rounds to whole days and clamps to the allowed range (1-30; up to 90 with an owner token...
publish_fileUpload 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. Returns manageUrl, a private management link (grants control; not for...5 params

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. Returns manageUrl, a private management link (grants control; not for...

Parameters* required
deliveryModestring
Optional delivery choice for a fresh publication, independent of password/namespace. Fresh sites and HTML-format pages outside public (including the default unlisted namespace) always use subdomain...one of path · subdomain
filenamestring
Custom filename (optional)
namespacestring
Send namespace=public for anything meant to be found or shared (docs, guides, demos, portfolios, reports, landing pages): listed in the public gallery and sitemap, so Google, Bing and AI search ind...
ownerTokenstring
Optional; the ownerToken from your first create keeps publications under one owner. Default: env BREWPAGE_OWNER_TOKEN (local server only), else a new token per create.
url*string
URL of the file to upload
update_hostingChange 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 st...6 params

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 st...

Parameters* required
deliveryMode*string
path = Promotion; subdomain = Dedicated subdomainone of path · subdomain
expectedVersioninteger
Optional current hostingVersion from the server; a stale value still applies and the result says so
id*string
Resource ID
namespace*string
Resource namespace; non-public HTML-format pages stay on subdomain
ownerTokenstring
Owner token from create. Default: env BREWPAGE_OWNER_TOKEN (local server only).
type*string
Resource type; sites always stay on their own subdomainone of html · file · json · kv
delete_resourceDelete a BrewPage resource (HTML page, site, KV store, JSON document, or file) using the owner token.4 params

Delete a BrewPage resource (HTML page, site, KV store, JSON document, or file) using the owner token.

Parameters* required
id*string
Resource ID
namespace*string
Resource namespace
ownerTokenstring
Owner token from create. Default: env BREWPAGE_OWNER_TOKEN (local server only).
type*string
Resource type to deleteone of html · site · kv · json · file
get_pageFetch 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.3 params

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.

Parameters* required
id*string
Page ID
namespace*string
Page namespace
passwordstring
Password if the page is protected
get_statsGet 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).1 params

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).

Parameters* required
tzstring
Optional IANA timezone id for the 'today' boundary, e.g. 'Europe/Lisbon'. Defaults to UTC. Invalid value falls back to UTC silently.
publish_sitePublish 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 ow...8 params

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 ow...

Parameters* required
deliveryModestring
Optional delivery choice for a fresh publication, independent of password/namespace. Fresh sites and HTML-format pages outside public (including the default unlisted namespace) always use subdomain...one of path · subdomain
entrystring
Entry file path, default index.html
entryContentstring
HTML content for a single-page site (entry file). Mutually exclusive with `files`.
filesarray
Multi-file site: array of `{path, content}`. Mutually exclusive with `entryContent`.
namespacestring
Send namespace=public for anything meant to be found or shared (docs, guides, demos, portfolios, reports, landing pages): listed in the public gallery and sitemap, so Google, Bing and AI search ind...
ownerTokenstring
Optional; the ownerToken from your first create keeps publications under one owner. Default: env BREWPAGE_OWNER_TOKEN (local server only), else a new token per create.
passwordstring
Optional password to protect the site
ttlDaysvalue
Requested TTL: days as a number, or a string such as '2w', '36h' or '1 month' (default 15 days). The server rounds to whole days and clamps to the allowed range (1-30; up to 90 with an owner token...
republish_siteRepublish (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`....8 params

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`....

Parameters* required
entrystring
Entry file path, default index.html
entryContentstring
HTML content for a single-page site (entry file). Mutually exclusive with `files`.
filesarray
Multi-file site: array of `{path, content}`. Mutually exclusive with `entryContent`.
id*string
Site ID
namespace*string
Site namespace
ownerTokenstring
Owner token from create. Default: env BREWPAGE_OWNER_TOKEN (local server only).
tagsarray
Optional tags; replace the site's stored tags. Omit to keep them.
ttlDaysvalue
Ignored: republishing keeps the existing expiry; a supplied value comes back as a ttl-ignored notice.
update_htmlUpdate an existing BrewPage HTML, Markdown, code or JSON page. Requires owner token. Returns the updated page metadata. The link and delivery mode never change on update; an advisory deliveryModeReason and delivery notice are included when the new content uses browser features...6 params

Update an existing BrewPage HTML, Markdown, code or JSON page. Requires owner token. Returns the updated page metadata. The link and delivery mode never change on update; an advisory deliveryModeReason and delivery notice are included when the new content uses browser features...

Parameters* required
content*string
New HTML, Markdown, code or JSON content
formatstring
Content format. Accepts (case-insensitive on html/markdown): 'html', 'markdown'/'md', or a code language — yaml, json, xml, csv, tsv, log, toml, ini, sql, sh, bat, env, javascript, typescript, tsx,...
id*string
Page ID
namespace*string
Page namespace
ownerTokenstring
Owner token from create. Default: env BREWPAGE_OWNER_TOKEN (local server only).
tagsarray
Optional tags; replace the page's stored tags ([] clears). Omit to keep them.
publish_jsonPublish 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 publ...7 params

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 publ...

Parameters* required
deliveryModestring
Optional delivery choice for a fresh publication, independent of password/namespace. Fresh sites and HTML-format pages outside public (including the default unlisted namespace) always use subdomain...one of path · subdomain
json*value
JSON document to publish (object, array, or JSON-encoded string)
namespacestring
Omit (default): private. namespace=public: the shared public namespace. JSON and KV are never listed in the gallery or indexed, in any namespace; anyone who has the link can open it. Lowercase only...
ownerTokenstring
Optional; the ownerToken from your first create keeps publications under one owner. Default: env BREWPAGE_OWNER_TOKEN (local server only), else a new token per create.
passwordstring
Optional password to protect the document
tagsarray
Optional tags for the document
ttlDaysvalue
Requested TTL: days as a number, or a string such as '2w', '36h' or '1 month' (default 15 days). The server rounds to whole days and clamps to the allowed range (1-30; up to 90 with an owner token...
get_jsonFetch a published BrewPage JSON document by namespace and ID.3 params

Fetch a published BrewPage JSON document by namespace and ID.

Parameters* required
id*string
Document ID
namespace*string
Document namespace
passwordstring
Password if the document is protected
update_jsonUpdate 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...4 params

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...

Parameters* required
id*string
Document ID
json*value
New JSON document (object, array, or JSON-encoded string)
namespace*string
Document namespace
ownerTokenstring
Owner token from create. Default: env BREWPAGE_OWNER_TOKEN (local server only).
publish_kvPublish 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 lin...8 params

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 lin...

Parameters* required
deliveryModestring
Optional delivery choice for a fresh publication, independent of password/namespace. Fresh sites and HTML-format pages outside public (including the default unlisted namespace) always use subdomain...one of path · subdomain
key*string
KV key (first part of the (namespace, id, key) addressing tuple)
namespacestring
Omit (default): private. namespace=public: the shared public namespace. JSON and KV are never listed in the gallery or indexed, in any namespace; anyone who has the link can open it. Lowercase only...
ownerTokenstring
Optional; the ownerToken from your first create keeps publications under one owner. Default: env BREWPAGE_OWNER_TOKEN (local server only), else a new token per create.
passwordstring
Optional password to protect the KV store
tagsarray
Optional tags for the KV entry
ttlDaysvalue
Requested TTL: days as a number, or a string such as '2w', '36h' or '1 month' (default 15 days). The server rounds to whole days and clamps to the allowed range (1-30; up to 90 with an owner token...
value*string
KV value
set_kvSet 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 neve...5 params

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 neve...

Parameters* required
id*string
KV store ID
key*string
Key to set
namespace*string
KV store namespace
ownerTokenstring
Owner token from create. Default: env BREWPAGE_OWNER_TOKEN (local server only).
value*string
Value to assign to the key
get_kvFetch a value from a BrewPage KV store by namespace, ID, and key.4 params

Fetch a value from a BrewPage KV store by namespace, ID, and key.

Parameters* required
id*string
KV store ID
key*string
Key to fetch
namespace*string
KV store namespace
passwordstring
Password if the KV store is protected
get_limitsGet 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 skipp...1 params

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 skipp...

Parameters* required
ownerTokenstring
Owner token from create. Default: env BREWPAGE_OWNER_TOKEN (local server only).
search_gallerySearch the BrewPage public gallery. Optional filters: text query, pagination, sort, and 'mine' (owner-scoped, requires owner token).6 params

Search the BrewPage public gallery. Optional filters: text query, pagination, sort, and 'mine' (owner-scoped, requires owner token).

Parameters* required
mineboolean
If true, restricts results to entries owned by the supplied owner token
ownerTokenstring
Owner token; only sent as X-Owner-Token when 'mine' is true. Default: env BREWPAGE_OWNER_TOKEN (local server only).
pageinteger
Page number (1-based; default 1)default: 1
qstring
Free-text search query
sizeinteger
Page size (1-100; backend caps at 100)
sortstring
Sort order: 'date' or 'views'one of date · views
set_visibilityHide or show a public publication in the gallery and sitemap. Link unchanged.5 params

Hide or show a public publication in the gallery and sitemap. Link unchanged.

Parameters* required
id*string
Publication ID
listed*boolean
false = hide, true = show
namespace*string
Publication namespace
ownerTokenstring
Owner token from create. Default: env BREWPAGE_OWNER_TOKEN (local server only).
type*string
Publication type; only public html, site and file can be listedone of html · site · file · json · kv
bind_tokenAdd an owner token to your BrewPage profile (as publish). Needs an admin token of that profile.2 params

Add an owner token to your BrewPage profile (as publish). Needs an admin token of that profile.

Parameters* required
ownerTokenstring
Admin token of the profile. Default: env BREWPAGE_OWNER_TOKEN (local server only).
token*string
Owner token to add
mint_tokenMint 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.4 params

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.

Parameters* required
expiresInstring
Default: admin 90d, publish neverone of 30d · 90d · 1y · never
labelstring
Optional label shown in the profile
ownerTokenstring
Admin token of the profile. Default: env BREWPAGE_OWNER_TOKEN (local server only).
scopestring
publish (default) or admin (can manage tokens)one of publish · admin

Sponsors

Readme

BrewPage API -- Open Source Public Layer


View the full README on GitHub

Details

Repository
github.com/kochetkov-ma/brewpage-openapi
Website
brewpage.app
Categories
Documents & Knowledge, Data & Analytics
Package
brewpage-mcp
Transport
STDIO, HTTP
Registry
MCP registry, active
Tools verified
Nov 5, 2026

Related Documents & Knowledge MCP servers

View all
1mikimatsub avatarSwsdmikimatsub/swsd-mcpMCP server for SolarWinds Service Desk tickets, catalog, knowledge, ITSM operations, and workflows.5stars
2sunshad0w avatarHTML to Markdown MCP Serversunshad0w/html2md-mcpConverts HTML to Markdown with auto-summary and section extraction. Supports Playwright.5stars
3shangri-la-0428 avatarThrongletsshangri-la-0428/throngletsP2P shared memory substrate for AI agents — stigmergic knowledge network via libp2p5stars
4smaniches avatarAlphaFold Sovereign MCPsmaniches/alphafold-sovereign-mcpMCP server for AlphaFold and 8 other biomedical data sources with a local SQLite knowledge graph5stars
5spokenmd avatarSpokenspokenmd/spokenPodcast transcripts as clean Markdown with real speaker names — via the Spoken API.5stars
6andreas-roennestad avatarOpenhive Mcpandreas-roennestad/openhive-mcpSearch and contribute to a shared knowledge base of AI-discovered problem-solution pairs.4stars