Capture pages with AI agents

Ask Claude Code, Codex or any MCP client to build, edit and publish a Lumail capture page from the terminal or a chat

A capture page is a signup landing page hosted by Lumail. Every signup lands in your audience with the tags you chose. You can build one in the dashboard AI builder, or ask your own agent to do it through the Lumail skill, the CLI or the MCP server. All three use the same tools, so a page an agent creates opens in the builder exactly like one you made there.

Ask your agent

With the Lumail skill or the MCP server installed, describe the page:

Prompt
Build a Lumail capture page for my free SEO checklist for indie hackers. Dark theme, tag signups with seo-checklist. Leave it as a draft and send me the preview link.

The agent reads the page rules with get_skill({ type: "capture_page" }), writes the page, validates it, saves it as a draft and gives you two links: a preview link that renders the draft exactly like the live page (anyone with it can view it for 2 hours, and it records no views or signups), and the builder link, where you preview it on desktop, tablet and mobile and keep refining it with the in-app AI. Nothing is public until you ask the agent to publish, or press Publish in the builder.

How a page is made

A page is two files:

FileWhat it holds
page.tsxOne React component (export default function App()), Tailwind classes, no imports.
theme.cssThe :root color and font tokens, plus optional @keyframes.

Signup forms use the built-in EmailProvider, EmailInput and EmailSubmit components. Lumail rejects code that fetches URLs, touches window or document, uses hooks or event handlers, or imports packages, so a page can only collect emails for your list.

From the terminal

The CLI keeps a page in a local folder so an agent (or you) can edit it with normal file tools:

npm install -g lumail
lumail auth login

# Start from a template; writes page.tsx, theme.css and capture.json
lumail captures templates
lumail captures create --name "SEO checklist" --template lead-magnet \
  --tags seo-checklist --dir ./capture

# Edit ./capture/page.tsx, then check and save it as the draft
lumail captures validate --dir ./capture
lumail captures push --dir ./capture   # prints a fresh preview link

# Go live when you are happy with the preview
lumail captures publish --dir ./capture

If ./capture/page.tsx already exists, create --dir uploads it instead of starting from the template. push, publish and versions read the page ID from capture.json, so they work without an ID inside that folder.

CommandWhat it does
captures listPages with status, views, signups, conversion rate and URL.
captures get <id> [--code]One page, its links and optionally its draft code.
captures pull <id> --dir <dir>Downloads an existing page into a folder to edit it.
captures settings <id>Renames it, changes its slug, SEO title and description, tags.
captures versions [id]Published versions and which one is live.
captures rollback <id> <version>Makes an older version live again and restores it as draft.
captures delete <id>Deletes the page after a confirmation code.

Add --json to any command for machine-readable output.

Drafts, publishing and versions

  • The draft is what the builder shows and what agents edit. Saving a draft never changes the live page.
  • Publishing turns the current draft into a new version (v1, v2...) and makes it live at the page URL.
  • Rolling back makes an older version live and loads it back as the draft.
  • Names never clash: creating a second "SEO checklist" gives you "SEO checklist (2)".

Tools reference

Agents call these tools through MCP, the Tools API or the CLI. They need an API token or MCP connection with the campaigns permission.

ToolPurpose
list_capture_pages, get_capture_pageRead pages, stats, links and draft code.
list_capture_page_templatesBuilt-in designs, optionally with their code.
validate_capture_page_codeChecks code without saving anything.
create_capture_pageCreates a draft from code, a template, or empty.
update_capture_page, update_capture_page_settingsSaves draft code, or changes name, slug, SEO, tags.
publish_capture_pagePublishes the draft as a new live version.
list_capture_page_versions, rollback_capture_pageVersion history and rollback.
delete_capture_pageDeletes a page (asks for a confirmation code).

See the full tools reference for every input and output field.