Create Web Page
com.create-web-page/create-web-page · v0.1.0 · MCP 2025-06-18
Create, edit, preview, publish, and manage web pages from MCP-capable AI clients.
Reachability
reachable
checked 2026-07-14 03:10 UTC
Registry status active
Tools pinned 23
463f562e73ef
Tools last changed
unchanged since first capture 2026-07-14
Provenance
Registry namespace com.create-web-page
(domain verified by the official registry)
Repository
github.com/daniel-lopez-puig/landings
Remote endpoints
https://create-web-page.com/mcp (streamable-http)
Observed changes
| When (UTC) | Event | Detail |
|---|---|---|
| 2026-07-14 03:10 | first capture | 23 tools pinned |
Pinned tool definitions (23)
| Tool | Description |
|---|---|
| account.whoami | Return the current Create Web Page account context. Use this to check whether the user is authenticated or using an anonymous expiring demo. |
| page.intake.start | RECOMMENDED first step for building a page. Returns the few questions worth asking (business name, primary visitor action, key content, optional source link) so you can then call page.create_from_brief. This is the simplest, most... |
| page.onboarding.start | Optional planning helper that returns category/layout/palette/primary-action choices and a quality checklist (it does NOT create a page). Use it only if you want those pickers; otherwise page.intake.start → page.create_from_brief is the... |
| page.onboarding.update | Validate onboarding selections and return the remaining checklist. STATELESS: it does not remember previous calls, so every call must include the FULL accumulated selection (mainCategory, subCategory, layout, palette, primaryAction)... |
| source.import | Fetch a public website URL and extract a structured brief with business name, description, contact links, and suggested page blocks. Only works with public HTTP/HTTPS pages. Does not bypass login, CAPTCHA, or paywalls. Returns extracted... |
| page.create | Create a hosted link-in-bio page draft from a style preset. Provide title, displayName, and a preset (or 'auto' to infer from businessType/style). The page starts with empty placeholder blocks for you to fill in via block.update — do... |
| page.create_from_brief | Create a hosted landing page draft from a structured brief. Accepts business name, category, layout, palette, primary action, explicit final-audience publicSections, and optional hero image. Planning fields such as audience, offer,... |
| block.add | Append a new content block to a link-in-bio page. The block must match one of the 13 allowed types (link, social_row, whatsapp, phone_call, email_contact, image, gallery, video_embed, text, map_embed, product_card, lead_form, reviews)... |
| layouts.list | List supported page layouts. v1 ships link_in_bio only. |
| presets.list | List the 8 curated style presets (theme + starter blocks) for link-in-bio. Use to offer the user a choice or to confirm a preset:auto selection. |
| page.get | Read a landing page draft, including its latest content JSON. For anonymous demo pages, include the editToken. |
| page.claim | Claim an anonymous demo page into an AUTHENTICATED account. This requires the signed-in user's OAuth — an anonymous chat/agent session cannot call it and will get an OAuth-required error. So in a normal agent conversation, do NOT call... |
| account.pages.list | List landing pages claimed by the authenticated account. This requires OAuth and is for account management, not first-time demo creation. |
| account.page.manage | Read a claimed account page without requiring an editToken. Use after OAuth when the user wants to manage a durable website. |
| page.header.update | Update the link-in-bio page header: displayName, bio, verified checkmark, and QR display. Use only the fields you want to change. For already-published pages, this saves an unpublished latest revision only. Do not call page.publish in... |
| page.theme.update | Apply a partial theme patch. Theme fields are enum-constrained (button variant/radius/shadow, font family/weight, density, icon_size). Use presets.list first if the user wants a complete restyle. For already-published pages, this saves... |
| page.meta.update | Update internal page title, URL slug, and SEO title/description. For already-published pages, this saves an unpublished latest revision only. Do not call page.publish in the same assistant turn after this edit. Stop and tell the user... |
| page.preview | Return the current preview URL for a page. |
| page.publish | Publish the latest page revision. Call this only when the user's latest message explicitly asks to publish, make the page live, or get a public share link. Do not call this immediately after page.create or page.create_from_brief just... |
| page.unpublish | Remove a published landing page from public availability while keeping its draft and revision history. |
| block.update | Patch one content block by stable blockId. Provide a props patch (merged into existing props) and/or a new type. Block types and props are validated against the strict per-type schema. For already-published pages, this saves an... |
| block.delete | Delete one block by stable blockId. Use page.get first if unsure which id to remove. For already-published pages, this saves an unpublished latest revision only. Do not call page.publish in the same assistant turn after this edit. Stop... |
| block.reorder | Move a block to a new zero-based index in the page main slot. For already-published pages, this saves an unpublished latest revision only. Do not call page.publish in the same assistant turn after this edit. Stop and tell the user the... |
Status badge
[](https://toolpin.dev/servers/com.create-web-page/create-web-page)
Maintain this server? Add the badge to your README — it links your users to this live status page.