brewpage-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BREWPAGE_URL | No | Optional BrewPage API base URL (default https://brewpage.app) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| publish_htmlA | Publish HTML or Markdown content to BrewPage (repository default limit 5 MiB). Returns its primary share link and owner token. Supports password protection, custom TTL, optional filename, and an opt-in top toolbar (showTopBar). When deliveryMode is omitted for a |
| publish_fileA | Upload a file to BrewPage via URL. Repository defaults: 5 MiB for files/audio, 20 MiB for video. Returns its primary share link and owner token. Does not expose password or TTL inputs. |
| update_hostingA | Change delivery mode for a NEW publication (not a site, not a non-public HTML-format page). Requires owner token; pass the current hostingVersion when known. 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. |
| delete_resourceC | Delete a BrewPage resource (HTML page, KV store, JSON collection, or file) using the owner token. |
| get_pageA | 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. |
| get_statsA | 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 |
| publish_siteA | Publish an HTML site to BrewPage. Single-page: pass |
| republish_siteA | 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 |
| update_htmlA | Update an existing BrewPage HTML/Markdown 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 that may not work fully on a BrewPage link. |
| publish_jsonA | Publish a JSON document to BrewPage (repository default limit 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. |
| get_jsonB | Fetch a published BrewPage JSON document by namespace and ID. |
| update_jsonA | Update an existing BrewPage JSON document. Requires owner token. Accepts a JSON object, array, or a JSON-encoded string. |
| publish_kvA | Publish a key/value entry to BrewPage. Creates a KV store; the entry is addressed by (namespace, id, key). Repository defaults: 1 MiB per value, 1,000 keys per store. Returns its primary share link and owner token. |
| set_kvA | Set or update a key in an existing BrewPage KV store. Requires owner token. |
| get_kvC | Fetch a value from a BrewPage KV store by namespace, ID, and key. |
| get_limitsA | Get the current BrewPage upload limits (GET /api/limits, no auth): request size, site file count, per-file and total size, ZIP expansion, path and name lengths, TTL default/maximum, allowed file extensions and skipped system files. Sizes are bytes. Call it before publishing a large or multi-file site. |
| search_galleryA | Search the BrewPage public gallery. Optional filters: text query, pagination, sort, and 'mine' (owner-scoped, requires owner token). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 17 tools
Each tool targets a distinct resource+action (HTML, JSON, KV, file, site), and the detailed descriptions clarify the single-page vs multi-page distinction. A few pairs could still be confused—publish_html vs publish_site and update_hosting (delivery mode for new publications) are the least obvious boundaries.
Almost all tools follow a consistent snake_case verb_noun pattern (get_stats, publish_html, update_json, set_kv, delete_resource). Minor deviations like update_hosting and the publish_/set_ split for KV don't break the predictable convention.
17 tools is on the higher end but justified given the server spans multiple resource types (sites, pages, files, JSON, KV, gallery). Each tool roughly earns its place, though a couple like get_limits are utility rather than core operations.
Publish/update/get/delete coverage exists across HTML, JSON, KV, and sites, plus discovery via search_gallery. Gaps remain: no get_file or update_file equivalent, no listing of the owner's own resources, and no tool to change TTL/expiry on existing content.