Skip to main content
Glama
kochetkov-ma

brewpage-mcp

by kochetkov-ma

BrewPage API -- Open Source Public Layer

npm GitHub Stars OpenAPI License 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. 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 shared public namespace, which is listed on the homepage gallery and indexed by search engines. Pass a custom namespace or X-Password header 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-Agent header.

Both brewpage.app and brewdata.app serve the same API.

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

POST /api/html -- returns link immediately

A GPT pipeline needs to persist JSON state between conversation turns without external storage

POST /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 it

POST /api/files -- file served with correct MIME type and inline preview

An agent publishes an artifact and later refines it without invalidating the shared URL

PUT /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 ZIP

POST /api/sites with archive=@site.zip -- all files served with relative links intact

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/stats

API Reference

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

Publish HTML or Markdown content with optional password, TTL, filename, and top toolbar

publish_file

Upload a file from a URL

publish_site

Publish a single-page or multi-file HTML site

delete_resource

Delete any resource (HTML, KV, JSON, file) by owner token

get_page

Fetch a published HTML page and its content

get_stats

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

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

brewpage-mcp -- Claude Desktop/Code integration (6 tools)

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
  LICENSE

License

Apache 2.0

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
6dRelease cycle
9Releases (12mo)

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kochetkov-ma/brewpage-openapi'

If you have feedback or need assistance with the MCP directory API, please join our Discord server