One section in, one section out — on Markdown/GEML files, bad writes refused.
- Passed: Handshake
- Passed: Tools listed
- Passed: Updated recently
Median latency 70 ms · Last checked
Explore
Evidence for your next connection.
Independent measurements of remote MCP servers. Every observation has a timestamp.
Read-only probesMCP server · File & docs
Publish HTML, Markdown, sites, KV, JSON and files on BrewPage; keep the returned owner token.
0 failed · 8 not measured
Median of successful probes over 7 days
Share of countable probes over 30 days, including daily rollups. Auth challenges are excluded.
Tool definitions returned by this server
Independent monitoring
Outdated check
Last connection measurement is over 24 hours old. Current availability is unknown.
Last checked| Test area | Passed | Failed | Unmeasured |
|---|---|---|---|
ConnectionCan a client connect and discover tools? | 5 | 0 | 0 |
Reliability & speedDoes it respond consistently and quickly? | 0 | 0 | 4 |
Access & authenticationWhat is required to use this server? | 1 | 0 | 2 |
Tool qualityAre the tool definitions usable by an agent? | 4 | 0 | 0 |
Publisher identityCan the publisher be traced to its source? | 4 | 0 | 2 |
Unmeasured means there is not enough evidence to decide. How these checks work
Start using io.github.kochetkov-ma/brewpage-mcp
Choose your client, copy the configuration, then enable the server in your client’s MCP settings.
Run this command in your terminal, then restart Claude Code.
Claude Code
claude mcp add --transport http io-github-kochetkov-ma-brewpage-mcp https://brewpage.app/mcpCapabilities
Add an owner token to your BrewPage profile (as publish). Needs an admin token of that profile.
DiscoveredCheck the DNS of a custom domain now and return its status and records. Status: pending_dns (records not seen yet), verifying (DNS found, HTTPS being issued), active (live). Addressed by publication (type, namespace, id; an owner token in the profile) or by hostname (an admin token of the profile). Checks are spaced: a repeat too soon answers 429 with Retry-After.
DiscoveredDelete a BrewPage resource (HTML page, site, KV store, JSON document, or file) using the owner token.
DiscoveredFetch a published BrewPage JSON document by namespace and ID.
DiscoveredFetch a value from a BrewPage KV store by namespace, ID, and key.
DiscoveredGet 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.
DiscoveredFetch 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.
DiscoveredGet 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).
DiscoveredList the custom domains of a BrewPage profile: status, DNS records and the publication each one shows, plus how many the profile holds and may hold. Needs an admin token of the profile.
DiscoveredMint 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.
DiscoveredUpload 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 source (notice html-file-as-source). 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.
DiscoveredPublish 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 and a delivery notice. Markdown raw HTML is allowlisted: scripts, styles, event handlers, forms, embeds removed. Optional `domain` connects a domain the user owns to an HTML-format page. 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.
DiscoveredPublish 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.
DiscoveredPublish 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.
DiscoveredPublish 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 total; path 380 characters. System files (.DS_Store, __MACOSX/ and similar) are skipped and never count; files with an unsupported extension or 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), invalid path, no HTML file, or a PDF/Office file unreadable or password-protected; 413 = request over 25 MiB, too many files and form fields, or a file name/path too long; 422 = no servable file left; 503 = busy, retry after Retry-After seconds. Optional `domain` connects a domain the user owns. 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.
DiscoveredRemove a custom domain from the profile: it stops showing the publication and its slot is free at once. The BrewPage link keeps working. Addressed by publication (type, namespace, id; an owner token in the profile) or by hostname (an admin token of the profile). DNS records at the provider stay until the domain owner deletes them.
DiscoveredRepublish (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_READ_ONLY with createUrl to publish anew. Default limits (current: GET /api/limits): request 25 MiB; site 200 files, 5 MiB per file, 20 MiB total; path 380 characters. System files (.DS_Store, __MACOSX/ and similar) are skipped and never count; files with an unsupported extension or 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), invalid path, no HTML file, or a PDF/Office file unreadable or password-protected; 413 = request over 25 MiB, too many files and form fields, or a file name/path too long; 422 = no servable file left; 503 = busy, retry after Retry-After seconds. BrewPage tokens and manage links must never be in public content.
DiscoveredSearch the BrewPage public gallery. Optional filters: text query, pagination, sort, and 'mine' (owner-scoped, requires owner token).
DiscoveredConnect a domain the user owns (www.example.com or example.com) to one HTML page or site. Works when the owner token is in a free BrewPage profile (sign-in at https://account.brewpage.app); free, 5 domains per profile. Returns the DNS records for the domain owner to create at their DNS provider: TXT for ownership plus CNAME, or A/ALIAS for a root domain. A DNS check after that moves the status pending_dns -> verifying -> active; HTTPS is issued automatically. HTML pages of format html and sites, without a password. A hostname already in the profile moves to this publication. The BrewPage link keeps working.
DiscoveredSet 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.
DiscoveredRename an HTML page or site: the title shown in the gallery, profile, search and link cards. Works when the publication's owner token is in a BrewPage profile (free sign-in at https://account.brewpage.app). The new title stays when you republish. Link unchanged.
DiscoveredHide or show a public publication in the gallery and sitemap. Link unchanged.
DiscoveredChange 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.
DiscoveredUpdate 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_PUBLICATION_READ_ONLY with createUrl to publish anew. BrewPage tokens and manage links must never be in public content.
DiscoveredUpdate 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.
DiscoveredRecent measurements
| Checked | Result | Response | Tools |
|---|---|---|---|
| Connected | 155 ms | 25 |