Luw.ai

ai.luwv0.1.0更新于 Oct 7, 2026

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

已验证Streamable HTTP可网页运行AI & MLMedia & Design

概览

AI 生成的概览

让助手通过 Luw.ai 生成和编辑室内、室外与景观设计、照片级渲染图、图像、视频和 3D 模型。

功能
Luw.ai 提供房间与建筑外立面改造、空房虚拟布置、草图转渲染、用一句话编辑图像、蒙版编辑、去背景、放大、分割、无缝图案生成、文生图、图生视频和图生 3D 等工具。还包含 AI 建筑师对话,以及列出选项、上传文件、获取长时间任务结果、管理风格身份和项目等免费辅助工具。结果以图像形式内嵌返回,耗时较长的任务会返回处理链接供助手稍后获取。
适用场景
适合在 MCP 客户端内完成设计或渲染工作:给房间照片换风格、为房源做虚拟布置、把草图或 3D 视图变成照片级渲染图、编辑产品图,或根据图片生成短视频和 3D 模型。
运行要求
需要 Luw.ai API 密钥:本地 npm 包通过环境变量 LUW_API_KEY 提供,托管端点通过 Authorization Bearer 请求头提供。本地包需要 Node.js 18 或更高版本;托管服务器无需安装。可选设置包括 LUW_OUTPUT_DIR、LUW_TOOLSETS、LUW_WAIT_TIMEOUT_SECONDS、LUW_INLINE_IMAGES 和 LUW_API_BASE_URL。
安装前请注意
每次生成都会消耗 Luw.ai 积分,每个变体单独计费,视频和 3D 费用更高。API 密钥属于机密,把密钥放在查询参数里的链接任何人拿到都能使用。传给工具的本地文件会作为临时文件上传到 Luw.ai 存储。托管服务器无法读取本地文件,需使用图片链接或本地安装方式。

安装

在 SourceWeft 中

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

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

其他 MCP 客户端

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

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

README

[Luw.ai]

Official Luw.ai MCP server

AI interior, exterior and landscape design, photoreal rendering, image editing, video and 3D,
inside Claude, Cursor, VS Code, Windsurf, Codex and any other MCP client.

[npm] [CI] [MIT]

[Add to Cursor]   [Install in VS Code]   [Add to Claude Desktop]


text
You:     Redesign ~/Desktop/living-room.jpg in Japandi style, give me 2 options.Claude:  ⟶ luw_interior_design  ✓ 2 designs in 21s   [shows both images]You:     Love the first one. Make the sofa green velvet, then turn it into a fly-through video.Claude:  ⟶ luw_edit_image ⟶ luw_generate_video   ✓

Quick start

1. Get an API key at app.luw.ai/dashboard/api. New accounts get free credits.

2. Add Luw.ai to your client. Pick one:

Claude Code
bash
claude mcp add luw --scope user --env LUW_API_KEY=YOUR_LUW_API_KEY -- npx -y @luw-ai/mcp

No-install alternative (hosted server):

bash
claude mcp add --transport http luw https://mcp.luw.ai/mcp --header "Authorization: Bearer YOUR_LUW_API_KEY"
Claude Desktop

One click: download luw.mcpb, double-click it, paste your API key. Nothing else to install.

Or add this to claude_desktop_config.json (Settings → Developer → Edit Config):

json
{  "mcpServers": {    "luw": {      "command": "npx",      "args": ["-y", "@luw-ai/mcp"],      "env": { "LUW_API_KEY": "YOUR_LUW_API_KEY" }    }  }}
Cursor

Click Add to Cursor above and replace YOUR_LUW_API_KEY, or add to ~/.cursor/mcp.json:

json
{  "mcpServers": {    "luw": {      "command": "npx",      "args": ["-y", "@luw-ai/mcp"],      "env": { "LUW_API_KEY": "YOUR_LUW_API_KEY" }    }  }}
VS Code (Copilot)

Click Install in VS Code above. VS Code asks for your key and keeps it in its secret storage. Or add to .vscode/mcp.json:

json
{  "inputs": [{ "type": "promptString", "id": "luw_api_key", "description": "Luw.ai API key", "password": true }],  "servers": {    "luw": {      "command": "npx",      "args": ["-y", "@luw-ai/mcp"],      "env": { "LUW_API_KEY": "${input:luw_api_key}" }    }  }}
Windsurf

Add to ~/.codeium/windsurf/mcp_config.json:

json
{  "mcpServers": {    "luw": {      "command": "npx",      "args": ["-y", "@luw-ai/mcp"],      "env": { "LUW_API_KEY": "YOUR_LUW_API_KEY" }    }  }}
OpenAI Codex CLI
bash
codex mcp add luw --env LUW_API_KEY=YOUR_LUW_API_KEY -- npx -y @luw-ai/mcp

Or in ~/.codex/config.toml:

toml
[mcp_servers.luw]command = "npx"args = ["-y", "@luw-ai/mcp"]env = { LUW_API_KEY = "YOUR_LUW_API_KEY" }
Gemini CLI

Add to ~/.gemini/settings.json:

json
{  "mcpServers": {    "luw": {      "command": "npx",      "args": ["-y", "@luw-ai/mcp"],      "env": { "LUW_API_KEY": "YOUR_LUW_API_KEY" }    }  }}
Any client with remote MCP support (hosted, nothing to install)
URLhttps://mcp.luw.ai/mcp
TransportStreamable HTTP
Auth headerAuthorization: Bearer YOUR_LUW_API_KEY
json
{  "mcpServers": {    "luw": {      "url": "https://mcp.luw.ai/mcp",      "headers": { "Authorization": "Bearer YOUR_LUW_API_KEY" }    }  }}

If your client only accepts a URL and can't send headers (for example ChatGPT connectors), use https://mcp.luw.ai/mcp?api_key=YOUR_LUW_API_KEY. Anyone who has that URL can spend your credits, so keep it private.

The hosted server is stateless and stores nothing. Your key goes straight to the Luw.ai API on each request. It can't read files from your computer, so pass image URLs, or use the local npx setup to work with local files.

Windows: if npx isn't found, use "command": "cmd", "args": ["/c", "npx", "-y", "@luw-ai/mcp"]. Requires Node.js 18 or later. The Claude Desktop extension bundles everything it needs.

What you can ask

  • "Redesign this bedroom (~/Downloads/bedroom.jpg) as Mid-Century Modern, 3 variations."
  • "This listing photo is an empty room. Stage it as a cozy Scandinavian living room."
  • "Render my sketch plan-sketch.png as a photoreal modern villa at golden hour."
  • "Change the floor in this kitchen to herringbone oak." (segments the floor, then swaps the material)
  • "Remove all the furniture from this room."
  • "Put this chair photo on a terrazzo floor in a sunlit gallery for an ad."
  • "Turn this render into a drone fly-through video."
  • "Make a 3D model of this armchair from these 3 photos."
  • "Seamless blue zellige tile texture, 1024px."
  • "Ask ArchiGPT how to improve the feng shui of this floor plan."

Built-in prompts show up as slash commands or prompt templates in your client: redesign_room, stage_empty_room, sketch_to_render, product_shot.

Tools

ToolWhat it doesCredits
luw_interior_designRedesign a room in any style; empty_room for virtual staging1
luw_exterior_designRedesign a facade or building exterior1
luw_sketch_to_renderSketch or drawing to photoreal render1
luw_render3D, CAD or clay view to photoreal render1
luw_edit_imageEdit any image with a sentence (Magic Prompt); 2K/4K1
luw_magic_wandMasked edit: replace, remove, or apply a material1
luw_landscape_designGardens and outdoor areas, matched to climate and sun1
luw_image_toolsupscale 2/4/8×, expand, remove_furniture, vectorize to SVG1
luw_backgroundRemove a background, or replace it with a generated scene1
luw_segmentObject masks (all objects, or by prompt) as image URLs1
luw_generate_imageText to image (Fluw), or format: "svg" for vectors2
luw_generate_patternSeamless, tileable textures and patterns1
luw_generate_videoImage to cinematic video with 12 camera motions10 (20 with Symphony)
luw_image_to_3dPhotos to a textured 3D model (GLB)3 (8 with Symphony)
luw_archigptChat with ArchiGPT, an AI architect (accepts images)1 per ~3k words
luw_get_resultCollect a long-running job (free)0
luw_list_optionsValid styles, room and building types, camera motions, materials (free)0
luw_upload_fileUpload a file to Luw.ai storage and get a URL (free)0
luw_run_modelCall any Luw.ai model with raw API parametersvaries
luw_personasPersonas: reusable style identity, training images and slots0
luw_projectsProjects (boards), folders and media0
luw_teamEnterprise: credits, usage, members, invitations (opt-in)0

Every generation uses your Luw.ai credits. Variations are billed one generation each.

How it works

  • Local files just work. Any image argument accepts an https:// URL, a local path (~/Desktop/room.jpg), or a data: URI. Local files are uploaded to Luw.ai storage as temporary files (deleted after 12 hours) and cached for the session, so repeated edits don't upload the same file again.
  • You see the results. Finished images are embedded in the tool result, so Claude and other clients show them inline. Set LUW_OUTPUT_DIR to also save every result to disk.
  • Long jobs don't time out. A call waits up to 50 seconds and streams progress to clients that show it. If a job like a video takes longer, the tool returns a processing_url and the assistant collects it with luw_get_result, without generating (or paying) twice.
  • Never billed twice. Every generation request carries an Idempotency-Key, so if a network error forces a retry, Luw.ai returns the original job instead of charging again.
  • Masks are handled for you. luw_segment returns masks as URLs, so "change the floor" becomes segment ⟶ magic wand with no manual masking.
  • Fast startup. The package is one bundled file with zero dependencies, so npx downloads a single ~260 KB package and starts right away.

Configuration

VariableDefault
LUW_API_KEY(required)Your API key (get one). LUW_API_TOKEN also works.
LUW_OUTPUT_DIR(off)Also download results (images, videos, GLB, SVG) into this folder
LUW_TOOLSETSall except teamComma-separated list from generate, archigpt, personas, projects, team, or all
LUW_WAIT_TIMEOUT_SECONDS50How long a call waits before returning a processing_url. Raise it for clients with long tool timeouts, such as Claude Code.
LUW_INLINE_IMAGEStrueEmbed result images in tool output
LUW_API_BASE_URLhttps://api.luw.ai/v2API endpoint override

Self-hosting the remote server

The same package serves the hosted Streamable HTTP endpoint:

bash
npx -y @luw-ai/mcp --http --port 8080 --host 0.0.0.0   # MCP at /mcp, health at /health
bash
docker build -t luw-mcp . && docker run -p 8080:8080 luw-mcp

It's stateless and holds no secrets. Each request brings its own key in Authorization: Bearer …, X-Luw-Api-Key, or ?api_key=. It deploys to Vercel as-is (vercel.json is included), and a Procfile is included for Heroku. See docs/maintainers.md for deployment and release steps.

Development

bash
npm cinpm test               # unit and protocol tests (no network)npm run build          # bundles dist/cli.jsnpm run inspector      # try every tool in the MCP InspectorLUW_API_KEY=... npm run smoke            # live checks against the real API (free)LUW_API_KEY=... npm run smoke -- --paid  # plus one real generation (1 credit)npm run mcpb           # build/luw.mcpb, the Claude Desktop extension

Support

MIT © Luvi Technologies, Inc.

来源:README.md,提交 4b53217

工具

0
工具元数据尚未被收录。

版本历史

1
  1. v0.1.0最新Oct 7, 2026