# BrewPage MCP [Health: Active]

**Category:** 💻 Developer Tools  
**Repository:** https://github.com/kochetkov-ma/brewpage-openapi  
**GitHub Stars:** 5  
**npm Downloads (last month):** 2490  
**Views:** 1  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/brewpage-mcp

## Description
Publish HTML, Markdown, KV, JSON, and files to brewpage.app from AI assistants. No signup.

## Tools
Capabilities this server exposes over MCP:

- **publish_html** — Publish HTML or Markdown content to BrewPage. Returns a public URL and owner token. Supports password protection, custom TTL, optional filename, and an opt-in top toolbar (showTopBar).
- **publish_file** — Upload a file to BrewPage via URL. Returns a public URL and owner token.
- **update_hosting** — Change delivery mode for a NEW public non-site publication. Requires owner token and current hostingVersion. OLD links and forced subdomain modes are locked; reload after a 409 conflict. Content updates never change hosting.
- **delete_resource** — Delete a BrewPage resource (HTML page, KV store, JSON collection, or file) using the owner token.
- **get_page** — Fetch a published BrewPage HTML page content by namespace and ID.
- **get_stats** — 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).
- **publish_site** — Publish an HTML site to BrewPage. Single-page: pass `entryContent`. Multi-page: pass `files` (array of `{path, content}`). Optional `entry` overrides default `index.html`.
- **republish_site** — 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: pass `entryContent`. Multi-page: pass `files` (array of `{path, content}`). Optional `entry` overrides the default `index.html`.
- **update_html** — Update an existing BrewPage HTML/Markdown page. Requires owner token. Returns the updated page metadata.
- **publish_json** — Publish a JSON document to BrewPage. Accepts a JSON object, array, or a JSON-encoded string. Returns a public URL and owner token.
- **get_json** — Fetch a published BrewPage JSON document by namespace and ID.
- **update_json** — Update an existing BrewPage JSON document. Requires owner token. Accepts a JSON object, array, or a JSON-encoded string.
- **publish_kv** — Publish a key/value entry to BrewPage. Creates a KV store; the entry is addressed by (namespace, id, key). Returns a public URL and owner token.
- **set_kv** — Set or update a key in an existing BrewPage KV store. Requires owner token.
- **get_kv** — Fetch a value from a BrewPage KV store by namespace, ID, and key.
- **search_gallery** — Search the BrewPage public gallery. Optional filters: text query, pagination, sort, and 'mine' (owner-scoped, requires owner token).

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "brewpage-mcp": {
    "command": "npx",
    "args": ["-y","brewpage-mcp@1.15.1"]
  }
}
```

## Documentation

## What BrewPage MCP MCP server does

BrewPage MCP MCP server exposes BrewPage's hosting and data API through typed MCP tools. Agents can publish HTML or Markdown pages, upload files by URL, deploy single-page or multi-file sites, store JSON documents, and create key-value stores. Creation operations return a public URL and an owner token for later management.

The service supports both content delivery and lightweight persistence. Published pages and sites can be fetched, JSON and KV values can be read back, and existing resources can be changed or removed without an account. BrewPage publications can use public or private namespaces, while password protection is available for supported content.

## How it works

An assistant calls a publish tool with content or resource details. BrewPage returns an identifier, link, expiry information, and an owner token. The assistant should retain that token when it needs to update or delete the resource later. Content updates preserve the existing URL.

HTML publishing accepts raw HTML or Markdown and can configure password protection, TTL, an optional filename, and the top toolbar. Site publishing accepts an entry document for a single-page site or an array of paths and contents for a multi-file site. Republished sites fully replace the prior file set at the same URL, so omitted files are removed.

JSON tools accept an object, array, or JSON-encoded string. KV data is addressed by namespace, store ID, and key. Gallery search supports text, pagination, sorting, and an owner-scoped mode that requires an owner token. Statistics include page, file, and storage counts, with an optional IANA time zone for the daily boundary.

## Tools and capabilities

- Publish and retrieve HTML or Markdown pages.
- Upload files and publish static sites with multiple files.
- Publish, fetch, and update JSON documents.
- Create and modify namespace-based key-value stores.
- Update HTML content while retaining its URL.
- Replace a multi-file site in place.
- Change hosting mode for eligible new publications.
- Delete resources with an owner token.
- Search the public gallery and inspect platform statistics.

## Limitations and notes

No signup or API key is required to create publications. Unlisted resources are not indexed, but anyone with their link can open them; public resources may appear in the gallery and sitemap. Password-protected publications, JSON, and KV resources are not listed.

HTML pages support up to 5 MB. Sites allow up to 200 files, 5 MB per file, and 20 MB total. JSON documents support up to 1 MiB, KV stores allow up to 1,000 keys, and file uploads support up to 5 MB, or 20 MB for video. Default publication lifetime is 15 days, with an ordinary maximum of 30 days; callers should use the returned expiration time.

Owner tokens control updates and deletion, so they should be treated as secrets. Rate limits vary by operation and visibility. Clients should handle HTTP 429 responses and the Retry-After header. Hosting changes apply only to eligible new public non-site publications, and a 409 conflict requires reloading before retrying.

_Full upstream README: https://allmcps.com/mcp/brewpage-mcp/readme_

