Luw.ai
NPM · @LUW-AI/MCP · 2 COMPONENTS
AI interior, exterior and landscape design, photoreal rendering, image editing, video and 3D.
Available components
Last scanned (7 hours ago)
Scores higher than 88% of npm servers
Category Design and Media
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security100
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- No production dependencies, so there is no dependency health to assess. View diagnostics → Pass
Provenance & Transparency97
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Cryptographically verified build provenance (signed, bound to Luvi-io/luw-mcp). View diagnostics → Pass
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 6 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability80
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 5768 tokens (~117/item across 49 items; 24 tools + 25 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 Management33
- Stability observed for 10 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage98
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 93% of tool parameters carry a description.Partial
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 26 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
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.
- 23 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 27 to 30. That category is still filling its 30-day observation window: 8 days of observed history at the previous scan, 9 at this one. The score rises as the window fills, whether or not the server changes.
- 21 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.
- 19 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.
- 18 Oct 26 +15
- Malware scan: unverified → pass ▲ security
- 17 Oct 26 −15
- Malware scan: pass → unverified ▼ security
- Package version: 0.3.2 → 0.3.3 functional
- 16 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.
- 15 Oct 26 +33
- Injection markers: unverified → pass ▲ security
- First check of Judged manipulation: pass security
- Tool coverage: unverified → 100 ▲ functional
- Schema quality: unverified → 100 ▲ functional
- MCP protocol: unverified → pass ▲ functional
- Stability: unverified → 0.03 ▲ functional
- First check of Schema quality: fail functional
- First check of Schema quality: fail functional
- First check of Tool coverage: 93 functional
- First check of Destructive annotations: 100 functional
- First check of Schema quality: good functional
- 14 Oct 26 0
- Injection markers: unverified → pass ▲ security
- First check of Judged manipulation: pass security
- Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
- Tool coverage: unverified → 100 ▲ functional
- Schema quality: unverified → 100 ▲ functional
- MCP protocol: unverified → pass ▲ functional
- First check of Schema quality: fail functional
- First check of Schema quality: fail functional
- First check of Tool coverage: 93 functional
- First check of Destructive annotations: 100 functional
- First check of Schema quality: good functional
- Package version: 0.3.0 → 0.3.2 functional
- Package version: 0.3.0 → 0.3.1 functional
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 24 Oct 2026 · Analysed npm/@luw-ai/mcp@0.3.3
Provenance Verified
A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.
| Result | Verified |
|---|---|
| Ecosystem | npm |
| Reason | Verified |
| Discovered via | Registry attestation endpoint |
| Source repo | Luvi-io/luw-mcp |
| Certificate issuer | https://token.actions.githubusercontent.com |
| Certificate SAN | https://github.com/Luvi-io/luw-mcp/.github/workflows/release.yml@refs/tags/v0.3.3 |
| Rekor log index | 3295993831 |
| Predicate type | SLSA build provenance https://slsa.dev/provenance/v1 |
| Subject digest | sha512:865513f80a4731e503ebda75893b40cb8beebbb5bf2c4d08984dbc6d482cb18635838997f8a78092cde257ded6ba9a6ac5a983aa805111e48537c5a7e |
Background: How many MCP packages publish verified provenance →
Dependencies 0 packages
| Packages resolved | 0 |
|---|---|
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
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 →
luw_archigpt Ask ArchiGPT (architecture & design expert) ~166
Ask Luw.ai's ArchiGPT, an AI architect: design advice, feng shui, space planning, material and color suggestions, technical questions, and estimating square meters from a photo or plan. Attach an image to discuss it. Each call is a standalone question, so put the details it depends on into the message. Costs 1 credit per ~3000 words.
| Name | Type | Req | Description |
|---|---|---|---|
| image | string | – | Image to discuss (https:// URL, local file path, or data: URI). |
| language | string | – | Reply language, e.g. "en" or "tr". Auto-detected when omitted. |
| message | string | yes | Your question or message, with the details it depends on. |
| persona_id | integer | – | Persona that remembers this conversation. |
No output schema declared.
No examples provided.
luw_background Remove or replace background ~163
Luw.ai Change Background: cut out a product/object from its background (transparent PNG) — or, with a prompt, place it in a new generated scene for marketing shots ("on a marble kitchen counter, morning light"). Omit prompt to just remove the background. Costs 1 credit.
| Name | Type | Req | Description |
|---|---|---|---|
| engine | string | – | Luw.ai model: aria (default) or symphony (Symphony-3). |
| enhance_prompt | boolean | – | Let Luw.ai's prompt enhancer expand a short prompt. |
| format | string | – | Output image format. |
| image | string | yes | Product or object photo (https:// URL, local file path, or data: URI). |
| prompt | string | – | New background to generate. Leave empty to remove the background. |
No output schema declared.
No examples provided.
luw_edit_image Edit image with a prompt (Magic Prompt AI) ~259
Luw.ai Magic Prompt AI: edit any image with a plain-language instruction: "make the sofa green velvet", "add a pendant lamp over the table", "turn it into a night scene". Pass products, materials or a mood board as reference_images to place or apply them. For edits restricted to an exact area, use luw_magic_wand. Costs 1 credit per variation.
| Name | Type | Req | Description |
|---|---|---|---|
| engine | string | – | Model: aria (default), symphony (Symphony-3) or nano-banana-2. |
| enhance_prompt | boolean | – | Let Luw.ai's prompt enhancer expand a short prompt. |
| format | string | – | Output image format. |
| image | string | yes | Image to edit (https:// URL, local file path, or data: URI). |
| prompt | string | yes | The edit to make. |
| reference_images | array | – | Up to 6 reference images (furniture, materials, products, mood boards) to draw from. |
| resolution | string | – | Output resolution (default 2k). |
| seed | integer | – | Fix for reproducible results. |
| variations | integer | – | Number of alternative designs (1-4, default 1); each is billed as a generation. |
No output schema declared.
No examples provided.
luw_expand_image Expand a cropped photo ~98
Luw.ai Expand AI: outpaint a tightly cropped architectural or interior photo to a wider view. Costs 1 credit.
| Name | Type | Req | Description |
|---|---|---|---|
| format | string | – | Output image format. |
| image | string | yes | Photo to expand (https:// URL, local file path, or data: URI). |
| precision | integer | – | How strictly to keep the input's structure: 90 = precise, 75 = balanced, 40 = creative. |
No output schema declared.
No examples provided.
luw_exterior_design Exterior design (Exterior AI) ~388
Luw.ai Exterior AI: redesign a building exterior or facade photo — houses, villas, apartments, commercial buildings — in a new architectural style, with new materials, colors and landscaping, keeping the structure. Costs 1 credit per variation.
| Name | Type | Req | Description |
|---|---|---|---|
| building_type | string | – | Building/space type, e.g. "Modern House Exterior", "Luxury Villa Exterior", "Outdoor Patio" (see luw_list_options kind="exterior_types"). |
| engine | string | – | Luw.ai model: aria (default) or symphony (Symphony-3). |
| enhance_prompt | boolean | – | Let Luw.ai's prompt enhancer expand a short prompt. |
| format | string | – | Output image format. |
| image | string | yes | Photo of the building (https:// URL, local file path, or data: URI). |
| persona_id | integer | – | Persona whose saved images and style knowledge to use. |
| precision | integer | – | How strictly to keep the input's structure: 90 = precise, 75 = balanced, 40 = creative. |
| prompt | string | – | What you want, in plain language. |
| reference_images | array | – | Up to 6 reference images (furniture, materials, products, mood boards) to draw from. |
| seed | integer | – | Fix for reproducible results. |
| style_reference | string | – | Style-transfer source: an image whose look to copy (https:// URL, local file path, or data: URI), or "persona" to use slot 1 of persona_id. |
| styles | array | – | Design style names, e.g. ["Scandinavian"]; for Japandi use ["Japanese Design", "Scandinavian"]. Case-sensitive; see luw_list_options. |
| variations | integer | – | Number of alternative designs (1-4, default 1); each is billed as a generation. |
No output schema declared.
No examples provided.
luw_generate_image Text to image (Fluw AI) ~251
Luw.ai Fluw AI: generate a photorealistic image or illustration from a text prompt (optionally guided by an input image) — concept art, interiors, products, marketing visuals. Set format="svg" for a vector illustration (Fluw Vector AI). Costs 2 credits per image.
| Name | Type | Req | Description |
|---|---|---|---|
| aspect_ratio | string | – | – |
| engine | string | – | Luw.ai model: aria (default) or symphony (Symphony-3). |
| enhance_prompt | boolean | – | Let Luw.ai's prompt enhancer expand a short prompt. |
| format | string | – | Output format; svg switches to Fluw Vector AI. |
| image | string | – | Optional guide image (https:// URL, local file path, or data: URI). |
| prompt | string | yes | What to generate. |
| seed | integer | – | Fix for reproducible results. |
| styles | array | – | Design style names, e.g. ["Scandinavian"]; for Japandi use ["Japanese Design", "Scandinavian"]. Case-sensitive; see luw_list_options. |
| variations | integer | – | Number of alternative designs (1-4, default 1); each is billed as a generation. |
No output schema declared.
No examples provided.
luw_generate_pattern Seamless pattern / texture (Pattern AI) ~179
Luw.ai Pattern AI: generate a seamless, tileable pattern or texture — tiles, wallpaper, fabric, terrazzo, wood, stone — ready to repeat across a surface. Costs 1 credit.
| Name | Type | Req | Description |
|---|---|---|---|
| engine | string | – | Luw.ai model: aria (default) or symphony (Symphony-3). |
| enhance_prompt | boolean | – | Let Luw.ai's prompt enhancer expand a short prompt. |
| format | string | – | Output image format. |
| image | string | – | Optional reference image (https:// URL, local file path, or data: URI). |
| prompt | string | yes | The pattern, e.g. "blue and white Moroccan zellige tiles". |
| size | – | – | Output size in px. aria: 512 or 768 (default); symphony: 512 or 1024 (default). |
No output schema declared.
No examples provided.
luw_generate_video Image to cinematic video (Video AI) ~325
Luw.ai Video AI (Motion): animate a design image into a short cinematic video — fly-throughs, dolly moves, drone shots, reveals. Camera motions: A Forward Dolly, Flythrough Cinematic, Return to Empty Room, Lighting and Color Details, Drone flying to center, Dramatic Zoom Out, Reverse Zoom In, Slow Pull Back, Reveal Zoom, Ground to Sky Tilt, Side Tracking Zoom, Aerial Descent. Pass end_image to make the video end on that frame, e.g. the original photo as image and its redesign as end_image for a before → after transition. Takes a few minutes — expect a processing_url to collect with luw_get_result. Costs 10 credits (aria) or 20 (symphony), with or without end_image.
| Name | Type | Req | Description |
|---|---|---|---|
| camera_motion | string | – | One of the camera motions listed above, e.g. "Flythrough Cinematic". |
| end_image | string | – | Optional end frame the video moves to; use the start frame's aspect ratio (https:// URL, local file path, or data: URI). |
| engine | string | – | Luw.ai model: aria (default) or symphony (Symphony-3). |
| enhance_prompt | boolean | – | Let Luw.ai's prompt enhancer expand a short prompt. |
| image | string | yes | Start frame (a render or photo) (https:// URL, local file path, or data: URI). |
| prompt | string | – | What should happen in the video. |
| seed | integer | – | Fix for reproducible results. |
No output schema declared.
No examples provided.
luw_get_result Get generation result ~138
Collect the result of a Luw.ai generation that was still processing (tools return a processing_url when a job outlasts their wait). Waits for the job to finish (up to the server's wait limit) — call again if it's still running. Free; never re-run a generation instead.
| Name | Type | Req | Description |
|---|---|---|---|
| processing_url | string | yes | The processing_url returned by a generation tool. |
| source_image | string | – | The source returned with that processing_url (the job's input image), so the result is shown before and after. |
| wait | boolean | – | Wait for completion (default true). false = check once and return immediately. |
No output schema declared.
No examples provided.
luw_image_to_3d Image to 3D model (3DGen AI) ~206
Luw.ai 3DGen AI: generate a textured 3D model (GLB) from a photo of an object — furniture, decor, products. Add up to 3 photos from other angles for better accuracy. For text-to-3D, first make an image with luw_generate_image. Costs 3 credits (aria) or 8 (symphony).
| Name | Type | Req | Description |
|---|---|---|---|
| engine | string | – | Luw.ai model: aria (default) or symphony (Symphony-3). |
| extra_angles | array | – | – |
| image | string | yes | Photo of the object (https:// URL, local file path, or data: URI). |
| reflections | boolean | – | Enable reflective materials (symphony engine only). |
| seed | integer | – | Fix for reproducible results. |
| simplify | integer | – | Mesh simplification level (0 = off, default). |
| texture | integer | – | Texture size setting (0 = default). |
No output schema declared.
No examples provided.
luw_interior_design Interior design (Interior AI) ~428
Luw.ai Interior AI: redesign an interior photo — home, office, shop, hotel — in any style while keeping the room's architecture. Restyles furniture, materials, colors and lighting. Set empty_room=true to furnish an empty room or turn it into another room type (virtual staging). Costs 1 credit per variation.
| Name | Type | Req | Description |
|---|---|---|---|
| empty_room | boolean | – | Furnish from scratch / convert the room to room_type (Fill Empty Room mode). |
| engine | string | – | Luw.ai model: aria (default) or symphony (Symphony-3). |
| enhance_prompt | boolean | – | Let Luw.ai's prompt enhancer expand a short prompt. |
| format | string | – | Output image format. |
| image | string | yes | Photo of the room (https:// URL, local file path, or data: URI). |
| persona_id | integer | – | Persona whose saved images and style knowledge to use. |
| precision | integer | – | How strictly to keep the input's structure: 90 = precise, 75 = balanced, 40 = creative. |
| prompt | string | – | What you want, in plain language. |
| reference_images | array | – | Up to 6 reference images (furniture, materials, products, mood boards) to draw from. |
| room_type | string | – | Room type, e.g. "Living Room", "Kitchen", "Bedroom", "Home Office" (see luw_list_options kind="interior_types"). |
| seed | integer | – | Fix for reproducible results. |
| style_reference | string | – | Style-transfer source: an image whose look to copy (https:// URL, local file path, or data: URI), or "persona" to use slot 1 of persona_id. |
| styles | array | – | Design style names, e.g. ["Scandinavian"]; for Japandi use ["Japanese Design", "Scandinavian"]. Case-sensitive; see luw_list_options. |
| variations | integer | – | Number of alternative designs (1-4, default 1); each is billed as a generation. |
No output schema declared.
No examples provided.
luw_landscape_design Landscape & garden design (Landscape AI) ~221
Luw.ai Landscape AI: design a garden, yard or outdoor area inside a masked region of a photo, with plants chosen for the location's climate and sun exposure. Costs 1 credit.
| Name | Type | Req | Description |
|---|---|---|---|
| city | string | – | Location, for climate-appropriate planting, e.g. "Antalya". |
| enhance_prompt | boolean | – | Let Luw.ai's prompt enhancer expand a short prompt. |
| format | string | – | Output image format. |
| image | string | yes | Photo of the outdoor area (https:// URL, local file path, or data: URI). |
| mask_image | string | yes | Black/white mask, white = area to landscape (https:// URL, local file path, or data: URI). |
| prompt | string | – | What you want, in plain language. |
| seed | integer | – | Fix for reproducible results. |
| sun_exposure | string | – | e.g. "Full sun (6+ hours)", "Partial sun (4 - 6 hours)", "Shade (less than 4 hours)". |
No output schema declared.
No examples provided.
luw_list_options List styles, room types, materials… ~99
Look up valid values for other Luw.ai tools: design_styles (styles param), interior_types (room_type), exterior_types (building_type), video_styles (camera_motion), materials (Magic Wand material_image catalog), professions (persona profession). Free.
| Name | Type | Req | Description |
|---|---|---|---|
| details | boolean | – | Include descriptions and preview image URLs (longer output). |
| kind | string | yes | – |
| search | string | – | Case-insensitive filter on names/descriptions. |
No output schema declared.
No examples provided.
luw_magic_wand Masked edit: replace, remove, change material (Magic Wand AI) ~310
Luw.ai Magic Wand AI: change only a masked area of an image. Give a prompt to add/replace what's there, remove=true to erase it, or material_image to re-surface it (e.g. new flooring or wall tiles). The mask is a black-and-white image the same size as the input; white marks the area to change. Get masks from luw_segment. Costs 1 credit.
| Name | Type | Req | Description |
|---|---|---|---|
| engine | string | – | Luw.ai model: aria (default) or symphony (Symphony-3). |
| enhance_prompt | boolean | – | Let Luw.ai's prompt enhancer expand a short prompt. |
| format | string | – | Output image format. |
| image | string | yes | Image to edit (https:// URL, local file path, or data: URI). |
| keep_structure | boolean | – | Preserve the masked area's geometry/lines while changing its look (structure-guided fill). |
| mask_image | string | yes | Black/white mask, white = area to change (https:// URL, local file path, or data: URI). |
| material_image | string | – | Material/texture to apply to the masked area (https:// URL, local file path, or data: URI); luw_list_options kind="materials" has a ready-made catalog. |
| prompt | string | – | What to put in the masked area. |
| remove | boolean | – | Remove whatever is in the masked area. |
| seed | integer | – | Fix for reproducible results. |
No output schema declared.
No examples provided.
luw_personas Manage personas & their training images ~368
Personas hold a reusable design identity: style knowledge plus saved images (trainings). Slots 1-6 train the persona's visual style (slot 1 is the style-transfer reference used by style_reference="persona"), slot 7 is the default input image, 8+ are free-form data; add_training without a slot "likes" a design. Pass persona_id to generation tools to use one. Actions: list, get, create, update, delete, list_trainings, add_training, update_training, delete_training, clear_slot.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| extras | string | – | Extra metadata, e.g. the prompt behind a liked design. |
| image | string | – | Training image (https:// URL, local file path, or data: URI); stored permanently. |
| info | string | – | Description of the training image. |
| knows | string | – | Comma-separated style knowledge, e.g. "Modern,Minimalism" or room/building types. |
| limit | integer | – | list / list_trainings: items per page (default 20). |
| name | string | – | – |
| page | integer | – | list / list_trainings: page number (default 1). |
| persona_id | integer | – | – |
| profession | string | – | Tool the persona belongs to, e.g. Interior, Exterior, MagicPrompt, MagicWand, Enhance, Video, Render, 3DGen, Fluw, Sketch, Landscape, MoodBoard, ArchiGPT. For list: only that tool's personas (fast). |
| search | string | – | list: filter by name/title/knows. |
| slot | integer | – | – |
| title | string | – | Short description of the persona. |
| training_id | integer | – | – |
No output schema declared.
No examples provided.
luw_projects Manage Luw.ai projects, folders & media ~224
Organize work in Luw.ai projects (called boards in the API), with nested folders and media. Use add_media to save generated results into a project. Actions: list, get, create, rename, delete, list_folders, create_folder, update_folder, delete_folder, add_media, delete_media, move_media.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| control_image | string | – | add_media: optional source/reference image, e.g. the original photo of a redesign. |
| extras | string | – | add_media: metadata as a JSON string, e.g. {"prompt": "…"}. |
| folder_id | integer | – | Folder to act on, or target folder for add_media/move_media (omit = project root). |
| media_id | integer | – | – |
| name | string | – | Project or folder name. |
| parent_id | integer | – | Parent folder for nested folders. |
| project_id | integer | – | – |
| url | string | – | add_media: the media (https:// URL, local file path, or data: URI). |
No output schema declared.
No examples provided.
luw_remove_furniture Empty a room ~103
Luw.ai Remove Furniture AI: remove the furniture from a room photo, keeping walls, floor and windows. Costs 1 credit.
| Name | Type | Req | Description |
|---|---|---|---|
| format | string | – | Output image format. |
| image | string | yes | Photo of the furnished room (https:// URL, local file path, or data: URI). |
| precision | integer | – | How strictly to keep the input's structure: 90 = precise, 75 = balanced, 40 = creative. |
No output schema declared.
No examples provided.
luw_render Photorealistic render (Render AI) ~209
Luw.ai Render AI: turn a 3D model view, CAD/BIM screenshot, clay render or basic visualization into a photorealistic architectural render. Costs 1 credit per variation.
| Name | Type | Req | Description |
|---|---|---|---|
| engine | string | – | Luw.ai model: aria (default) or symphony (Symphony-3). |
| format | string | – | Output image format. |
| image | string | yes | The 3D view or base render (https:// URL, local file path, or data: URI). |
| precision | integer | – | How strictly to keep the input's structure: 90 = precise, 75 = balanced, 40 = creative. |
| prompt | string | – | What you want, in plain language. |
| reference_images | array | – | Up to 6 reference images (furniture, materials, products, mood boards) to draw from. |
| variations | integer | – | Number of alternative designs (1-4, default 1); each is billed as a generation. |
No output schema declared.
No examples provided.
luw_run_model Run any Luw.ai model (advanced) ~204
Call POST /generate with raw API parameters, for models or options the dedicated tools don't cover (e.g. persona-slot inputs, webhooks). Models: interior, exterior, sketch, render, magicprompt, magicwand, moodboard, landscape, enhance, expand, vector, removefurniture, segment, segmentprompt, fluw, fluwvector, pattern, changebg, removebg, video, 3dgen. Parameter reference: https://luw-ai.gitbook.io/api. Image fields (image, end_image, mask_image, material_image, style_transfer, extra_image_1…6) also accept local paths and data: URIs. Spends credits like the model's own tool.
| Name | Type | Req | Description |
|---|---|---|---|
| model | string | yes | Model id, e.g. interior or magicprompt. |
| params | object | – | Other /generate parameters, e.g. {"image": "…", "prompt": "…", "precise": 75}. |
No output schema declared.
No examples provided.
luw_segment Segment objects into masks (Segment AI) ~156
Luw.ai Segment AI: detect objects in a photo and return black-and-white masks as image URLs — every object (wall, floor, sofa, …) or only what you describe in prompt. Feed a mask URL into luw_magic_wand or luw_landscape_design to edit exactly that area. Costs 1 credit.
| Name | Type | Req | Description |
|---|---|---|---|
| image | string | yes | Photo to segment (https:// URL, local file path, or data: URI). |
| labels | array | – | Keep only masks whose label contains one of these words (e.g. ["floor", "wall"]). |
| prompt | string | – | What to segment, e.g. "walls", "the sofa", "lawn". Omit to segment everything. |
No output schema declared.
No examples provided.
luw_sketch_to_render Sketch to render (Sketch AI) ~332
Luw.ai Sketch AI: turn a hand sketch, line drawing, floor-plan perspective or rough draft into a photorealistic render. Costs 1 credit per variation.
| Name | Type | Req | Description |
|---|---|---|---|
| engine | string | – | Luw.ai model: aria (default) or symphony (Symphony-3). |
| enhance_prompt | boolean | – | Let Luw.ai's prompt enhancer expand a short prompt. |
| format | string | – | Output image format. |
| image | string | yes | The sketch or drawing (https:// URL, local file path, or data: URI). |
| persona_id | integer | – | Persona whose saved images and style knowledge to use. |
| precision | integer | – | How strictly to keep the input's structure: 90 = precise, 75 = balanced, 40 = creative. |
| prompt | string | – | What you want, in plain language. |
| seed | integer | – | Fix for reproducible results. |
| space_type | string | – | What the sketch shows, e.g. "Living Room" or "Modern House Exterior". |
| style_reference | string | – | Style-transfer source: an image whose look to copy (https:// URL, local file path, or data: URI), or "persona" to use slot 1 of persona_id. |
| styles | array | – | Design style names, e.g. ["Scandinavian"]; for Japandi use ["Japanese Design", "Scandinavian"]. Case-sensitive; see luw_list_options. |
| variations | integer | – | Number of alternative designs (1-4, default 1); each is billed as a generation. |
No output schema declared.
No examples provided.
luw_upload_file Upload a file to Luw.ai ~167
Upload an image, video or 3D file to Luw.ai storage and get a URL usable by every Luw.ai tool. Rarely needed: all tools already accept local paths and data: URIs and upload them automatically. Useful to get a shareable URL, to re-host an image from a site Luw.ai can't reach, or to store a file permanently.
| Name | Type | Req | Description |
|---|---|---|---|
| persistent | boolean | – | Keep the file in your Luw.ai storage permanently. Default: temporary, auto-deleted after 12 hours. |
| persona_id | integer | – | Persona to store a persistent file under (default: your first persona). |
| source | string | yes | Local file path, file:// URL, data: URI, or an https:// URL to copy into Luw.ai storage. |
No output schema declared.
No examples provided.
luw_upscale_image Upscale an image ~124
Luw.ai Photo Enhance AI: enhance the quality of an image and enlarge it 2x, 4x or 8x. Costs 1 credit.
| Name | Type | Req | Description |
|---|---|---|---|
| format | string | – | Output image format. |
| image | string | yes | Image to upscale (https:// URL, local file path, or data: URI). |
| precision | integer | – | How strictly to keep the input's structure: 90 = precise, 75 = balanced, 40 = creative. |
| scale | – | – | 2, 4 or 8 (default 2). |
No output schema declared.
No examples provided.
luw_vectorize_image Convert an image to SVG ~59
Luw.ai Vector AI: convert a photo or drawing into a clean SVG vector. Costs 1 credit.
| Name | Type | Req | Description |
|---|---|---|---|
| image | string | yes | Photo or drawing to vectorize (https:// URL, local file path, or data: URI). |
No output schema declared.
No examples provided.
How do I install the Luw.ai MCP server?
Luw.ai runs locally as an npm package, launched with npx -y @luw-ai/mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · @luw-ai/mcp
claude mcp add ai-luw-mcp -- npx -y @luw-ai/mcp
What is the Luw.ai MCP server?
Luw.ai is an MCP server listed in the public MCP registry as ai.luw/mcp. AI interior, exterior and landscape design, photoreal rendering, image editing, video and 3D. This page covers its npm package (@luw-ai/mcp).
Is the Luw.ai MCP server safe to use?
Luw.ai scores 86 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 24 October 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. 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 Luw.ai MCP server expose?
Luw.ai exposes 24 tools: luw_interior_design, luw_exterior_design, luw_sketch_to_render, luw_render, luw_edit_image, and 19 more. Their descriptions and schemas cost roughly 5,177 tokens of context every time the server is loaded.
Is the Luw.ai MCP server still maintained?
Luw.ai is still listed as active in the MCP registry. We last reached this channel on 24 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the Luw.ai MCP server under?
Luw.ai declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.