Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

uxgen

REMOTE · WWW.UXGEN.AI · SCANNED SEP 20

Ecommerce conversion for coding agents: AOV bundles, cart, upsell, imagery, page audit.

Available components

+3 this week 81 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security94
Transport & Reachability100
Schema Quality & AI Usability50
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 5940 tokens (~424/item across 14 items; 14 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management63
  • Stability check failed: schema churn in the 26 days we've observed: 0 tool removals, 4 breaking changes, 0 auth/transport breaks, 5 additions. See how to fix → Fail
Tool Coverage67
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 0% of tool parameters carry a description.Fail
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 14 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 15 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

How do I install the uxgen MCP server?

uxgen is a hosted endpoint at https://www.uxgen.ai/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · www.uxgen.ai

# add to Claude Code
claude mcp add --transport http ai-uxgen-ecommerce-conversion 'https://www.uxgen.ai/mcp'
// .cursor/mcp.json
{
  "mcpServers": {
    "ai-uxgen-ecommerce-conversion": {
      "url": "https://www.uxgen.ai/mcp"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "ai-uxgen-ecommerce-conversion": {
      "type": "http",
      "url": "https://www.uxgen.ai/mcp"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.ai-uxgen-ecommerce-conversion]
url = "https://www.uxgen.ai/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "ai-uxgen-ecommerce-conversion": {
      "type": "remote",
      "url": "https://www.uxgen.ai/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add ai-uxgen-ecommerce-conversion --url 'https://www.uxgen.ai/mcp' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  ai-uxgen-ecommerce-conversion:
    url: "https://www.uxgen.ai/mcp"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "ai-uxgen-ecommerce-conversion": {
      "Transport": "http",
      "Url": "https://www.uxgen.ai/mcp"
    }
  }
}
# add to Vellum
assistant mcp add ai-uxgen-ecommerce-conversion -t streamable-http -u 'https://www.uxgen.ai/mcp'
// mcp.json
{
  "mcpServers": {
    "ai-uxgen-ecommerce-conversion": {
      "type": "http",
      "url": "https://www.uxgen.ai/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 20 Sept 26 +1
    • This server's schema is too large to store in full, so we cannot compare its tools day to day functional
  • 19 Sept 26 0
    • This server's schema is too large to store in full, so we cannot compare its tools day to day functional
  • 18 Sept 26 +1
    • This server's schema is too large to store in full, so we cannot compare its tools day to day functional
  • 17 Sept 26 0
    • This server's schema is too large to store in full, so we cannot compare its tools day to day functional
  • 16 Sept 26 +1
    • This server's schema is too large to store in full, so we cannot compare its tools day to day functional
  • 15 Sept 26 0
    • This server's schema is too large to store in full, so we cannot compare its tools day to day functional
  • 14 Sept 26 0
    • Schema quality: 353 → 424 functional
    • This server's schema is too large to store in full, so we cannot compare its tools day to day functional
  • 13 Sept 26 +1
    • This server's schema is too large to store in full, so we cannot compare its tools day to day functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 20 Sept 2026 · Probed https://www.uxgen.ai/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=*.uxgen.ai CN=YR1,O=Let's Encrypt,C=US 4 Sept 2026 3 Dec 2026 RSA 2048 SHA256-RSA 61c663997a7d72b64e1ffc2fc3521fe5f79
SANs: *.uxgen.ai, uxgen.ai
CN=YR1,O=Let's Encrypt,C=US (CA) CN=Root YR,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 RSA 2048 SHA256-RSA a20253f15f2691c05dc1ce13b9bcca4e
CN=Root YR,O=ISRG,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 RSA 4096 SHA256-RSA f24b6d17f9d9ad7cb1c9fea78782699f

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of www.uxgen.ai. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
ai. present 3799 8 Verified
uxgen.ai. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication Enforced and verified

The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.

Result Enforced and verified
Enforced On tool calls
HTTP status 200

WWW-Authenticate challenge Bearer realm="uxgen", resource_metadata="https://www.uxgen.ai/.well-known/oauth-protected-resource/mcp", error="invalid_request", error_description="This MCP requires authorization. Your tool must open https://www.uxgen.ai/connexion to create an account, then present a token."

Bearer realm="uxgen", resource_metadata="https://www.uxgen.ai/.well-known/oauth-protected-resource/mcp", error="invalid_request", error_description="This MCP requires authorization. Your tool must open https://www.uxgen.ai/connexion to create an account, then present a token."
Header Value
strict-transport-security max-age=63072000

Protected resource metadata

Document https://www.uxgen.ai/.well-known/oauth-protected-resource/mcp
Retrieved Yes
Resource https://www.uxgen.ai/mcp
Authorisation server https://www.uxgen.ai

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://www.uxgen.ai/mcp Verified 200
http (plaintext) http://www.uxgen.ai/mcp HTTPS enforced 308 https://www.uxgen.ai/mcp
MCP tools · 14 exposed · ~4,914 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
uxgen_ameliorer ~440

⛔ NOT AVAILABLE ON THIS HOSTED SERVER — do not call it, it will refuse. WHAT IT DOES WHERE IT RUNS: it ADJUSTS THE CSS OF ONE SECTION — one to five scoped rules — and NEVER ADDS A SECTION. It is not the tool that adds a missing mechanic. WHY IT REFUSES HERE: its judge is a VISION MODEL and no vision key is configured, and its engine is not deployed on this server; a tool that "improves" a page without looking at it would be inventing its corrections. TO IMPROVE AN EXISTING PAGE: `uxgen_brief` in `improve` mode, then `uxgen_audit` with `conserver: true` — it names what to ADD and where — and `uxgen_piece` at the anchor. 🎯 THE ONLY EXTERNAL JUDGE IN THE PRODUCT, ~30 SECONDS BY DEFAULT. It is the only piece of the chain that says whether the page is BEAUTIFUL — uxgen_audit only says whether it is clean. At scope "pli" (THE DEFAULT) it judges the first screen at 390 px only: 2 to 3 vision calls, ~0.004 $. `portee: "page"` takes the whole page: ~50 calls, 20 to 40 minutes. HOW IT JUDGES: each section is captured ALONE and submitted to an external vision model that returns NO SCORE — what is wrong, what it costs, and the CSS gesture with its values. The gesture is applied, the section recaptured, and both images go back to the judge IN A RANDOMISED ORDER: if it does not pick the new one, THE GESTURE IS REVERTED. ⚠ LOOK AT THE before|after BOARDS it writes, with your image-reading tool, before you announce anything at all.

NameTypeReqDescription
largeursarray
metierstring
modelestring
porteestring
sansCroiserboolean
timeoutMsinteger

No output schema declared.

No examples provided.

uxgen_audit ~584

MEASURES A PAGE FOR REAL, IN HEADLESS CHROME, ON THIS SERVER — five widths (360, 390, 768, 1100, 1440), the computed styles, the scroll, and a robot that CLICKS the buying path. Send `html` (the page content, as text) or `url` (a live page). It writes NOTHING anywhere: it returns named gaps, each with the selector and the gesture that closes it, and NO score to chase. ⏱ EXPECT 45 TO 65 SECONDS. Measured 25/08 on a 2 KB page: 47 s at five widths. This is not a hang — do not retry, and tell your user it is running. 🧷 `conserver: true` — THE AUDIT OF A PAGE YOU KEEP (default after a brief in `improve` mode). It returns only what can be ADDED (a missing mechanic, each with its ANCHOR: « after the buy box », « before the footer ») or FIXED in place (a dead link, an image without dimensions, an illegible text). The rebuild families — canon sequence, grounds, radii, header grid, typography, signature gesture, animations, page length — are set aside, and the report says how many and which. It never points you to a tool this server does not run: an absent part is added with `uxgen_piece` at its anchor. MEASURES the page and RETURNS NAMED GAPS. A real audit in headless Chrome at 360, 390, 768, 1100 and 1440 px, on a block (`blockId`), an HTML file (`path`) or a URL (`url`). It returns the profile it used and every gap with its SELECTOR, its WEIGHT and THE GESTURE that closes it, most expensive first. 🚨 AUDIT THE PAGE, NOT THE BLOCKS: colors, radii, breathing room and distance to the price only show up on the assembled page. 🚨 NO SCORE, NO THRESHOLD, NO GO-AHEAD, and that is deliberate: nothing to clear, nothing to push up. YOU are the one who decides to ship, after LOOKING at the screenshots. Fix by the GESTURE the gap names, never by pushing a number. The response stays under 10,000 characters and SAYS what it leaves out; the full report is written next to the page in `_bloom-audit/`.

NameTypeReqDescription
arbitragearray
completboolean
conserverboolean
htmlstring
profilstring
timeoutMsinteger
transactionboolean
urlstring

No output schema declared.

No examples provided.

uxgen_brief ~629

TWO MODES, AND `improve` IS THE DEFAULT WHENEVER THE MERCHANT ALREADY HAS A STORE. `mode: "improve"` — their page is KEPT: the theme is inherited (`uxgen_theme` with `heriteDe`), `uxgen_audit` runs in conservation (`conserver: true`) and returns only what can be ADDED at an anchor or FIXED in place, each addition is inserted with `uxgen_piece` at the anchor the audit names, and a per-section diff (kept / changed / added) is shown before `uxgen_publier`. There is no « write the page » step. `mode: "rebuild"` — the construction path below. THE RULE WHEN `mode` IS NOT GIVEN: improve when `idea` says a site EXISTS (« existing », « already have », « keep », « don't rebuild », « j'ai déjà », « my store is at <URL> »); rebuild when a NEW store is the request (« build / create my store », « a brand-new site », « I don't have a store yet ») or when asked for in those words (« rebuild », « from scratch »). A new-store request wins over the possessive: « build my store » = rebuild, « improve my store » = improve. The answer names the mode and the words that decided it. CALL THIS FIRST for any page or site you are about to build, before writing a single line. It takes the user's own sentence and returns (a) the full text of the design law, (b) the CONTRACT for that trade — what has to be present, and the objection each presence kills, (c) the commerce-kit verdict, which DECIDES which mechanics apply given the nature of the object, (d) the proposed theme, (e) the seven-step path. 🚨 IT RETURNS NO PAGE PLAN AND NO BLOCK IDS, deliberately: a default plan once produced the same page for five unrelated trades. Structure, composition and the graphic gesture are YOURS; the page is written by hand. Calling this tool after you have started coding is good for one thing only: surveying the damage.

NameTypeReqDescription
adjectivestring
ancrestring
beneficestring
brandNamestring
cadeauboolean
colorstring
concurrentstring
coutReelstring
ideastringyes
intentionstring
modestring
naturestring
objectionstring
offrestring
outstring
plaintestring
preuvesstring
prixUnitairenumber
problemestring
projectDirstring
styleIdstring
traficstring
verbatimsstring
verticalstring

No output schema declared.

No examples provided.

uxgen_catalogue ~68

La vitrine. Sans argument : les rôles disponibles. Avec un rôle : les pièces de ce rôle. Ne servez-vous-en que si le client demande autre chose que ce que le squelette a posé.

NameTypeReqDescription
metierstring
rolestring

No output schema declared.

No examples provided.

uxgen_demarrer ~195

⚠️ REMOTE SERVER — THE RECIPE COMES BACK IN THE ANSWER, IT IS NOT WRITTEN TO YOUR DISK. Read it, fill it with your file editor, and pass it back to `uxgen_poser` as `recette`. Everything below is true of this tool; only the delivery differs. PREMIER GESTE, avant toute ligne de code : donnez la phrase du client telle quelle, sans rien lui demander de plus. Rend le squelette choisi, l’univers de couleur, et un gabarit de recette sur disque où il ne reste que des textes à remplacer.

NameTypeReqDescription
briefstringyes
fichesstring
languestring
marquestring
produitsarray
projetstring
squelettestring
universstring

No output schema declared.

No examples provided.

uxgen_image ~440

THE MATERIAL OF THE PAGE — scene OR packshot. Start with `emploi` and `categorie`: two words, and the prompt is written to the codes of that sector (background, light, human presence, set density, a quiet zone measured for the headline). 🚨 IT DOES NOT ONLY DO PACKSHOTS: a free `prompt` + `cutout: false` produces THE SCENE (dining room, consulting room, workbench, shopfront) — the trades with no object to cut out need exactly that. `cutout: true` = the cut-out packshot chain. It writes the image to disk, cut out once, trimmed, framed to the ratio, in WebP, and returns the <img> tag with its real dimensions. LIGHTING IS GRADED AND MEASURED AUTOMATICALLY: do not write "soft light" or "cream background", you would switch back on what the chain switches off. The details of the grading, of the uses and of the categories are returned IN THE RESPONSE.

NameTypeReqDescription
adjectivestring
ambianceboolean
aspectstring
blockIdstring
brandNamestring
categoriestring
colorstring
controlerMarqueboolean
controlerSujetboolean
cutoutboolean
emploistring
essaisnumber
herosobject
mentionsarray
namestring
outstring
outDirstring
photostring
projectDirstring
promptstring
registrestring
ressemblanceboolean
sansTexteSurObjetboolean
seriestring
slotstring
styleIdstring
subjectstringyes
surfacestring
variablesobject

No output schema declared.

No examples provided.

uxgen_packshot ~411

PUTS THE BRAND'S OWN LABEL ON A PRODUCT SHOT, and returns the produced image IN THIS RESPONSE — nothing is written to any disk. Send the photograph as `photoBase64` (raw base64, no `data:` prefix) or `photoUrl`. It checks the subject really is that product and REFUSES a dirty result rather than shipping it. COMPOSES THE CLIENT'S PRODUCT ONTO A REAL PHOTOGRAPH. It takes a studio photograph of a container with a BLANK WHITE label, detects the edges of that label at pixel level, and inlays the brand's label with a `multiply` blend: the drop shadow and the curve of the cylinder pass through the artwork, so the jar stays believable. THE FONT IS MANDATORY AND IT IS THE SITE'S FONT. No fallback — with no font, no brand or no ink, the tool REFUSES rather than printing something generic. 🚨 IT TAKES TWO CALLS. First call without `zone`: it detects, writes the proof image (magenta rectangle) and REFUSES, handing you the four numbers. You OPEN the proof. Second call with `zone`: it composes. Detection on its own mistakes a label for a blank screen or a tablecloth — composing without looking means printing the brand onto a scrap of tablecloth. 🚨 The label lives INSIDE the image, never on top of it: an HTML text overlay laid over the photo to fake a label is a named gap (V3, uxgen_audit).

NameTypeReqDescription
courbureDegnumber
encrestringyes
fondstring
lignesarray
marquestringyes
photoBase64string
photoUrlstring
policeDisplaystringyes
policeHrefstring
preuveboolean
surtitrestring
zoneobject

No output schema declared.

No examples provided.

uxgen_piece ~152

One part of the library, in the format your target wants: `format:"html"` (default) gives the self-contained HTML and the prompt that built it; `format:"liquid"` gives the SAME part as a Shopify theme section — {% schema %}, settings, presets — with the filename it goes under and the template entry to write. Give the id `uxgen_catalogue` showed you (CAPTCHA-01, PANIER-03...). Free accounts open 10 parts; a paid plan opens all 173. A locked part answers with a refusal that carries the checkout link: it is a decision, not an outage.

NameTypeReqDescription
formatstring
idstringyes

No output schema declared.

No examples provided.

uxgen_poser ~236

⚠️ REMOTE SERVER — SEND THE FILLED RECIPE AS TEXT, GET THE ASSEMBLED PAGE AS TEXT. It has no access to your disk: you send `recette`, you receive the complete HTML and you write the file. Bank photographs come back as absolute URLs on https://www.uxgen.ai — the page works the moment you save it, nothing to download. Everything below is true of this tool; only the delivery differs. DEUXIÈME GESTE, après avoir rempli la recette rendue par uxgen_demarrer. Assemble la page et la contrôle. Rend le chemin de la page et les écarts : textes trop longs, clés introuvables, fragments figés, textes de démonstration restés. Rappelez-le autant de fois que vous corrigez un texte — une repose ne coûte rien et ne décompte rien. Ensuite : `uxgen_render`. ⏱ compte 15 à 20 secondes, c’est normal : il assemble, ouvre la page et la capture.

NameTypeReqDescription
projetstringyes
recettestringyes

No output schema declared.

No examples provided.

uxgen_publier ~518

THE LAST GATE BEFORE YOU ANNOUNCE IT IS DONE — and on this hosted server it PUBLISHES NOTHING: it returns the verdict and the CONTENT to write, and YOU write the file. Send `html`. It refuses a page that carries a third party's legal identity, an invented customer review, an invented activity figure, a hand-redrawn third-party logo, two different current prices for one product, or two different dark grounds. 🔴 IT NOW REQUIRES THE RENDER SEAL. Call `uxgen_render` on the EXACT html you are about to publish, OPEN the images, then pass its `rendu` field back here unchanged. Without it the page is REFUSED — until today the absence of render data DISARMED the checks instead of refusing, which is the opposite of a guard rail. A page assembled outside the chain (taken from the merchant site, hand-written) passes with a written `motifHorsChaine`: a written reason passes, silence does not. ⚠️ The seal proves the RENDER happened on this page, never that anyone LOOKED at it. A refusal is not a failure of the tool: it names the reason, and the content it returns is then a DRAFT — write it to a `.brouillon.html` with a noindex, never to the publishable path. CALL THIS BEFORE ANNOUNCING THAT IT IS DONE, on the page you have just written. It refuses to write the page to the publishable path if it carries a third party's legal identity, an invented customer review, an invented activity statistic, a THIRD-PARTY BRAND LOGO REDRAWN BY HAND, two different current prices for the same product, or two different dark grounds. A refusal destroys nothing: the draft goes to ".brouillon.html" with a noindex, and whatever already sat at the publishable path stays INTACT. 🛒 A MULTI-ITEM SHOP HAS TO BE DECLARED: as soon as the page carries the commerce configuration written by `uxgen_theme` (two real items or more), prices are counted PRODUCT BY PRODUCT. This is not an exemption: WITHIN one product, two current prices reject the page exactly as they would on a single-product page. With no…

NameTypeReqDescription
fondsarray
forceboolean
hauteursarray
htmlstringyes
nomstring

No output schema declared.

No examples provided.

uxgen_render ~375

RENDERS YOUR PAGE AND GIVES YOU THE IMAGES BACK, in this response — nothing is written to any disk. Send `html` (the page content, as text) or `url`. You get the first screen and the full page at 390 and 1440 px, as real images you must OPEN and LOOK AT before you change anything. A page that was never looked at is the first cause of an ugly site. ⚠️ THE 8-FRAME SCROLL STRIP IS NOT RETURNED BY DEFAULT: measured at 698 KB for a text-only page, several MB for a real one. Ask for it with `bande: true` and it is served up to a hard weight cap, which the answer states. ⏱ Expect 10 to 25 seconds. MAKES THE PAGE VISIBLE. Call it as soon as the page is assembled, and after every visual fix, BEFORE the audit. It opens the page in headless Chrome (no server left running) and WRITES TO DISK: the first screen alone, the full page, and a strip of 8 frames captured during a scripted scroll, at 390 and 1440 px. It also returns what a screenshot cannot show: horizontal overflow per width, approximate LCP, transferred weight, images without dimensions. THE PATHS IT RETURNS MUST BE OPENED WITH YOUR IMAGE-READING TOOL: this tool does not judge for you, it hands you the view. Writing a page you never look at is the number one cause of ugly sites.

NameTypeReqDescription
bandeboolean
framesinteger
htmlstring
scrollWidthinteger
timeoutMsinteger
urlstring
widthsarray

No output schema declared.

No examples provided.

uxgen_seo ~201

Turns one seed keyword into an SEO PLAN built on live Google data: the keywords around it, their monthly traffic, their difficulty, who currently holds the top of each result page, and what to write to take it. It is a plan, not a report: every target comes back with the format Google is already rewarding on that query, read from the live result page rather than guessed. The search-data key lives on the uxgen server and never reaches you: you call this tool, the server calls the provider. Included from the Pack plan upwards, with a monthly allowance in dollars; one plan costs about 0.020 $ of it. When that allowance or the platform budget is spent, the refusal says so, says when it reopens, and carries `reessayable`: it is a decision, not an outage, and everything else on uxgen keeps working.

NameTypeReqDescription
grainestringyes
marchestring

No output schema declared.

No examples provided.

uxgen_status ~177

🚨 DO NOT CALL THIS TO GET YOUR BEARINGS: the path is returned by uxgen_brief, and this response is LONG (~5,500 tokens; "complet" makes it ~14,700). Two uses, and only two. (1) RESUME a build already started: with "projectDir" it reads bloom.json and returns the brand, the committed style, the images produced, the current step — the answer to "where were we?" without asking anything again. (2) DIAGNOSE a refusal: licence and tier, credits left, whether the image key is present, manifests in error. When a tool refuses to run, the cause is here. On a brand-new page, this call teaches you nothing.

NameTypeReqDescription
completboolean
projectDirstring

No output schema declared.

No examples provided.

uxgen_theme ~488

THE LOCKED GRAMMAR — call it right after `uxgen_brief` and BEFORE the first tag. Its CSS is pasted as is at the top of the page and is not retouched: that is what stops two dark grounds stacking. 🛒 THE COMMERCE KIT. Pass `commerce` and the kit is BUILT: you get back TWO VERSIONED URLS with their `integrity` — a `<link>` and a `<script>` to paste — plus the marking contract. The kit holds the buying path BY CONSTRUCTION (cart, drawer, quantity, total, free-shipping threshold, delivery date, a button that carries its amount) — it is the answer to a `uxgen_audit` that refused the transaction. ⚠️ WHY URLS AND NOT BYTES. The two files are the SAME for every merchant — measured, not assumed: the kit carries no merchant data at all, your configuration lives in your page's `<script data-ux-commerce>` tag. Sending them as text cost 400 KB (~100 000 tokens) of YOUR context, every time, for a constant. Pass `kit: true` to get the bytes anyway — for an offline page, or one that must not fetch anything at runtime. Turns a brand color and an adjective into a COMPLETE set of CSS variables: palette (3 roles + 2 derived), font pair, radii, shadows, rhythm, motion. Works in OKLCH, holds WCAG contrast, and corrects luminance when a pair fails. CALL IT RIGHT AFTER uxgen_brief AND BEFORE THE FIRST TAG, then run it again as soon as the client gives their real color. Its CSS is pasted AS IS at the top of the page and never touched up: that is what stops two dark grounds from stacking. ⚠️ YOU MUST PASS "color" OR "paletteId": "adjective" alone is REFUSED.

NameTypeReqDescription
adjectivestring
autonomeboolean
colorstring
commerceobject
dastring
fontIdstring
heriteDestring
intentionarray
kitboolean
namestring
paletteIdstring
produitstring

No output schema declared.

No examples provided.

Common questions

What is the uxgen MCP server?

uxgen is an MCP server listed in the public MCP registry as ai.uxgen/ecommerce-conversion. Ecommerce conversion for coding agents: AOV bundles, cart, upsell, imagery, page audit. This page covers its hosted endpoint (https://www.uxgen.ai/mcp).

Is the uxgen MCP server safe to use?

uxgen scores 81 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the uxgen MCP server expose?

uxgen exposes 14 tools: uxgen_brief, uxgen_theme, uxgen_image, uxgen_render, uxgen_audit, and 9 more. Their descriptions and schemas cost roughly 4,914 tokens of context every time the server is loaded.

Does the uxgen MCP server require authentication?

Yes. uxgen asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

Is the uxgen MCP server still maintained?

uxgen is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.