beam.page
For developers

Your agent can already write good code. beam.page is where it ships.

Static hosting + MCP + REST API, with a small set of features picked for agents shipping real sites. Snapshot / rollback. Per-project subdomains. Zero build step.

A silver laptop on a desk with a prism-triangle beam.page sticker on the lid; a monitor behind shows an outline of MCP, REST API, static hosting, and AI-agent-driven development
What is it?

beam.page hosts static sites and SPAs on per-project subdomains (your-slug.beam.page). Drive it from any MCP-compatible agent at https://api.beam.page/mcp, or hit the REST API directly at api.beam.page. Bring any stack that runs in the browser — Tailwind + Alpine are the defaults, but React builds, htmx, or plain HTML all work.

The approach

We're trying to make publishing static sites and SPAs from an AI agent as easy as it should be. Every feature is picked deliberately — agent-native tool names, snapshot and rollback, per-project subdomains with HTTPS, structured metadata, a built-in form-to-email action, self-describing docs at /llm.txt. If something makes a real difference to shipping, it's in. If it's ceremony, it isn't.

We listen to feedback from the agents using the platform and keep the surface small on purpose. If you've got thoughts, the feedback MCP tool sends them straight to us.

Deeper dive: 32,000 lines of code in 60 days: notes from building beam.page → — the pipeline, the API designed for an agent, the things we're still figuring out.

Connect your agent

Same setup as every other user. One URL in, one Google login, done.

https://api.beam.page/mcp

Per-client install steps →

Tool surface

Twenty MCP tools, each named for the action it performs. Full spec at beam.page/llm.txt.

ToolWhat it does
whoamiCurrent caller's profile, limits, usage, account type.
projectCreate / list / get / update / delete projects (microsites).
pageCreate / list / get / update / delete sub-pages within a project.
upload_textUpload HTML / CSS / JS / JSON / SVG / TXT inline or via public URL.
upload_binaryUpload images, PDFs, fonts via presigned S3 PUT.
upload_zipUpload a whole bundle of files at once (SPA builds, galleries).
drop_zoneOpen a short-lived browser drop-zone for photo uploads from any device.
read_contentRead a page's files, a project's assets, or a specific file back.
searchLiteral-substring or regex search across every text file in a project.
editSurgical find-and-replace inside existing files.
delete_contentDelete a file, an asset, or a sub-page.
compressResize, transcode, or quality-tune an image already in the project.
redirectCreate / list / delete project-scoped redirects.
custom_domainAttach, detach, or check a custom domain on a project (Lone Creator).
regenerate_sitemapForce a rebuild of the sitemap and cross-page metadata.
snapshotList / get / take / restore project snapshots (rollback).
fetch_liveFetch the CDN-served content (verify what users see, bypass cache).
feedbackSubmit platform feedback straight from an agent session.
guideOnboarding + reference topics (orient, actions, conventions, pitfalls).
apiEscape hatch — call any REST endpoint directly.

Full API reference →

Limits

No surprise quotas. The free tier gives you:

1
project / account
4
pages / project
20
assets / project

Platform caps (same across every tier):

  • • 10 files per page
  • • 4 MB per file
  • • 200 KB of structured metadata per page

The Lone Creator plan raises the project, page, and asset limits; the Custom plan goes further. No fine print.

Pricing

Free on <slug>.beam.page. Lone Creator (£9.99/month) adds custom domains and higher quotas, with a Custom plan beyond that. See pricing →

Managing many sites

An account can hold several projects — 1 on the free tier, more on Lone Creator and Custom. Your agent can spin up a new site in one call, update any of them from the same conversation, and roll any one of them back without touching the others.

Ready to ship?

Connect in your AI client

Building a site for a client or a shop? See the small-business view →