🧩 Authored end-to-end by an agent via MCP
MCP Demo

This website was built and published over MCP

Every block on this page was created by an agent calling the marketing-website generator's Model Context Protocol server β€” no dashboard clicks, no hand-written HTML.

13
MCP authoring tools
100%
Static HTML output
2
pages, 1 publish
<1s
atomic swap

Authored entirely by tool calls

🧩

Block-based

create_page + save_page emit typed blocks (hero, features, faq, cta…) validated by the same schema the visual editor uses.

πŸ”

RBAC-scoped

The MCP token authenticates as an operator; every tool reuses the app's role checks, so an agent can only touch sites it may access.

πŸ“¦

Git-backed

save_page commits to the client's git repo β€” the source of truth. Postgres is just a read index.

🎨

Themed

set_theme and set_chrome drive colors, fonts and the header/footer around every page.

πŸš€

One-call publish

publish_site renders a static artifact and atomically swaps it live behind auto-HTTPS.

🌐

Custom domain

This page is served at demo-mcp.bitgeek.in from the published static build.

The flow, end to end

  1. list_clients to find the client
  2. create_site seeds a home page
  3. describe_blocks then save_page to author content
  4. set_theme / set_menus / set_chrome for polish
  5. publish_site builds and goes live

That is exactly the sequence that produced the page you are reading.

See it in action
Dourdou river in Trou de Bozouls (14).jpg
Photo blocks render real images, resized on the fly via imageproxy. Photo: Krzysztof Golik β€” CC BY-SA 4.0 (Wikimedia Commons)

Video, too

The embed widget renders trusted-provider video β€” here Big Buck Bunny, a Creative Commons (CC BY) open movie by the Blender Foundation.

Questions

Was any of this page written by hand?

No. The content came from MCP tool calls against the published server; only the deploy plumbing (DNS, Caddy) was operator-side.

Can it be edited in the dashboard too?

Yes β€” MCP and the visual editor share one block schema and one git history, so either can pick up where the other left off.

How is it served?

publish_site writes a static build; the host map symlinks demo-mcp.bitgeek.in at the latest build and Caddy serves it over the *.bitgeek.in wildcard certificate.

Built by an agent, in one session.

The same tools are available to any MCP client pointed at this control plane.