mcpField
B
brewpage-mcp

brewpage-mcp

Remote
brewpage.appCloud & Infra5Updated today

About brewpage-mcp

brewpage-mcp is an MCP server for AI assistants and agents to publish and manage content through BrewPage. Its tools cover web pages, files, sites, JSON, and key-value data, returning links and owner tokens for published artifacts.

Key features

  1. 01Publish HTML and Markdown pages
  2. 02Upload files and multi-file sites
  3. 03Create and manage JSON and KV data
  4. 04Update or delete resources with owner tokens
  5. 05Browse public content and platform stats

Use cases

  1. 01Sharing a generated HTML report by URL
  2. 02Persisting JSON state between agent steps
  3. 03Hosting a downloadable generated file
  4. 04Publishing a static site from a ZIP

MCP support

It exposes 20 typed tools for publishing and managing BrewPage content. MCP clients can connect to the remote server at https://brewpage.app/mcp or run the package locally.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://brewpage.app/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

Packages
npmbrewpage-mcp1.15.1

Tools

15
ParameterTypeRequiredDescription
contentstringYesHTML or Markdown content to publish
formatenumNoContent format: HTML or MARKDOWNHTML | MARKDOWN
namespacestringNoOptional. Omit to keep the content PRIVATE/unlisted (reachable only by its link — not listed in the gallery and not indexed by search engines). Pass a custom namespace to group private content, or pass `public` ONLY when the user explicitly wants the page listed in the brewpage.app gallery and indexed by search engines.
passwordstringNoOptional password to protect the page
ttlDaysintegerNoTime to live in days (1-30, default: 15)
filenamestringNoOptional original filename (≤200 chars). Used as title fallback when no <title>/<h1>; immutable on update.
showTopBarbooleanNoAdd a thin top toolbar (filename + Download button + theme toggle) on the served page. Default: hidden.

Details

From the project README

BrewPage API -- Open Source Public Layer

npm GitHub Stars OpenAPI License MCP Server Brewpage MCP server

This repository is the open-source public layer of BrewPage -- a proprietary HTML/KV/JSON/file hosting platform. The backend, frontend, and infrastructure remain closed-source.

Docs: https://kochetkov-ma.github.io/brewpage-openapi/ | API Reference: https://kochetkov-ma.github.io/brewpage-openapi/api-reference/

What is BrewPage

BrewPage is a free instant hosting service for HTML pages, Markdown documents, multi-file sites, AI artifacts, JSON documents, key-value stores, and binary files. No signup or API key required for creation. Use the exact returned primary HTTPS link; publications may use a BrewPage path or their own content host.

Key characteristics:

  • HTML and Markdown pages -- publish raw HTML or Markdown rendered to styled HTML, up to 5 MB, with instant short URLs.
  • Multi-file sites -- upload a ZIP archive or individual files (up to 200 files, 5 MB per file, 20 MB total; current values at GET /api/limits) and get a fully served static site.
  • Key-value store -- KV pairs addressed by namespace/store ID, up to 1,000 keys per store, mutable in place via the owner token.
  • JSON documents -- store and retrieve arbitrary JSON, up to 1 MiB per document, 10,000 documents per namespace.
  • File hosting -- upload any safe file type (images, PDFs, video, audio, archives, code), up to 5 MB (video 20 MB), with inline preview.
  • Visibility -- REST omitted ?ns= publishes privately; MCP omitted namespace generates a private namespace: unlisted and not indexed; anyone with the link can still open it. public lists HTML, sites and files in the gallery and sitemap, so Google, Bing and AI search can find and index them; public pages are served on the brewpage.app domain for the strongest reach (a site always gets its own subdomain). Never put secrets in a public publication. Password-protected publications, JSON and KV are never listed. POST …/visibility {"listed":false} hides a public publication, link unchanged.
  • Owner tokens -- every publish response includes an ownerToken. Use it to update content in place (stable URL), delete it, or list your own resources. No account needed. Optional: sign in free (Google or any email) at https://account.brewpage.app to never lose your pages or tokens and to mint tokens that never expire. Not needed to publish. Creates also return a private manageUrl for that one publication: give it only to the owner.
  • TTL -- default 15 days, ordinary maximum 30 days, configured through the REST ttl query parameter. Owner-specific caps and eligible automatic extensions can affect expiry; use returned expiresAt.
  • Access -- unprotected reads and creation require no account. Protected reads use X-Password; owner updates, deletion and scoped lists use X-Owner-Token. Rate limits depend on operation/visibility; handle 429 and Retry-After.

The API base URL is https://brewpage.app. brewdata.app is a redirect domain: every path answers 301 to brewpage.app.

Choosing a host? See how BrewPage compares with GitHub Pages, Netlify Drop, Tiiny Host and other tools: brewpage.app/compare.

Why this matters for LLMs and agents

AI agents frequently need to share structured outputs -- reports, artifacts, generated HTML, intermediate JSON state -- with users or downstream systems via a stable URL. BrewPage provides that as a zero-setup REST API: one POST call, one URL back. No OAuth, no S3 bucket configuration, no infrastructure. The MCP server (brewpage-mcp) wraps the API into twenty typed tools that any MCP-compatible agent (Claude, Codex, Gemini, Cursor) can call directly.

Quick Start

Publish an HTML page and get a shareable link:

curl -X POST 'https://brewpage.app/api/html?ns=public&format=html&ttl=15' \
  -H "Content-Type: application/json" \
  -H "User-Agent: MyAgent/1.0" \
  -d '{"content": "<h1>Hello, world!</h1>"}'

Response:

{
  "id": "aBcDeFgHiJ",
  "namespace": "public",
  "link": "https://brewpage.app/public/aBcDeFgHiJ",
  "ownerLink": "https://brewpage.app/api/html/public/aBcDeFgHiJ",
  "ownerToken": "your-secret-token",
  "expiresAt": "2026-06-04T02:00:00Z",
  "sizeBytes": 22
}

Open link in any browser -- no further steps required.

Use Cases for LLMs and Agents

ScenarioAPI call
An AI agent generates a shareable HTML report and needs a stable URL to return to the userPOST /api/html -- returns link immediately
A GPT pipeline needs to persist JSON state between conversation turns without external storagePOST /api/json?ns=myproject then GET /api/json/myproject/{id}
A code-generation tool produces a downloadable file (PDF, archive, script) and needs to host itPOST /api/files -- file served with correct MIME type and inline preview
An agent publishes an artifact and later refines it without invalidating the shared URLPUT /api/html/{ns}/{id} with X-Owner-Token -- content replaced, URL unchanged
A multi-step pipeline deploys a complete static site (HTML + CSS + JS) from a ZIPPOST /api/sites with [email protected] -- all files served with relative links intact

API Features

ResourceDescriptionLimits
HTML pagesRaw HTML or Markdown with instant short URLs5 MB, TTL 1--30d
Key-value storeNamed key-value pairs addressed by namespace/store ID1,000 keys/store
JSON documentsStore and retrieve arbitrary JSON with owner-scoped listing1 MiB, 10,000 docs/namespace
FilesUpload files with automatic MIME detection and inline preview5 MB (video 20 MB), 1,000 files/namespace
SitesMulti-file HTML sites via ZIP or individual files20 MB total, 200 files, 5 MB/file, TTL 1--30d

Creation returns a primary link and owner token. Keep the token for management and share the link exactly. Password-protected publications are never listed. TTL and supported inputs vary by operation.

API Examples

Publish Markdown:

curl -X POST "https://brewpage.app/api/html?format=markdown" \
  -H "Content-Type: application/json" \
  -H "User-Agent: MyAgent/1.0" \
  -d '{"content": "# My Document\n\nHello **world**"}'

Store a JSON document:

curl -X POST https://brewpage.app/api/json \
  -H "Content-Type: application/json" \
  -H "User-Agent: MyAgent/1.0" \
  -d '{"name": "config", "version": 1}'

Upload a site (ZIP archive):

curl -X POST "https://brewpage.app/api/sites" \
  -H "User-Agent: MyAgent/1.0" \
  -F "[email protected];type=application/zip"

Update content in place (stable URL):

curl -X PUT "https://brewpage.app/api/html/public/aBcDeFgHiJ" \
  -H "Content-Type: application/json" \
  -H "User-Agent: MyAgent/1.0" \
  -H "X-Owner-Token: your-secret-token" \
  -d '{"content": "<h1>Updated content</h1>"}'

Get platform stats:

curl https://brewpage.app/api/stats

API Reference

The backend-generated public JSON contract owns schema authority. YAML is derived deterministically; Scalar serves an identical JSON copy. See openapi/openapi.provenance.json for export provenance. Correct backend generation before importing a new snapshot; do not author schemas in YAML.

Endpoints
TagDescription
HTMLPublish, retrieve, update, delete HTML/Markdown pages
KVKey-value store CRUD (get, set, list, delete keys)
JSONJSON document CRUD with owner-scoped listing
FilesFile upload, download, list, delete
SitesMulti-file site upload (ZIP or files), info, serve, delete
GalleryBrowse public content with search and pagination
StatsPlatform-wide usage statistics
Short LinksURL shortener for published content
SEOSitemap and robots.txt endpoints
ReportsAbuse reports for published content
NamespaceCollision-free namespace suggestions

MCP Server

The brewpage-mcp package provides a Model Context Protocol server with 20 tools for AI-assisted content publishing and management. Selected tools appear below; see mcp-server/README.md for the complete list and documentation.

Package releases use .github/workflows/release.yml with package-scoped npm Trusted Publisher/OIDC for kochetkov-ma/brewpage-openapi, workflow release.yml, without an environment. CI needs no NPM_TOKEN, manual npm login or static-token rotation. Local npm whoami does not validate GitHub Actions OIDC authentication. Publication to the official MCP registry (io.github.kochetkov-ma/brewpage-mcp) is automatic via GitHub OIDC in the same workflow; no local mcp-publisher token is needed.

To retry publication from a local terminal, dispatch the current main workflow:

gh workflow run release.yml --repo kochetkov-ma/brewpage-openapi --ref main

Rerunning historical tag workflows that used token authentication is unsupported; use current main instead. The retry checks the matching version tag and unchanged MCP source, and skips publication when that version already exists.

ToolDescription
publish_htmlPublish HTML or Markdown content with optional password, TTL, filename, and top toolbar
publish_fileUpload a file from a URL
publish_sitePublish a single-page or multi-file HTML site
delete_resourceDelete any resource (HTML, site, KV, JSON, file) by owner token
set_visibilityHide or show a public publication in the gallery and sitemap
get_pageFetch a published HTML page and its content
get_statsGet platform-wide usage statistics
Remote (no install)

Add https://brewpage.app/mcp as a custom connector / remote MCP server by URL in Claude.ai, ChatGPT or any Streamable HTTP client. No auth; same 20 tools.

Claude Code: claude mcp add --transport http brewpage https://brewpage.app/mcp, or in .mcp.json:

{
  "mcpServers": {
    "brewpage": {
      "type": "http",
      "url": "https://brewpage.app/mcp"
    }
  }
}
Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "brewpage": {
      "command": "npx",
      "args": ["-y", "[email protected]"]
    }
  }
}
Claude Code

Add to project-root .mcp.json:

{
  "mcpServers": {
    "brewpage": {
      "command": "npx",
      "args": ["-y", "[email protected]"]
    }
  }
}
Gemini CLI

gemini extensions install https://github.com/kochetkov-ma/brewpage-openapi

Resources

ResourceURL
Live platformhttps://brewpage.app
LLM context filehttps://brewpage.app/llms.txt
Full LLM referencehttps://brewpage.app/llms-full.txt
OpenAPI spec (YAML)openapi/openapi.yaml
MCP servermcp-server/
npm packagehttps://www.npmjs.com/package/brewpage-mcp
Interactive API docshttps://kochetkov-ma.github.io/brewpage-openapi/
Claude skillhttps://github.com/kochetkov-ma/claude-brewcode/tree/main/skills/brewpage-publish
Brewcode plugin suitehttps://github.com/kochetkov-ma/claude-brewcode
Brewcode sitehttps://brewcode.app
GitHub Action (publish CI artifacts to BrewPage)https://github.com/kochetkov-ma/brewpage-action
BrewPage Cookbook (interactive recipes)https://github.com/kochetkov-ma/brewpage-cookbook
brewdoc CLI (document-to-Markdown conversion for agent systems)https://pypi.org/project/brewdoc/
brewdoc CLI sourcehttps://github.com/kochetkov-ma/brewdoc
Wikihttps://github.com/kochetkov-ma/brewpage-openapi/wiki
Releaseshttps://github.com/kochetkov-ma/brewpage-openapi/releases

BrewPage is described using schema.org/SoftwareApplication structured data on the platform homepage.

What's Open Here

ComponentDescription
OpenAPI 3.1 specComplete API contract for all public endpoints (YAML + JSON)
Interactive docsAstro + Scalar documentation site (GitHub Pages)
MCP serverbrewpage-mcp -- Claude Desktop/Code integration (20 tools)
WikiCode snippets, cheatsheet, tips & tricks
Release notesChangelog for API and public tooling

What's Proprietary

ComponentDescription
BackendSpring Boot + Kotlin REST API
FrontendHTML/CSS/JS + Caddy reverse proxy
InfrastructureVPS deployment, CI/CD pipelines
E2E test suitePlaywright + Testcontainers

Project Structure

brewpage-openapi/
  openapi/
    openapi.json          # OpenAPI 3.1 spec (JSON)
    openapi.yaml          # OpenAPI 3.1 spec (YAML)
  docs/                   # Astro documentation site
    src/
      pages/              # Documentation pages
      components/         # Scalar API reference
  mcp-server/             # MCP server (brewpage-mcp)
    src/
      index.ts            # Server entry point
  .github/
    workflows/            # CI/CD (docs deploy, releases)
  README.md
  RELEASE-NOTES.md
  LICENSE

License

Apache 2.0 covers this repository's contract/docs layer. The independently packaged MCP server uses MIT. The hosted backend, frontend and infrastructure remain proprietary. SDK/CLI module specifications are proposals; they do not establish released packages.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.