Uxgen vs Rakuten MCP — MCP Server Comparison | AllMCPs
Side-by-Side Model Context Protocol Comparison
Uxgen vs Rakuten MCP
In-depth architectural comparison of the Uxgen and Rakuten MCP MCP servers. Compare execution transports, security boundaries, tool capabilities, quality scores, and ready-to-paste client installation snippets for Claude, Cursor, Windsurf, and VS Code.
At a Glance & Executive Verdict
Uxgen
E-Commerce · Remote HTTP/SSE
Quality: 55/100 (Good) | Auth: No auth required
Rakuten MCP
E-Commerce · Local stdio
Quality: 60/100 (Good) | Auth: API Key required
Verdict Summary: Choose Uxgen if you need specialized E-Commerce tools running via a hosted cloud SSE transport. Choose Rakuten MCP if your workspace requires E-Commerce integration with local subprocess execution. Both servers can be configured concurrently in your client's mcpServers manifest.
Which MCP Server Should You Choose?
U
Choose Uxgen when:
You need dedicated capabilities in the E-Commerce domain.
You prefer remote streaming HTTP/SSE transport architecture.
Your security boundary fits: No auth required (Free / Open Source).
Rakuten API integration for product search, hotel and travel booking, and recipe lookup across Japan's largest e-commerce platform. Install via npx rakuten-mcp.
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.
uxgen_theme
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 and its contract reported. Pass `kit: true` as well and its two files come back IN THIS RESPONSE — `uxgen-commerce.js` and `uxgen-commerce.css`, with the relative path to write each one to. YOU write them; nothing is written here. 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.
⚠️ MEASURED 25/08: 400 KB — 333 KB of JS and 66 KB of CSS, roughly 100 000 tokens. That is why it is behind a flag and not returned by default. Ask for it ONCE, when you are ready to write the files; do not ask for it to "have a look".
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.
Ready-to-Paste Client Configurations
Paste either (or both) of these JSON server blocks into your client config file (e.g. claude_desktop_config.json or ~/.cursor/mcp.json).
Uxgen is categorized under E-Commerce and uses a remote streaming HTTP/SSE transport. In contrast, Rakuten MCP belongs to E-Commerce using local stdio subprocess. Select Uxgen when you need capabilities focused on e-commerce and Rakuten MCP when you require tools for e-commerce.
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.
uxgen_render
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.
uxgen_audit
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.
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/`.
uxgen_ameliorer
⛔ NOT AVAILABLE ON THIS HOSTED SERVER — do not call it, it will refuse. Its judge is a VISION MODEL and no vision key is configured here, so there is no judge; a tool that "improves" a page without looking at it would be inventing its corrections. Its full scope is also out of reach of any single call (~50 vision calls, 20 to 40 minutes, against a 300 s ceiling). Use `uxgen_render` — LOOK at the images yourself — then `uxgen_audit`, which does run here and names measured gaps.
🎯 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.
uxgen_status
🚨 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.
uxgen_packshot
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).
uxgen_publier
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.
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 configuration, the page is judged as single-product.
Rakuten MCP Tools (28)
ichiba_item_search
Search products on Rakuten Ichiba (Japan's largest e-commerce marketplace) by keyword. Supports price range filtering, sorting by review count/average/price, and restricting results to a specific genre or shop. Returns a paginated list of items with prices, review stats, images, and direct purchase URLs.
[JA] 楽天市場(日本最大のEコマースモール)で商品をキーワード検索します。価格範囲フィルタ、レビュー数/平均/価格による並び替え、ジャンルや店舗での絞り込みに対応。価格、レビュー、画像、購入URLを含む商品一覧をページング形式で返します。
ichiba_genre_search
Browse the Rakuten Ichiba genre (category) hierarchy. Pass '0' to list top-level genres, or a specific genre ID to fetch its ancestors, siblings, and direct children. Useful for narrowing item searches to a specific category, or for discovering what categories exist.
[JA] 楽天市場のジャンル(カテゴリ)階層を参照します。'0' を渡すとトップレベル、特定のジャンルIDを渡すと祖先・兄弟・直下の子ジャンルを取得します。商品検索を特定カテゴリに絞り込んだり、カテゴリ構造を発見するのに使えます。
ichiba_tag_search
Look up details for a specific Rakuten Ichiba tag by tag ID. Tags are facet-style attributes (size, color, etc.) attached to items. Returns the tag group this tag belongs to, the tag name, and any parent tag. Tag IDs surface in ichiba_item_search item responses (each item carries an attributeIds array) and in ichiba_genre_search.
[JA] 特定のタグIDの詳細を取得します。タグはファセット属性(サイズ、色など)で商品に紐づいています。タグ名、所属タググループ、親タグを返します。タグIDは ichiba_item_search の各商品 attributeIds や ichiba_genre_search から取得できます。
ichiba_item_ranking
Get the Rakuten Ichiba bestseller ranking — overall or filtered by genre, time period, age, and gender demographic. Returns ranked items with their rank, price, review stats, and purchase URL. Use ichiba_genre_search to find specific genre IDs.
[JA] 楽天市場の売れ筋ランキングを取得します。総合または、ジャンル/集計期間/年代/性別で絞り込み可能。順位、価格、レビュー、購入URLを含むランキング一覧を返します。ジャンルIDの検索には ichiba_genre_search を使用してください。
ichiba_product_search
Search Rakuten's Item Price Navi — cross-seller product catalogue that groups identical products across multiple shops. Returns each product with its min/max/average price across all sellers and the total number of shops carrying it. Use this (instead of ichiba_item_search) when you want to compare prices for a specific product or answer 'is this a fair price?'. Filter by maker_code to restrict to a brand.
[JA] 楽天市場の商品価格ナビを検索します。同一商品を複数店舗にまたがって集約し、最安値/最高値/平均価格と取扱店舗数を返します。特定商品の価格比較や「妥当な価格か?」を判断する用途では、ichiba_item_search ではなくこちらを使用してください。maker_code でブランド絞り込みも可能。
books_total_search
Cross-category search across Rakuten Books — books, CDs, DVDs, video games, software, magazines, and foreign-language books. Use this when you don't know which category contains the target item. For category-specific results with category-specific fields, use the books_book_search / books_cd_search / etc. tools.
[JA] 楽天ブックス(本、CD、DVD、ゲーム、ソフトウェア、雑誌、洋書)を横断検索します。カテゴリが不明な検索に使用してください。カテゴリ固有のフィールドが必要な場合は books_book_search / books_cd_search などを使用してください。
books_book_search
Search Rakuten Books for printed books by title, author, ISBN, publisher, or free-text keyword. Returns book details including ISBN, author, publisher, series, table of contents, preview URL, list price, and review stats. Pass at least one search field.
[JA] 楽天ブックスで紙の書籍を、書名・著者・ISBN・出版社・キーワードで検索します。ISBN、著者、出版社、シリーズ、目次、立ち読みURL、定価、レビューを含む書籍詳細を返します。検索条件は少なくとも1つ必須。
books_cd_search
Search Rakuten Books for music CDs by title, artist, label, or JAN code. Returns album/single details including artist, label, JAN, track list, list price, and review stats.
[JA] 楽天ブックスで音楽CDを、タイトル・アーティスト・レーベル・JANで検索します。アーティスト、レーベル、JAN、収録曲、定価、レビューを含む詳細を返します。
books_dvd_search
Search Rakuten Books for DVDs and Blu-ray discs by title, performer, label, or JAN. Returns title details with performer, label, JAN, list price, and review stats.
[JA] 楽天ブックスでDVD・Blu-rayを、タイトル・出演者・レーベル・JANで検索します。出演者、レーベル、JAN、定価、レビューを含む詳細を返します。
books_foreign_book_search
Search Rakuten Books for foreign-language (non-Japanese) books by title, author, ISBN, or publisher. Returns book details plus a Japanese-translated title field when available.
[JA] 楽天ブックスで洋書を、タイトル・著者・ISBN・出版社で検索します。書籍詳細に加え、邦題が存在する場合は japaneseTitle を返します。
books_magazine_search
Search Rakuten Books for magazines by title, publisher, or JAN. Returns issue details including publisher, JAN, publication cycle, preview URL, and review stats.
[JA] 楽天ブックスで雑誌を、タイトル・出版社・JANで検索します。出版社、JAN、発行サイクル、立ち読みURL、レビューを含む詳細を返します。
books_game_search
Search Rakuten Books for video games by title, platform/hardware (e.g., 'Nintendo Switch', 'PlayStation 5'), or JAN. Returns title details with hardware, label, JAN, list price, and review stats.
[JA] 楽天ブックスでビデオゲームを、タイトル・ハード(例: 'Nintendo Switch', 'PlayStation 5')・JANで検索します。ハード、レーベル、JAN、定価、レビューを含む詳細を返します。