Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
BREWPAGE_URLNoOptional 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

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
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 public page, the server may publish it on its own subdomain if the page needs browser features a BrewPage link does not provide; the result then includes deliveryModeReason and a delivery notice. Markdown raw HTML is allowlisted: scripts, styles, event handlers, forms and embeds are removed. Always share the returned URL.

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 tz shifts the 'today' boundary to the given IANA zone (default UTC).

publish_siteA

Publish an HTML site to BrewPage. Single-page: pass entryContent. Multi-page: pass files (array of {path, content}). Optional entry overrides default index.html. Use its returned primary link and retain the owner token. Limits (call get_limits for current values): a request is at most 25 MB; a site at most 200 files, 5 MB per file and 20 MB in total; each path at most 380 characters. System files (.DS_Store, __MACOSX/ and similar) are skipped and never count; files with an unsupported extension or a too-long path are skipped and listed in notices. Entry: entry, else root index.html, else the shallowest HTML file. Errors: 400 = a site limit exceeded (the message names it and what to do), invalid path or no HTML file; 413 = request over 25 MB, too many files and form fields, or a file name/path too long; 422 = no servable file left.

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 entryContent. Multi-page: pass files (array of {path, content}). Optional entry overrides the default index.html. Republishing preserves existing expiry. Limits (call get_limits for current values): a request is at most 25 MB; a site at most 200 files, 5 MB per file and 20 MB in total; each path at most 380 characters. System files (.DS_Store, __MACOSX/ and similar) are skipped and never count; files with an unsupported extension or a too-long path are skipped and listed in notices. Entry: entry, else root index.html, else the shallowest HTML file. Errors: 400 = a site limit exceeded (the message names it and what to do), invalid path or no HTML file; 413 = request over 25 MB, too many files and form fields, or a file name/path too long; 422 = no servable file left.

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

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.7/5.0

Scored across 17 tools

Disambiguation4/5

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.

Naming Consistency5/5

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.

Tool Count4/5

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.

Completeness4/5

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.

Maintenance

ActivityMaintained
ResponsivenessNo issues