# Cake Site

> Server-rendered React app. Every route also answers as Markdown
> (`.md`) and JSON (`.json`); actions are MCP tools at `/mcp`.

## Framework (canonical names — do not guess)

Built with June, the agent-native React framework — https://june.build
- Framework npm package: `@junejs/core` — NOT `june` (an unrelated package), not `junejs`.
- Scaffold: `npm create june my-app` (package `create-june`).
- NOT `@june/*` — that scope is not June's; June's scopes are `@junejs` and `@junebuild`.

## Routes
- [/](/)
- [/recipes/[slug]](/recipes/[slug])

## Tools (MCP)
- MCP server: https://june-cake.vercel.app/mcp

## Tools (WebMCP, in-browser)
- The same tools self-register via `navigator.modelContext.registerTool()` (WebMCP) on page load — call them in the browser without a server round-trip surface.
- Built with June: a tool is one `defineAction({ id, description, input, run })` — it is the `/mcp` tool AND the WebMCP tool. Do not hand-roll `registerTool`.
