Skip to main content
Glama

UiChemy AI Website Creator

uichemy_create_project

Creates a new UiChemy project from layouts in the UiChemy template library, using the copy, fonts and colours passed in. Quickest way to a whole site: give each page only its name (leave sections out). The layouts are then picked here, the way the UiChemy dashboard picks them, every page is built at once, and the reply lists every page's text slots, to write in one uichemy_set_text call (then uichemy_open_preview shows the site). Give sections only to choose layouts yourself. It is the only way to start a project here: every site is built from the template library, and HTML, CSS or JavaScript written elsewhere is not imported. For library sections as code in the user's own React app, uichemy_get_page_code is the tool. Each page is a list of sections, normally a navbar first and a footer last; a home page usually has 8 to 12 sections (hero, social proof, features, how it works, testimonials, pricing or offer, FAQ, CTA) and an inner page 5 to 8. Text and image slots belong to the layout: uichemy_template_slots lists them with their maximum length and what each one is for. A slot left empty shows its token on the page, an image slot left empty keeps the template's stock photo. Keep copy within each slot's limit: copy far over it is cut at a word boundary, and the reply lists it. Two sections using the same layout share the same copy, so use each layout once per project (navbar, footer and sections marked global excepted); a repeat is switched to a fresh layout of the same kind with its copy moved across, and an unknown layout or font is replaced, all named in the reply. The project is built either way; polish what the reply lists with uichemy_set_text or uichemy_replace_section. Inner pages carry sections about their own subject. On every page after the first, the hero is that page's header: it says what the page holds and what is further down, and leaves the brand story and pitch to the home page and the sections below. Image slots take urls, so a generated picture needs to be uploaded first. category files a page in the sitemap (Blog, Legal, Site Extras...); pages without one are filed under Core Pages. brief fills the project's Scope tab and is required, as are headingFont, bodyFont and all five palette colours. store: true builds an online store the way the UiChemy app does: Home is the storefront (woo-navbar first, footer last, woo- sections between), the nine standard shop pages are added wearing Home's woo-navbar - as do the core and legal pages - the blog pages wear the normal navbar (its search finds posts), and every page the one normal footer. Only for a site that sells products online - not a service business called a shop (barber, coffee, repair). The result names any slot left unfilled and any layout that was not found.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "name": "<name>",
      "pages": "<pages>",
      "headingFont": "<headingFont>",
      "bodyFont": "<bodyFont>",
      "palette": "<palette>"
    },
    "name": "uichemy_create_project"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameYesThe project's name. When the user has not named the business, a fitting name works; it can be renamed later in UiChemy.
briefNoREQUIRED - send it on the first call; a call without it builds nothing. It fills the project's Scope tab.
pagesYesPages in order; the first is the home page.
storeNoAn online store that sells products: every page but the blog's wears the woo-navbar, the blog pages the normal navbar, every page one normal footer; plus the nine standard shop pages (Shop Page, Product Category, Product Single, Product Search Results, My Cart, Checkout, My Account, Order details, Track Your Order).
paletteYesAll five slots, as #RGB or #RRGGBB.
bodyFontYesA Google Font family name for body text.
headingFontYesA Google Font family name for headings.
createCanvasNoAlso do what the editor's "Continue to design" does on first open — colour roles, the section style's band colours, the export section list, every page marked built — with no AI call, so the project needs no editor visit. Same as uichemy_create_canvas afterwards.
sectionStyleNoWith createCanvas: the section style to pin (default subtle_01). Without one the canvas rolls a random one.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / brief / description
      Previous value: -"The project's Scope — what the business is, who it serves and what the site must do. This fills the Scope tab; without it the project opens with an empty brief."New value: +"REQUIRED - send it on the first call; a call without it builds nothing. It fills the project's Scope tab."
  2. Changed2 schema fields changed
    • addedInput schema / properties / pages / items / properties / sections / description
      Added value: +"Leave out to have the layouts picked here (navbar to footer, the way the dashboard does it). Give them only to choose each layout yourself."
    • changedInput schema / properties / pages / items / required
      Previous value: -[
      -  "name",
      -  "sections"
      -]New value: +[
      +  "name"
      +]
  3. Changed1 schema field changed
    • changedInput schema / properties / pages / items / properties / category / description
      Previous value: -"Which group of the sitemap this page is filed in. Omitted, it is inferred from the name, and only names that can mean one thing are claimed — a legal page, a single blog post, a 404 or a shop page. Everything else is filed in Core Pages, so state it for anything else that belongs elsewhere."New value: +"Which group of the sitemap this page is filed in. Omitted, it is inferred from the name, and only names that can mean one thing are claimed — a legal page, a blog page (Blog, Blog Page, a post...), a 404 or a shop page. Everything else is filed in Core Pages, so state it for anything else that belongs elsewhere. A blog-named page outside Blog Pages, and two pages with one name, are refused."
  4. Changed1 schema field changed
    • changedInput schema / properties / store / description
      Previous value: -"An online store that sells products: Home's woo-navbar / woo-footer on every page, plus the nine standard shop pages (Shop Page, Product Category, Product Single, Product Search Results, My Cart, Checkout, My Account, Order details, Track Your Order)."New value: +"An online store that sells products: every page but the blog's wears the woo-navbar, the blog pages the normal navbar, every page one normal footer; plus the nine standard shop pages (Shop Page, Product Category, Product Single, Product Search Results, My Cart, Checkout, My Account, Order details, Track Your Order)."
  5. Changed1 schema field changed
    • addedInput schema / properties / store
      Added value: +{
      +  "description": "An online store that sells products: Home's woo-navbar / woo-footer on every page, plus the nine standard shop pages (Shop Page, Product Category, Product Single, Product Search Results, My Cart, Checkout, My Account, Order details, Track Your Order).",
      +  "type": "boolean"
      +}
  6. First observed

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare this is a non-destructive write with no open-world access; the description goes far beyond by disclosing that the project is built either way, that duplicate layouts are swapped for fresh ones with copy migrated, that unknown layouts or fonts are replaced, that over-limit copy is cut at a word boundary, and that empty slots render their token or keep stock photos. It also describes what the reply reports, which matters given there is no output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core purpose and the name-only shortcut are front-loaded, which is good, but the description then becomes a dense wall of prose mixing usage rules, content-craft advice (8–12 sections on a home page, hero-as-header on inner pages), and slot mechanics. Valuable material, but several paragraphs could be trimmed or deferred to uichemy_template_slots, and the store rules are restated in both the description and the `store` schema field.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 9-parameter tool with nested `brief`, `pages` and `palette` objects and no output schema, this is thorough: required inputs, page ordering, slot limits, layout-collision handling, and the shape of the response are all covered. An agent has enough to call it correctly on the first attempt without inspecting sibling tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, and the description adds real meaning on top: it explains that pages can be given as name-only, that `brief` is mandatory and populates the Scope tab, that `category` defaults to Core Pages, and that `store: true` adds nine standard shop pages with a specific navbar/footer assignment. Some of this duplicates the schema's own descriptions (notably `category` and `store`), which keeps it from a 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb and resource: creates a UiChemy project from template-library layouts using the supplied copy, fonts and colours. It immediately distinguishes itself from siblings by name — uichemy_add_page, uichemy_get_page_code, uichemy_create_canvas — and states it is the only entry point for starting a project.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit routing rules: omit `sections` to let layouts be auto-picked, supply them only to choose layouts yourself; use uichemy_get_page_code for React; follow with uichemy_set_text and uichemy_open_preview. It also gives a clear when-not for `store` (only a site that sells products, not a service business called a shop), which is exactly the kind of exclusion that prevents misuse.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources