# Luw.ai

> AI interior, exterior and landscape design, photoreal rendering, image editing, video and 3D.

- name: ai.luw/mcp
- version: 0.3.3
- connection class: R2 (oauth_consent_once)
- trust: 96/100
- quality: 92/100 (strong)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/ai.luw%2Fmcp
- tools: https://api.protogrid.dev/v1/servers/ai.luw%2Fmcp/tools

**An agent can connect after a one-time OAuth consent by a human.** Remote endpoint behind OAuth 2. Tokens stay with the agent; the registry only exposes the authorization metadata.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "luw": {
      "type": "http",
      "url": "https://mcp.luw.ai/mcp",
      "headers": {
        "Authorization": "Bearer ${LUW_TOKEN}"
      }
    }
  }
}
```

Placeholders to fill: `${LUW_TOKEN}`.

## Trust

- hygiene: 100
- liveness: 100
- freshness: 100
- provenance: 85
- drivers: +repository +dns-namespace +website +reachable +uptime-100% +updated-3d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 92/100 (strong)

### protocol: n/a (weight 25)

- n/a `protocol.modern`, `protocol.stateless`, `protocol.transport`, `protocol.list_ttl`: no remote answered a protocol handshake (not probed yet, unreachable, or local-only)

### authorization: 83 (weight 15)

- pass `auth.prm`: Protected Resource Metadata (RFC 9728) published
- pass `auth.as_metadata`: authorization server metadata reachable
- warn `auth.cimd`: only Dynamic Client Registration, deprecated in 2026-07-28 in favour of CIMD
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 93 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 21 of 21 tools declare readOnlyHint or destructiveHint
- warn `tools.directory_hints`: 19 of 21 tools declare all four hints; missing: luw_list_options (destructiveHint, idempotentHint); luw_get_result (destructiveHint, idempotentHint)
- pass `tools.token_cost`: about 7,609 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: no tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: deps.dev does not know @luw-ai/mcp@0.3.3

- tools: 21, about 7,609 tokens to load them all
- tool set hash: f79a3ebc34a880f255f2559cbdd171d1
- badge: [![protogrid quality](https://protogrid.dev/badge/ai.luw/mcp.svg)](https://protogrid.dev/servers/ai.luw/mcp)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Dependencies

- npm @luw-ai/mcp@0.3.3: unknown

Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0.

## Remotes

- https://mcp.luw.ai/mcp (streamable-http, auth oauth2, reachable true, uptime30d 1)

## Packages

- npm @luw-ai/mcp@0.3.3 secrets: LUW_API_KEY

## Tools (21)

- `luw_archigpt`: 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. Pass earlier turns in history to continue a conversation. Costs 1 credit per ~3000 words.
- `luw_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.
- `luw_edit_image`: 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.
- `luw_exterior_design`: 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.
- `luw_generate_image`: 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.
- `luw_generate_pattern`: Generate a seamless, tileable pattern or texture — tiles, wallpaper, fabric, terrazzo, wood, stone — ready to repeat across a surface. Costs 1 credit.
- `luw_generate_video`: 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. Takes a few minutes — expect a processing_url to collect with luw_get_result. Costs 10 credits (aria) or 20 (symphony).
- `luw_get_result`: 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.
- `luw_image_to_3d`: 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).
- `luw_image_tools`: One-step image utilities, 1 credit each:
- upscale: enhance quality and enlarge 2x/4x/8x (Photo Enhance AI)
- expand: outpaint a tightly cropped architectural photo to a wider view (Expand AI)
- remove_furniture: empty a furnished room, keeping walls, floor and windows (Remove Furniture AI)
- vectorize: convert a photo or drawing into a clean SVG vector (Vector AI)
- `luw_interior_design`: 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.
- `luw_landscape_design`: 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.
- `luw_list_options`: 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.
- `luw_magic_wand`: 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.
- `luw_personas`: 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.
- `luw_projects`: 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.
- `luw_render`: Turn a 3D model view, CAD/BIM screenshot, clay render or basic visualization into a photorealistic architectural render. Costs 1 credit per variation.
- `luw_run_model`: 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, 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.
- `luw_segment`: 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.
- `luw_sketch_to_render`: Turn a hand sketch, line drawing, floor-plan perspective or rough draft into a photorealistic render. Costs 1 credit per variation.
- `luw_upload_file`: 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.
