Skip to content
Agentmart
Submit a tool

Webcake Landing

Build, validate, and persist Webcake landing-page source JSON: element schemas plus AI usage hints.

Connector by vuluu2k · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)Remote (HTTP)★ 7
Write a review

Install

Works with Claude Code, VS Code, Codex, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/vuluu2k-webcake-landing-mcp

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Remote endpoint

  • https://mcp.toolvn.io.vn/mcp Remote (HTTP)

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Build, validate, and persist Webcake landing-page source JSON: element schemas plus AI usage hints.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.

Tools
17 read · 3 write · 3 delete
Secrets
3 (API keys, tokens or passwords)
Install scripts
None found
Runs as
Node.js package

Tools by what they do 23

Read from the source code; the running server may list different tools.

Read 17 · Look things up without changing anything.

  • find_pages
  • get_element
  • get_generation_guide
  • get_icon_svg
  • get_page
  • get_page_schema
  • ingest_html
  • ingest_url
  • layout
  • list_elements
  • list_organizations
  • list_pages
Show 5 more tools
  • new_element
  • new_page_skeleton
  • render_preview
  • search_images
  • validate_page

Write 3 · Create, change, send or run things.

  • add_section
  • create_page
  • upload_images

Delete 3 · Delete, drop, revoke or wipe things.

  • patch_page
  • publish_page
  • update_page

Secrets and settings it asks for

Secrets: values you paste in that let it act as you.

  • Authorization
  • PEXELS_API_KEY
  • WEBCAKE_JWT

Other settings (environment variables or headers).

  • WEBCAKE_API_BASE
  • WEBCAKE_ENV
  • WEBCAKE_ORG_ID

Network hosts it talks to 44

  • 169.254.169.254 · found in code
  • api.iconify.design · found in code
  • api.microlink.io · found in code
  • api.pexels.com · found in code
  • api.staging.webcake.io · found in code
  • api.webcake.io · found in code
  • b.test · found in code
  • build.webcake.io · found in code
  • builder.staging.webcake.io · found in code
  • builder.webcake.io · found in code
  • cdn.tailwindcss.com · found in code
  • cdn.webcake.co · found in code
  • cdn.x · found in code
  • claude.ai · found in code
  • deb.nodesource.com · found in code
  • env.test · found in code
  • evil.com · found in code
  • facebook.com · found in code
  • fonts.googleapis.com · found in code
  • fonts.gstatic.com · found in code
  • github.com · found in code
  • i.ytimg.com · found in code
  • iconify.design · found in code
  • images.pexels.com · found in code
  • lh3.googleusercontent.com · found in code
  • mcp.toolvn.io.vn · found in remote endpoint, install command, code
  • microlink.io · found in code
  • p.test · found in code
  • pexels.com · found in code
  • placehold.co · found in code
Show 14 more hosts
  • raw.githubusercontent.com · found in code
  • rpm.nodesource.com · found in code
  • s.com · found in code
  • shop.vn · found in code
  • site.com · found in code
  • staging.webcake.io · found in code
  • staging.webcake.me · found in code
  • statics.pancake.vn · found in code
  • vimeo.com · found in code
  • w.ladicdn.com · found in code
  • webcake.io · found in code
  • webcake.me · found in code
  • x.test · found in code
  • youtube-nocookie.com · found in code

Files it touches

  • /home/user/photo.jpg
  • /opt/homebrew/bin/brew
  • Your home directory (~)
  • ~/.webcake-landing-mcp
  • ~/foo/bar.jpg
  • ~/Pictures/logo.png
  • C:\\Users\\user\\img.jpg
  • C:\\Users\\x.jpg

Tools (23)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • add_sectionAppend Section(s) to Webcake Page

    Appends one or more section nodes to the end of an existing page's `page` array, server-side: only the new sections are sent, and the backend rejects element ids that already exist on the page. The sections are validated first. dry_run defaults to true: it validates, caches the payload under a draft_id and previews the request; dry_run:false appends. A validation failure also returns a draft_id, which patch_page accepts for element-level fixes. Section-level saves cannot change page settings, so font weights that need new font links are reported in font_weights_notice. Requires Webcake credent…

  • create_pageCreate Webcake Page

    Creates a new page in the user's Webcake account from a page source { page, popup, settings, options, cartConfigs }, saves it, and then publishes it (builds the rendered app on the Webcake build host and publishes it through the editor's publish route) so its preview renders; publish:false skips publishing, and a failed publish does not fail the create (result.publish reports the outcome). Before validating it applies deterministic layout corrections (off-canvas boxes, elements below wrapped text, containers grown to fit) and lists them in auto_fixed. External images and self-hosted font files…

  • find_pagesFind Webcake Pagesread-only

    Searches the account's pages by name, domain and/or page id. Filters are AND-combined; name and domain are case-insensitive substrings, and domain matches custom_domain or default_domain. Each result includes id, name, organization_id, custom_domain, default_domain and updated_at. With no filters it returns the most recently updated pages. Requires Webcake credentials.

  • get_elementGet Element Detailsread-only

    Returns usage details for one element type, or for several via `types: [...]`: a summary, when it applies, key `specials` fields, a sparse skeleton node (the server fills omitted boilerplate), and for common types a filled example. `types` returns { elements: { [type]: details } }; `type` returns a single doc.

  • get_generation_guide

    Returns the page-building conventions reference: output shape, the absolute-positioning coordinate system, event vocabulary, and the recommended workflow.

  • get_icon_svgResolve Icon SVGsread-only

    Resolves icon-font names into inline SVG markup via the public Iconify API (https://iconify.design/docs/api/). Accepts Material Symbols refs ("ms:verified"), Font Awesome refs ("fa:chart-line"), Iconify ids ("mdi:home"), or bare names (treated as Material Symbols); underscores become hyphens, and Material Symbols resolve to the outlined variant with a filled fallback. These are the same `ms:` / `fa:` refs that ingest results report in block.icon. Returns { icons: { "<ref>": { ok, svg, iconify } } }. In Webcake an icon renders as an SVG mask on a rectangle element: the SVG goes in responsive.de…

  • get_pageGet Webcake Page Sourceread-only

    Fetches an existing page's source tree { page, popup, settings, options, cartConfigs } with its name, organization_id and source_version. By default the tree is compacted: boilerplate shared by every element (properties, runtime, empty events/children, per-breakpoint config and factory-default style keys) is stripped, giving the same sparse shape the save tools accept and re-hydrate. compact:false returns the raw stored tree. Requires Webcake credentials.

  • get_page_schema

    Returns the full JSON Schema (Draft 2020-12) of a Webcake page source object { page: [...], settings: {...} } for structural reference and validation.

  • ingest_htmlIngest HTML Referenceread-only

    Parses an HTML string into a reference AST for rebuilding the page in Webcake: title, description, og_image, language, and sections classified by role (header, hero, features, about, form, cta, gallery, testimonials, pricing, faq, footer, unknown), each with headings, paragraphs, images, CTAs, links, form fields and a size_hint (desktop section height in px — from CSS when explicit, else estimated). Also returns top colors, fonts, palette and background_images; for Tailwind-CDN pages (e.g. Google Stitch) the palette and `design_tokens` (spacing grid, corner radii, type scale) come from the pag…

  • ingest_urlIngest URL Referenceread-only

    Fetches a public webpage (GET, 10 s timeout, 2 MB cap) together with its external stylesheets and @imports, and parses it into the same reference AST as ingest_html: role-classified sections with size_hint heights, palette, design tokens, self-hosted fonts (`font_groups`), computed typography, images, and — with detail:'full' — per-section blocks, lists and widgets. Absolute-canvas builder exports (LadiPage-family or Webcake-published pages) are detected and converted deterministically into a complete Webcake page `source` with `clone_notes` and `canvas_summary`. JavaScript is not executed, so…

  • layoutCompute Layout Coordinatesread-only

    Computes on-canvas coordinates (top/left/width/height) for a group of elements on both breakpoints. Modes: 'center' (one box centered on the canvas), 'row' (N boxes in a centered horizontal row on desktop, stacked into one column on mobile), 'grid' (N uniform cells in `cols` columns, stacked on mobile), 'stack' (a vertical list down the content column). Respects the page margins (content column 80–880 on desktop and 20–400 on mobile by default). Returns one box per item in input order, plus `notes` for off-canvas or over-wide inputs. Pure computation: no credentials, no network.

  • list_elements

    List every supported element type, grouped by category, with a one-line summary and whether it is a container (can hold children).

  • list_organizationsList Webcake Organizationsread-only

    Returns the account's Webcake organizations (id, name, is_default). The default org (type===1, usually the personal workspace) is where pages normally go. Needs WEBCAKE_API_BASE + WEBCAKE_JWT.

  • list_pagesList Webcake Pagesread-only

    Lists the pages owned by the account (id, name, organization_id, updated_at), most-recent first. Needs WEBCAKE_API_BASE + WEBCAKE_JWT.

  • new_elementNew Element Noderead-only

    Returns a default element node for a type in the sparse authoring shape: a fresh id, seeded styles for both breakpoints, and seeded specials. properties, runtime, empty events and per-breakpoint config are omitted because the server fills them from factory defaults on validate and save.

Show 8 more tools
  • new_page_skeletonNew Page Skeletonread-only

    Returns an empty, complete top-level page source { page:[], popup:[], settings, options, cartConfigs } in the Webcake editor's shape. desktopWidth (960 or 1200) and mobileWidth (420 or 360) set settings.width_section, the canvas width that all element coordinates are measured in.

  • patch_pagePatch Webcake Page (by element id)can change or delete data

    Edits a page by element id without sending the whole source. The target is either a live page (page_id) or a cached draft (draft_id) returned by a failed or dry-run create_page, add_section or update_page call. Ops: {op:'update', id, type?, specials?, styles?:{desktop?,mobile?}, config?:{desktop?,mobile?}, events?, properties?} shallow-merges fields (op defaults to 'update'; it cannot delete existing keys), {op:'replace', id, element} swaps the node, {op:'remove', id} deletes it, and {op:'add', parent_id, element} appends a child to a container; `element` may be sparse. The server loads the so…

  • publish_pagePublish Webcake Pagecan change or delete data

    Publishes an existing page: builds the rendered app on the Webcake build host (POST <buildBase>/render/build; https://build.webcake.io in production, overridable with WEBCAKE_BUILD_BASE / x-webcake-build-base) and then creates or updates the published record that public serving reads. With custom_domain (already pointed at Webcake) the page is served at that domain; when omitted, the page's currently attached domain is reused; with no domain, or custom_domain:'', only the preview link (<previewBase>/preview/<page_id>) is returned, and it renders for about 10 minutes after the publish. Without …

  • render_previewRender Preview Screenshotread-only

    Renders a public URL to a PNG screenshot and returns it as an image. `page_id` targets a created page's preview URL (/preview/<id>); `url` targets any public page and takes precedence. full_page (default true) captures the whole scrollable page and `width` sets the viewport; `tiles:true` returns a tall page as several top-to-bottom band images (requires a self-hosted Playwright host via RENDER_SCREENSHOT_BASE, otherwise a single image is returned). Engine: Microlink's free tier by default (API: https://microlink.io/docs/api/getting-started/overview; about 50 requests/day per IP — when rate-lim…

  • search_imagesSearch Stock Imagesread-only

    Searches Pexels stock photos (API: https://www.pexels.com/api/documentation/) by short English subject queries. Each photo includes hotlinkable URLs at several sizes, a `sizes` map with each variant's pixel dimensions, `avg_color`, and the photographer's name and attribution URL; the response also includes a `size_guide` mapping slot widths to variants (hero/banner ~940–1880px → large/large2x, card ~350px → medium, avatar → tiny). `queries: [...]` runs several searches in parallel and returns { queries: { [q]: result } } — `pick:'best'` (default) keeps only the top photo per query, `pick:'all'…

  • update_pageUpdate Webcake Page (Overwrite)can change or delete data

    Replaces an existing page's stored source with an edited tree (source only; the published build is not refreshed). Validates first. Concurrency check: the save is refused with page_changed_externally when the page was edited elsewhere since it was last read (base_version, or the version the server recorded), or with unverified_overwrite when an unverified save would delete live element ids; force:true overrides. dry_run defaults to true: it validates, caches the source under a draft_id and returns the masked request; dry_run:false saves. A draft_id from a dry run or a failed/timed-out update r…

  • upload_imagesUpload Images to Webcake

    Re-hosts images on Webcake's CDN (statics.pancake.vn) and returns a map from each original entry to its hosted URL. Accepts up to 20 entries per call, processed in parallel, up to 200 MB each: http(s) image URLs, data:image/…;base64 URIs, and — only when the server runs locally over stdio — local file paths (absolute, ~/, file://, or Windows drive paths; rejected per entry on the remote HTTP transport). Upload target: with Webcake credentials and a resolved organization, each image is filed into that organization's media collection (the library the Webcake editor's media picker shows) and mark…

  • validate_pageValidate Page Sourceread-only

    Validates a page source against the JSON schema and semantic rules: unique ids, dangling event targets, children only on container types, missing field_name, top-level types, and form-data bindings (duplicate field_name within one form; dangling promoId / connectedSurvey / connectedForm / set_field_value targets). Before validating it applies deterministic layout corrections (off-canvas boxes moved on-canvas, elements below wrapped text moved down) and lists them in auto_fixed. Returns errors (structural problems that block saving) and warnings (visible layout defects such as overlapping text,…

Signals

Stars
7
Forks
0
Open issues
2
Last commit
Oct 21, 2026 (7 days ago)
Last release
Oct 21, 2026 (7 days ago)

From GitHub (fetched Oct 24, 2026).

Details

Registry name
io.github.vuluu2k/webcake-landing-mcp
Version
1.6.1
Auth
Bearer token, API key
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from vuluu2k

Cite this page

Webcake Landing MCP server. Agent Mart. https://agentmart.dev/connectors/vuluu2k-webcake-landing-mcp (last updated 2026-10-24)