brewpage-mcp
BrewPage API -- Open Source Public Layer
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. Every published resource gets a short HTTPS URL
(brewpage.app/{namespace}/{id}) within seconds.
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 20 MB / 100 files) and get a fully served static site.
Key-value store -- namespace-scoped KV pairs, up to 1,000 keys per namespace, mutable in place via the owner token.
JSON documents -- store and retrieve arbitrary JSON, up to 1 MB per document, 10,000 documents per collection.
File hosting -- upload any safe file type (images, PDFs, video, audio, archives, code), up to 5 MB (video 20 MB), with inline preview.
Public namespace -- omitting
?ns=publishes to the sharedpublicnamespace, which is listed on the homepage gallery and indexed by search engines. Pass a custom namespace orX-Passwordheader to keep content private.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 accounts, no sessions.TTL -- content expires automatically. Default 15 days, maximum 30 days, configurable per request via
ttl_days.No auth required for reads. Writes are open (rate-limited to 60 uploads/hr per IP). All requests require a
User-Agentheader.
Both brewpage.app and brewdata.app serve the same API.
Related MCP server: mcp-toolkit
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 six 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 \
-H "Content-Type: application/json" \
-H "User-Agent: MyAgent/1.0" \
-d '{"content": "<h1>Hello, world!</h1>", "ttlDays": 15}'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
Scenario | API call |
An AI agent generates a shareable HTML report and needs a stable URL to return to the user |
|
A GPT pipeline needs to persist JSON state between conversation turns without external storage |
|
A code-generation tool produces a downloadable file (PDF, archive, script) and needs to host it |
|
An agent publishes an artifact and later refines it without invalidating the shared URL |
|
A multi-step pipeline deploys a complete static site (HTML + CSS + JS) from a ZIP |
|
API Features
Resource | Description | Limits |
HTML pages | Raw HTML or Markdown with instant short URLs | 5 MB, TTL 1--30d |
Key-value store | Named key-value pairs grouped in namespaces | 1,000 keys/namespace |
JSON documents | Store and retrieve arbitrary JSON with collection management | 1 MB, 10,000 docs/collection |
Files | Upload files with automatic MIME detection and inline preview | 5 MB (video 20 MB), 1,000 files/namespace |
Sites | Multi-file HTML sites via ZIP or individual files | 20 MB total, 100 files, 5 MB/file, TTL 1--30d |
Every resource gets a short URL (brewpage.app/{ns}/{id}), optional password protection, configurable TTL, and tagging. Public content appears in a browsable gallery with full-text search.
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 "archive=@site.zip;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/statsAPI Reference
Interactive docs -- kochetkov-ma.github.io/brewpage-openapi
API Reference (Scalar) -- kochetkov-ma.github.io/brewpage-openapi/api-reference
OpenAPI spec (YAML) --
openapi/openapi.yamlOpenAPI spec (JSON) --
openapi/openapi.json
Endpoints
Tag | Description |
HTML | Publish, retrieve, update, delete HTML/Markdown pages |
KV | Key-value store CRUD (get, set, list, delete keys) |
JSON | JSON document CRUD with collection listing |
Files | File upload, download, list, delete |
Sites | Multi-file site upload (ZIP or files), info, serve, delete |
Gallery | Browse public content with search and pagination |
Stats | Platform-wide usage statistics |
Short Links | URL shortener for published content |
SEO | Sitemap and robots.txt endpoints |
Reports | Abuse reports for published content |
Namespace | Collision-free namespace suggestions |
MCP Server
The brewpage-mcp package provides a Model Context Protocol server with 6 tools for AI-assisted content publishing. See mcp-server/README.md for full documentation.
Tool | Description |
| Publish HTML or Markdown content with optional password, TTL, filename, and top toolbar |
| Upload a file from a URL |
| Publish a single-page or multi-file HTML site |
| Delete any resource (HTML, KV, JSON, file) by owner token |
| Fetch a published HTML page and its content |
| Get platform-wide usage statistics |
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"brewpage": {
"command": "npx",
"args": ["-y", "brewpage-mcp"]
}
}
}Claude Code
Add to ~/.claude/settings.json:
{
"mcpServers": {
"brewpage": {
"command": "npx",
"args": ["-y", "brewpage-mcp"]
}
}
}Resources
Resource | URL |
Live platform | |
LLM context file | |
Full LLM reference | |
OpenAPI spec (YAML) | |
MCP server | |
npm package | |
Interactive API docs | |
Claude skill | https://github.com/kochetkov-ma/claude-brewcode/tree/main/skills/brewpage-publish |
BrewCode plugin suite | |
Wiki | |
Releases |
BrewPage is described using schema.org/SoftwareApplication structured data on the platform homepage.
What's Open Here
Component | Description |
OpenAPI 3.1 spec | Complete API contract for all public endpoints (YAML + JSON) |
Interactive docs | Astro + Scalar documentation site (GitHub Pages) |
MCP server |
|
Wiki | Code snippets, cheatsheet, tips & tricks |
Release notes | Changelog for API and public tooling |
What's Proprietary
Component | Description |
Backend | Spring Boot + Kotlin REST API |
Frontend | HTML/CSS/JS + Caddy reverse proxy |
Infrastructure | VPS deployment, CI/CD pipelines |
E2E test suite | Playwright + Testcontainers |
Project Structure
brewpage-openapi/
openapi/
openapi.json # OpenAPI 3.1 spec (JSON)
openapi.yaml # OpenAPI 3.1 spec (YAML)
docs-site/ # 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
LICENSELicense
This server cannot be deployed
Maintenance
Related MCP Connectors
- UnifAPIOAuthcom.unifapi
Hosted MCP server for live public-data APIs and Skills for AI agents.
Build, edit, host, and publish websites from AI assistants. Setup: https://mcp.orivox.org/
Deploy AI-generated HTML/CSS/JS to instant public HTTPS URLs from any MCP-compatible agent.
Hosted MCP for creating, checking, deploying, and hosting static sites for AI agents.
Related MCP Servers
- AlicenseAqualityBmaintenanceMCP server for Shipstatic — deploy and manage static sites from AI agents. Works with Claude Code, Cursor, VS Code Copilot, and any MCP-compatible client.151,666 npm7MIT
- AlicenseAqualityDmaintenanceA general-purpose MCP server providing web search, persistent memory storage, and secure code execution capabilities. It enables AI agents to search the web, store and retrieve data, and run Python/JavaScript code in sandboxed environments.8MIT
- AlicenseAqualityBmaintenanceAn MCP server that lets AI publish markdown documents to a clean, themed web UI. One tool call creates a shareable doc.84MIT
- FlicenseNot gradedqualityBmaintenanceMCP server for the OffByOne website factory, enabling agents to generate, validate, and manage full-stack web projects through safe, deterministic tools.-