uxgen

ai.uxgen由 uxgen.ai 发布官方发布者v1.0.0更新于 Oct 24, 2026

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

已验证Streamable HTTP可网页运行数据与分析商业与电商媒体与设计

概览

AI 生成的概览

一个托管型 MCP 服务器,帮助编程助手构建并审查电商落地页:简报、主题、图像、页面渲染、审查与 SEO 方案。

可以做什么
规划页面:获取简报、锁定的主题语法和带版本化链接的电商组件包,或从项目目录恢复已有构建,并按角色和组件格式(HTML 或 Shopify Liquid)浏览组件目录。生成视觉素材:生成场景或产品图,并把品牌自有标签贴到产品照片上,结果直接在响应中返回。渲染与测量:从 HTML 或网址渲染页面,输出移动端和桌面端宽度的截图,并在无头 Chrome 中以五种宽度审查页面,由机器人点击购买路径。检查与发布:获取发布前的判定和待写入的内容,并把一个种子关键词转化为基于实时 Google 数据的 SEO 方案。
适用场景
当助手正在构建或改进电商店铺页面,需要结构化的设计指导、生成的产品图、真实渲染截图、测量出的布局问题或 SEO 方案时使用。适合已有店铺、希望改进现有页面而非从零开始的商家。
运行要求
远程 streamable HTTP 端点;未声明软件包、环境变量或请求头。部分工具需要页面 HTML 或在线网址,图像工具需要 base64 或照片网址。SEO 工具依赖实时 Google 数据,意味着服务器端需要网络访问。
安装前请注意
多个工具返回的内容需由助手自行写入磁盘,服务器端不写任何文件。发布检查会拒绝带有第三方合法身份、虚构评价或虚构数据的页面,因此生成的文案应人工核对。银行照片以提供商域名下的绝对网址返回,你提交的页面 HTML 或网址会在提供商服务器上处理。有一个工具在此托管服务器上不可用,调用会被拒绝。

安装

在 SourceWeft 中

  1. 打开 控制台中的 uxgen,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/ai.uxgen%2Fecommerce-conversion/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "uxgen": {
      "type": "http",
      "url": "https://www.uxgen.ai/mcp"
    }
  }
}

工具

14

uxgen_brief

Brief — the design law, the trade contract, the path

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.

输入参数outidea必填modeancrecoloroffrecadeaunaturetraficplaintepreuvesstyleId另有 12 个

uxgen_theme

Theme — OKLCH palette, fonts, radii, motion

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.

输入参数dakitnamecolorfontIdproduitautonomecommerceheriteDeadjectiveintentionpaletteId

uxgen_image

Image — the material of the page: scene or packshot, generated, framed, written

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.

输入参数outnameslotcolorherosphotoserieaspectcutoutemploiessaisoutDir另有 17 个

uxgen_render

Render — screenshots on disk, to be LOOKED AT

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.

输入参数urlhtmlbandeframeswidthstimeoutMsscrollWidth

uxgen_audit

Audit — the law applied mechanically, gaps named

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/`.

输入参数urlhtmlprofilcompletarbitrageconservertimeoutMstransaction

uxgen_ameliorer

Improve — the first screen judged by an outside eye that does not know which one is new

⛔ 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.

输入参数metiermodeleporteelargeurstimeoutMssansCroiser

uxgen_status

Status — resume a build already started, or diagnose a refusal

🚨 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.

输入参数completprojectDir

uxgen_packshot

Packshot — the brand label on a real photograph

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).

输入参数fondzoneencre必填lignesmarque必填preuvephotoUrlsurtitrepoliceHrefcourbureDegphotoBase64policeDisplay必填

uxgen_publier

Publish — the refusal lands on the FILE, not on a warning

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 c

输入参数nomhtml必填fondsforcehauteurs

uxgen_seo

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.

输入参数graine必填marche

uxgen_piece

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.

输入参数id必填format

uxgen_demarrer

⚠️ 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.

输入参数brief必填ficheslanguemarqueprojetuniversproduitssquelette

uxgen_poser

⚠️ 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.

输入参数projet必填recette必填

uxgen_catalogue

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é.

输入参数rolemetier

版本历史

1
  1. v1.0.0最新Sep 16, 2026

评分

已满足适用检查项的 72%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分

    请在注册中心条目中发布图标。

  • 文档15 分

    请声明包含 README 的 GitHub 仓库,或在 OAuth 受保护资源元数据中提供 resource_documentation。

  • 许可证不适用

    托管服务按其提供方的条款使用,因此这里不要求许可证。此检查项不计入百分比。