{"_id":"@luw-ai/mcp","_rev":"20-e4a643adf4092be4bdbdaa8f927d9cd2","name":"@luw-ai/mcp","dist-tags":{"latest":"0.3.17"},"versions":{"0.1.0":{"name":"@luw-ai/mcp","version":"0.1.0","keywords":["mcp","model-context-protocol","luw","luw.ai","interior-design","architecture","ai-rendering","claude","cursor"],"author":{"url":"https://luw.ai","name":"Luvi Technologies, Inc.","email":"support@luvi.io"},"license":"MIT","_id":"@luw-ai/mcp@0.1.0","maintainers":[{"name":"emiralp","email":"emir@workaxe.com"}],"homepage":"https://github.com/Luvi-io/luw-mcp#readme","bugs":{"url":"https://github.com/Luvi-io/luw-mcp/issues"},"bin":{"luw-mcp":"dist/cli.js"},"dist":{"shasum":"3beeb49af9400610693b8ce251c39ca1ff6b35a4","tarball":"https://registry.npmjs.org/@luw-ai/mcp/-/mcp-0.1.0.tgz","fileCount":4,"integrity":"sha512-SJW65zn4KENh2boFXvpXJHTKWwKBuPvrN0kqfEJDOftKaAi5MIg0OdJ01sRIRZrBc+3aNz2K42tiebgNg5+nPQ==","signatures":[{"sig":"MEQCICLB3/rJb/EhXCZNtfLafJ/z5AVWeCjNPEALbwdbXHhIAiAF1D9Evl81fcOCkUGw6UdhAu48qDtNgxuuqOebjPe8jA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1398400},"type":"module","engines":{"node":">=18"},"mcpName":"ai.luw/mcp","scripts":{"mcpb":"node scripts/pack-mcpb.mjs","test":"vitest run","build":"node scripts/build.mjs","check":"npm run typecheck && npm test && npm run build","links":"node scripts/install-links.mjs","smoke":"node scripts/smoke.mjs","start":"node dist/cli.js","inspector":"npx -y @modelcontextprotocol/inspector node dist/cli.js","typecheck":"tsc --noEmit","start:http":"node dist/cli.js --http","test:watch":"vitest","prepublishOnly":"npm run check"},"_npmUser":{"name":"emiralp","email":"emir@workaxe.com"},"repository":{"url":"git+https://github.com/Luvi-io/luw-mcp.git","type":"git"},"_npmVersion":"9.5.0","description":"Official Luw.ai MCP server: AI interior, exterior, landscape, render, video and 3D design tools for Claude, Cursor, VS Code, Windsurf and any MCP client.","directories":{},"_nodeVersion":"18.15.0","_hasShrinkwrap":false,"devDependencies":{"zod":"^4.6.5","vitest":"^3.2.7","esbuild":"^0.25.12","typescript":"^5.9.3","@types/node":"^18.19.130","@modelcontextprotocol/sdk":"1.32.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.1.0_1791291226145_0.41185414775076956","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@luw-ai/mcp","version":"0.2.0","keywords":["mcp","mcp-server","model-context-protocol","luw","luw.ai","interior-design","architecture","ai-rendering","virtual-staging","real-estate","claude","cursor"],"author":{"url":"https://luw.ai","name":"Luvi Technologies, Inc.","email":"support@luvi.io"},"license":"MIT","_id":"@luw-ai/mcp@0.2.0","maintainers":[{"name":"emiralp","email":"emir@workaxe.com"}],"homepage":"https://github.com/Luvi-io/luw-mcp#readme","bugs":{"url":"https://github.com/Luvi-io/luw-mcp/issues"},"bin":{"luw-mcp":"dist/cli.js"},"dist":{"shasum":"83ee43fc2c663f54cfa6dc7719afbb43d81fc473","tarball":"https://registry.npmjs.org/@luw-ai/mcp/-/mcp-0.2.0.tgz","fileCount":4,"integrity":"sha512-nSxP6bXd/L1G/ptkNLhQbiAiOye0HeKyxJRwuwx0b62BO6k3VM8ANi+SQpbB9ADnYrkPctOBmOSHaDnJ74dNOw==","signatures":[{"sig":"MEQCIDcEyyv7JMKloZbJsaLf3swKRy9FcELnV9uz9FJwgiI1AiA7Rp+9hZpMQn8xyq1wCFBrWOy+4xP3ybuFMWMmYEiyZA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCQxOapeUY9JxNSJy3V7cWveRfoeFjxsxSaFTuoZpyxdQIhALiLgKxUqwPFNwfuZAqJ8C+6B8JcdwzPRnc3wA1R5jK8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@luw-ai%2fmcp@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1453874},"type":"module","engines":{"node":">=18"},"gitHead":"4b8ea6503bb16c1cbfc71ac942ee91c351533562","mcpName":"ai.luw/mcp","scripts":{"mcpb":"node scripts/pack-mcpb.mjs","test":"vitest run","build":"node scripts/build.mjs","check":"npm run typecheck && npm test && npm run build","links":"node scripts/install-links.mjs","smoke":"node scripts/smoke.mjs","start":"node dist/cli.js","inspector":"npx -y @modelcontextprotocol/inspector node dist/cli.js","typecheck":"tsc --noEmit","start:http":"node dist/cli.js --http","test:watch":"vitest","prepublishOnly":"npm run check"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"48ec7e6c-00f0-4bb4-9651-95025d1f8c67"}},"repository":{"url":"git+https://github.com/Luvi-io/luw-mcp.git","type":"git"},"_npmVersion":"12.2.0","description":"Official Luw.ai MCP server: AI interior, exterior, landscape, render, video and 3D design tools for Claude, Cursor, VS Code, Windsurf and any MCP client.","directories":{},"_nodeVersion":"24.21.0","_hasShrinkwrap":false,"devDependencies":{"zod":"^4.6.5","vitest":"^3.2.7","esbuild":"^0.25.12","typescript":"^5.9.3","@types/node":"^18.19.130","@modelcontextprotocol/sdk":"1.32.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.2.0_1791653818747_0.7063537284314978","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@luw-ai/mcp","version":"0.3.0","keywords":["mcp","mcp-server","model-context-protocol","luw","luw.ai","interior-design","architecture","ai-rendering","virtual-staging","real-estate","claude","cursor"],"author":{"url":"https://luw.ai","name":"Luvi Technologies, Inc.","email":"support@luvi.io"},"license":"MIT","_id":"@luw-ai/mcp@0.3.0","maintainers":[{"name":"emiralp","email":"emir@workaxe.com"}],"homepage":"https://github.com/Luvi-io/luw-mcp#readme","bugs":{"url":"https://github.com/Luvi-io/luw-mcp/issues"},"bin":{"luw-mcp":"dist/cli.js"},"dist":{"shasum":"f5108297b2b49d7b265f2bd55ad0c534e69d6dc7","tarball":"https://registry.npmjs.org/@luw-ai/mcp/-/mcp-0.3.0.tgz","fileCount":4,"integrity":"sha512-Qky1TiJvKPdWM60Z2HN7H5RfocBkmQAa3QWme6aXcDRalx92Emh+bpoKqRI+htlyV01GHtL9+rr2FKEoNS3v/A==","signatures":[{"sig":"MEUCICgoI6RiWyJQPTu85kM/h3XoxJdTUUnGu24A57SCYTabAiEAskFH6kyhxso/QbojI8RfpOqWdBQ74qws2hnlKwDMIfA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCFfHrDQ/9W1t3KWEj68xBw95UzvICuPHFWMn+/y5/mxgIhAKBgmJ9AOFv9S+3IqVNldjJwkWIbDdgrqadORpP2PprW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@luw-ai%2fmcp@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4185252},"type":"module","engines":{"node":">=20"},"gitHead":"737cdc88c99a17b0af902503736c6600c55c6e91","mcpName":"ai.luw/mcp","scripts":{"mcpb":"node scripts/pack-mcpb.mjs","test":"vitest run","build":"node scripts/build.mjs","check":"npm run typecheck && npm test && npm run build","links":"node scripts/install-links.mjs","smoke":"node scripts/smoke.mjs","start":"node dist/cli.js","inspector":"npx -y @modelcontextprotocol/inspector node dist/cli.js","typecheck":"tsc --noEmit","start:http":"node dist/cli.js --http","test:watch":"vitest","prepublishOnly":"npm run check"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"48ec7e6c-00f0-4bb4-9651-95025d1f8c67"}},"repository":{"url":"git+https://github.com/Luvi-io/luw-mcp.git","type":"git"},"_npmVersion":"12.2.0","description":"Official Luw.ai MCP server: AI interior, exterior, landscape, render, video and 3D design tools for Claude, Cursor, VS Code, Windsurf and any MCP client.","directories":{},"_nodeVersion":"24.21.0","_hasShrinkwrap":false,"devDependencies":{"zod":"~4.5.4","vitest":"^3.2.7","esbuild":"^0.25.12","typescript":"^5.9.3","@types/node":"^18.19.130","@pascal-app/mcp":"file:vendor/pascal-app-mcp-1.0.4-luw.tgz","@pascal-app/core":"file:vendor/pascal-app-core-1.0.4-luw.tgz","@modelcontextprotocol/sdk":"1.32.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.3.0_1791929424917_0.32783076102438735","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@luw-ai/mcp","version":"0.3.1","keywords":["mcp","mcp-server","model-context-protocol","luw","luw.ai","interior-design","architecture","ai-rendering","virtual-staging","real-estate","claude","cursor"],"author":{"url":"https://luw.ai","name":"Luvi Technologies, Inc.","email":"support@luvi.io"},"license":"MIT","_id":"@luw-ai/mcp@0.3.1","maintainers":[{"name":"emiralp","email":"emir@workaxe.com"}],"homepage":"https://github.com/Luvi-io/luw-mcp#readme","bugs":{"url":"https://github.com/Luvi-io/luw-mcp/issues"},"bin":{"luw-mcp":"dist/cli.js"},"dist":{"shasum":"3d32082e7e3eb5aa780d8a1e125b17d85bac4b2a","tarball":"https://registry.npmjs.org/@luw-ai/mcp/-/mcp-0.3.1.tgz","fileCount":4,"integrity":"sha512-4ZI1JFVnRHOU0OcBv74HwRoZhPI4we7mt4B+GmmxidjgGsWRB4Bz6ntUCcJDIot1V59StxYgHA16wvFwmaADMQ==","signatures":[{"sig":"MEUCIGRQVPwTbvnlNpnqqzeDhbTNeaqyX9LphTmJHZ2KaupbAiEAv3a7aAjj7+t7MOxZlVTu2Bu+SVujxsMOZrTisGQN1VI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFrEHtDWoPvsvFyb3I1OTe1s2rszGSVsnCqm6SV1HpAhAiEAuu3qWA/ulvA/wgj7qRsZr/AWxQ+CGUUcQvQF+94rApg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@luw-ai%2fmcp@0.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4188209},"type":"module","engines":{"node":">=20"},"gitHead":"25ccf173ed52110ef105ad9fb457f2a97616e0d8","mcpName":"ai.luw/mcp","scripts":{"mcpb":"node scripts/pack-mcpb.mjs","test":"vitest run","build":"node scripts/build.mjs","check":"npm run typecheck && npm test && npm run build","links":"node scripts/install-links.mjs","smoke":"node scripts/smoke.mjs","start":"node dist/cli.js","inspector":"npx -y @modelcontextprotocol/inspector node dist/cli.js","typecheck":"tsc --noEmit","start:http":"node dist/cli.js --http","test:watch":"vitest","prepublishOnly":"npm run check"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"48ec7e6c-00f0-4bb4-9651-95025d1f8c67"}},"repository":{"url":"git+https://github.com/Luvi-io/luw-mcp.git","type":"git"},"_npmVersion":"12.2.0","description":"Official Luw.ai MCP server: AI interior, exterior, landscape, render, video and 3D design tools for Claude, Cursor, VS Code, Windsurf and any MCP client.","directories":{},"_nodeVersion":"24.21.0","_hasShrinkwrap":false,"devDependencies":{"zod":"~4.5.4","vitest":"^3.2.7","esbuild":"^0.25.12","typescript":"^5.9.3","@types/node":"^18.19.130","@pascal-app/mcp":"file:vendor/pascal-app-mcp-1.0.4-luw.tgz","@pascal-app/core":"file:vendor/pascal-app-core-1.0.4-luw.tgz","@modelcontextprotocol/sdk":"1.32.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.3.1_1791930562741_0.6626217071532168","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@luw-ai/mcp","version":"0.3.2","keywords":["mcp","mcp-server","model-context-protocol","luw","luw.ai","interior-design","architecture","ai-rendering","virtual-staging","real-estate","claude","cursor"],"author":{"url":"https://luw.ai","name":"Luvi Technologies, Inc.","email":"support@luvi.io"},"license":"MIT","_id":"@luw-ai/mcp@0.3.2","maintainers":[{"name":"emiralp","email":"emir@workaxe.com"}],"homepage":"https://github.com/Luvi-io/luw-mcp#readme","bugs":{"url":"https://github.com/Luvi-io/luw-mcp/issues"},"bin":{"luw-mcp":"dist/cli.js"},"dist":{"shasum":"67d78db2cc49d59e0223d5205c5da1410c92cf51","tarball":"https://registry.npmjs.org/@luw-ai/mcp/-/mcp-0.3.2.tgz","fileCount":4,"integrity":"sha512-rpgG79lD8alH/ez+2Lj/0EeLJKFRNyxLpvpqpmg0vnz4m+aYy0Oh0z8rNiVunM6gRbWLq6kM5BCKfFn64NNMQw==","signatures":[{"sig":"MEUCIBQhhcmE3qhziPgqTWghxlgWpgsp8aJFUctQo7/fizgRAiEAy3mNcdheAge1vBHXWGdo/pXI/JWHGPCb2Ba9qzB11gY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDb47K4v8FmhFGOS5Ja9skxxJJAq6WwAtCw1LHchZY7jgIgYlMoumnfyNeI5+tOYWPQ7i2VKg8HHVSKwR5dt4parrM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@luw-ai%2fmcp@0.3.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4189710},"type":"module","engines":{"node":">=20"},"gitHead":"ea749bfacc2cefbb11b1aae6f422796a2842a4a2","mcpName":"ai.luw/mcp","scripts":{"mcpb":"node scripts/pack-mcpb.mjs","test":"vitest run","build":"node scripts/build.mjs","check":"npm run typecheck && npm test && npm run build","links":"node scripts/install-links.mjs","smoke":"node scripts/smoke.mjs","start":"node dist/cli.js","inspector":"npx -y @modelcontextprotocol/inspector node dist/cli.js","typecheck":"tsc --noEmit","start:http":"node dist/cli.js --http","test:watch":"vitest","prepublishOnly":"npm run check"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"48ec7e6c-00f0-4bb4-9651-95025d1f8c67"}},"repository":{"url":"git+https://github.com/Luvi-io/luw-mcp.git","type":"git"},"_npmVersion":"12.2.0","description":"Official Luw.ai MCP server: AI interior, exterior, landscape, render, video and 3D design tools for Claude, Cursor, VS Code, Windsurf and any MCP client.","directories":{},"_nodeVersion":"24.21.0","_hasShrinkwrap":false,"devDependencies":{"zod":"~4.5.4","vitest":"^3.2.7","esbuild":"^0.25.12","typescript":"^5.9.3","@types/node":"^18.19.130","@pascal-app/mcp":"file:vendor/pascal-app-mcp-1.0.4-luw.tgz","@pascal-app/core":"file:vendor/pascal-app-core-1.0.4-luw.tgz","@modelcontextprotocol/sdk":"1.32.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.3.2_1792012867410_0.6025708678699198","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"@luw-ai/mcp","version":"0.3.3","keywords":["mcp","mcp-server","model-context-protocol","luw","luw.ai","interior-design","architecture","ai-rendering","virtual-staging","real-estate","claude","cursor"],"author":{"url":"https://luw.ai","name":"Luvi Technologies, Inc.","email":"support@luvi.io"},"license":"MIT","_id":"@luw-ai/mcp@0.3.3","maintainers":[{"name":"emiralp","email":"emir@workaxe.com"}],"homepage":"https://github.com/Luvi-io/luw-mcp#readme","bugs":{"url":"https://github.com/Luvi-io/luw-mcp/issues"},"bin":{"luw-mcp":"dist/cli.js"},"dist":{"shasum":"7d80ce0925227292499984016b2b38f99df605e9","tarball":"https://registry.npmjs.org/@luw-ai/mcp/-/mcp-0.3.3.tgz","fileCount":4,"integrity":"sha512-hlUT+ApHMeUD69p1iTtAy4vuu7W/LE0ImE28bUgssYY1g4mX+KeAks3iV97WuppqxamDqoBREeSFN8Wn7Uv6bQ==","signatures":[{"sig":"MEUCIBQyLCPywtDs9nUwbtGYOKDG6I3lfZ3Y6/7wJfA6hAfOAiEA8LKo4dru1XUsFt0jYci8Px+mpYSub+j2d0RPP5L8mQs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHrqXravUK9xQqkNyth/v69RtJlEfllcNUei+uyHbHNQAiAmIG76vjl3JDb6LREGT33zyxpJUA+7b6mvyCQLFFLE0g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@luw-ai%2fmcp@0.3.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5726554},"type":"module","engines":{"node":">=20"},"gitHead":"de54f4df963d85c8f51e75f2b21ff55721e75189","mcpName":"ai.luw/mcp","scripts":{"mcpb":"node scripts/pack-mcpb.mjs","test":"vitest run","build":"node scripts/build.mjs","check":"npm run typecheck && npm test && npm run build","links":"node scripts/install-links.mjs","smoke":"node scripts/smoke.mjs","start":"node dist/cli.js","inspector":"npx -y @modelcontextprotocol/inspector node dist/cli.js","typecheck":"tsc --noEmit","start:http":"node dist/cli.js --http","test:watch":"vitest","prepublishOnly":"npm run check"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"48ec7e6c-00f0-4bb4-9651-95025d1f8c67"}},"repository":{"url":"git+https://github.com/Luvi-io/luw-mcp.git","type":"git"},"_npmVersion":"12.2.0","description":"Official Luw.ai MCP server: AI interior, exterior, landscape, render, video and 3D design tools for Claude, Cursor, VS Code, Windsurf and any MCP client.","directories":{},"_nodeVersion":"24.21.0","_hasShrinkwrap":false,"devDependencies":{"zod":"~4.5.4","vitest":"^3.2.7","esbuild":"^0.25.12","typescript":"^5.9.3","@types/node":"^18.19.130","@pascal-app/mcp":"file:vendor/pascal-app-mcp-1.0.4-luw.tgz","@pascal-app/core":"file:vendor/pascal-app-core-1.0.4-luw.tgz","@modelcontextprotocol/sdk":"1.32.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.3.3_1792246570602_0.97123582257296","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"@luw-ai/mcp","version":"0.3.4","keywords":["mcp","mcp-server","model-context-protocol","luw","luw.ai","interior-design","architecture","ai-rendering","virtual-staging","real-estate","claude","cursor"],"author":{"url":"https://luw.ai","name":"Luvi Technologies, Inc.","email":"support@luvi.io"},"license":"MIT","_id":"@luw-ai/mcp@0.3.4","maintainers":[{"name":"emiralp","email":"emir@workaxe.com"}],"homepage":"https://github.com/Luvi-io/luw-mcp#readme","bugs":{"url":"https://github.com/Luvi-io/luw-mcp/issues"},"bin":{"luw-mcp":"dist/cli.js"},"dist":{"shasum":"cd64533b411986ac23a187bcac5f33e7507fdcd9","tarball":"https://registry.npmjs.org/@luw-ai/mcp/-/mcp-0.3.4.tgz","fileCount":4,"integrity":"sha512-n3E30r1juTz/K4L329ssnE/l7/CilUgHmaJJxm01xb/b1jIsI8hW8So4SfYRmXe6XfPpUO1/yrUuqssFxtUgrQ==","signatures":[{"sig":"MEYCIQCW1/a1KUjbObDQfUDN0vllwFdzW074sIUShUOb6L3LfgIhANsPFn6zJMRsj+9Gc9ErTpw07eIh9sOFUd3xAxjzoJC1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGp3tS8qMPDfdvZPthM7CXj0XkdNlBR6QqksV80JozMSAiEAjiOVeAQ+Wv4bQAxgkGkV8pkKCWhhyi5MCBuW2s5M5XA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@luw-ai%2fmcp@0.3.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6940475},"type":"module","engines":{"node":">=20"},"gitHead":"f43d0c6317053e95e907f4d804c31d86c45fa712","mcpName":"ai.luw/mcp","scripts":{"mcpb":"node scripts/pack-mcpb.mjs","test":"vitest run","build":"node scripts/build.mjs","check":"npm run typecheck && npm test && npm run build","links":"node scripts/install-links.mjs","smoke":"node scripts/smoke.mjs","start":"node dist/cli.js","inspector":"npx -y @modelcontextprotocol/inspector node dist/cli.js","typecheck":"tsc --noEmit","start:http":"node dist/cli.js --http","test:watch":"vitest","prepublishOnly":"npm run check"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"48ec7e6c-00f0-4bb4-9651-95025d1f8c67"}},"repository":{"url":"git+https://github.com/Luvi-io/luw-mcp.git","type":"git"},"_npmVersion":"12.2.1","description":"Official Luw.ai MCP server: AI interior, exterior, landscape, render, video and 3D design tools for Claude, Cursor, VS Code, Windsurf and any MCP client.","directories":{},"_nodeVersion":"24.22.1","_hasShrinkwrap":false,"devDependencies":{"zod":"~4.5.4","vitest":"^3.2.7","esbuild":"^0.25.12","typescript":"^5.9.3","@types/node":"^18.19.130","@pascal-app/mcp":"file:vendor/pascal-app-mcp-1.0.6-luw.tgz","@pascal-app/core":"file:vendor/pascal-app-core-1.0.6-luw.tgz","@modelcontextprotocol/sdk":"1.32.1","@modelcontextprotocol/server":"2.4.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.3.4_1793322310874_0.48802198094465743","host":"s3://npm-registry-packages-npm-production"}},"0.3.5":{"name":"@luw-ai/mcp","version":"0.3.5","keywords":["mcp","mcp-server","model-context-protocol","luw","luw.ai","interior-design","architecture","ai-rendering","virtual-staging","real-estate","claude","cursor"],"author":{"url":"https://luw.ai","name":"Luvi Technologies, Inc.","email":"support@luvi.io"},"license":"MIT","_id":"@luw-ai/mcp@0.3.5","maintainers":[{"name":"emiralp","email":"emir@workaxe.com"}],"homepage":"https://github.com/Luvi-io/luw-mcp#readme","bugs":{"url":"https://github.com/Luvi-io/luw-mcp/issues"},"bin":{"luw-mcp":"dist/cli.js"},"dist":{"shasum":"976e377d9c401a8361ba23724f7c4bb1270ef597","tarball":"https://registry.npmjs.org/@luw-ai/mcp/-/mcp-0.3.5.tgz","fileCount":4,"integrity":"sha512-87mn3LeVfY2doyJR75sWqQjVtZu+WgwoGyW6ryCA764MNxvvIZjF8HkcskzKp9p92NaE84KbSA/NB0TWsvnByg==","signatures":[{"sig":"MEUCIQDBOQB0qLm04H13ciQAS6VOiFNxIHOhPDr8I3gxcBygrQIgGobSLVPeECgdShLn2EG4q18GwBrS+VZ3zIqaBukoR5o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD1e4E1f90d7A/C3vmRC6RELuaq4Oa/oGcuetC2nAPtoAIhALnnJQV3hnfBLTH0naLEs0IpBi9zKDxeWcIqa5TykDb3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@luw-ai%2fmcp@0.3.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7059365},"type":"module","engines":{"node":">=20"},"gitHead":"ccb44864ed164116d35c85c9f3f17686db8be052","mcpName":"ai.luw/mcp","scripts":{"mcpb":"node scripts/pack-mcpb.mjs","test":"vitest run","build":"node scripts/build.mjs","check":"npm run typecheck && npm test && npm run build","links":"node scripts/install-links.mjs","smoke":"node scripts/smoke.mjs","start":"node dist/cli.js","inspector":"npx -y @modelcontextprotocol/inspector node dist/cli.js","typecheck":"tsc --noEmit","start:http":"node dist/cli.js --http","test:watch":"vitest","prepublishOnly":"npm run check"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"48ec7e6c-00f0-4bb4-9651-95025d1f8c67"}},"repository":{"url":"git+https://github.com/Luvi-io/luw-mcp.git","type":"git"},"_npmVersion":"12.2.1","description":"Official Luw.ai MCP server: AI interior, exterior, landscape, render, video and 3D design tools for Claude, Cursor, VS Code, Windsurf and any MCP client.","directories":{},"_nodeVersion":"24.22.1","_hasShrinkwrap":false,"devDependencies":{"zod":"~4.5.4","vitest":"^3.2.7","esbuild":"^0.25.12","typescript":"^5.9.3","@types/node":"^18.19.130","@pascal-app/mcp":"file:vendor/pascal-app-mcp-1.0.6-luw.tgz","@pascal-app/core":"file:vendor/pascal-app-core-1.0.6-luw.tgz","@modelcontextprotocol/sdk":"1.32.1","@modelcontextprotocol/server":"2.4.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.3.5_1793467427035_0.999260135707643","host":"s3://npm-registry-packages-npm-production"}},"0.3.6":{"name":"@luw-ai/mcp","version":"0.3.6","keywords":["mcp","mcp-server","model-context-protocol","luw","luw.ai","interior-design","architecture","ai-rendering","virtual-staging","real-estate","claude","cursor"],"author":{"url":"https://luw.ai","name":"Luvi Technologies, Inc.","email":"support@luvi.io"},"license":"MIT","_id":"@luw-ai/mcp@0.3.6","maintainers":[{"name":"emiralp","email":"emir@workaxe.com"}],"homepage":"https://github.com/Luvi-io/luw-mcp#readme","bugs":{"url":"https://github.com/Luvi-io/luw-mcp/issues"},"bin":{"luw-mcp":"dist/cli.js"},"dist":{"shasum":"d742390904d6eebeaecb5fa2b3d70f2f68380413","tarball":"https://registry.npmjs.org/@luw-ai/mcp/-/mcp-0.3.6.tgz","fileCount":4,"integrity":"sha512-qwpmQAjXEcnA+ZdGGUrjiAfrDr5bLmkEtguk3FnXQ7LxD9BMSK2kKPEYTuK/MEReLb/fAuzKUEQXzoF7gUS+7w==","signatures":[{"sig":"MEQCIGKX1LhEh9uJZsEL2txToh+IPe/zb3tsulH3ueFLbZ3TAiBtJIiHbUtK8VahBNW3EH9V7NJGwPTZVWbJsiXt4XcaoQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDwxP5suSM3JeO3bpEnK4jEenID8/Xm9JILFpO6UFjXeQIgcN6gcztV1GHybO7Hlgq9jIG/XmSz2EwPQxRip71GuRM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@luw-ai%2fmcp@0.3.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7456817},"type":"module","engines":{"node":">=20"},"gitHead":"0e136822cfba1bfda1d408a62e4feacba37dfd00","mcpName":"ai.luw/mcp","scripts":{"mcpb":"node scripts/pack-mcpb.mjs","test":"vitest run","build":"node scripts/build.mjs","check":"npm run typecheck && npm test && npm run build","links":"node scripts/install-links.mjs","smoke":"node scripts/smoke.mjs","start":"node dist/cli.js","inspector":"npx -y @modelcontextprotocol/inspector node dist/cli.js","typecheck":"tsc --noEmit","start:http":"node dist/cli.js --http","test:watch":"vitest","prepublishOnly":"npm run check"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"48ec7e6c-00f0-4bb4-9651-95025d1f8c67"}},"repository":{"url":"git+https://github.com/Luvi-io/luw-mcp.git","type":"git"},"_npmVersion":"12.2.2","description":"Official Luw.ai MCP server: AI interior, exterior, landscape, render, video and 3D design tools for Claude, Cursor, VS Code, Windsurf and any MCP client.","directories":{},"_nodeVersion":"24.22.2","_hasShrinkwrap":false,"devDependencies":{"zod":"~4.5.4","vitest":"^3.2.7","esbuild":"^0.25.12","typescript":"^5.9.3","@types/node":"^18.19.130","@pascal-app/mcp":"file:vendor/pascal-app-mcp-1.0.6-luw.tgz","@pascal-app/core":"file:vendor/pascal-app-core-1.0.6-luw.tgz","@modelcontextprotocol/sdk":"1.32.1","@modelcontextprotocol/server":"2.4.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.3.6_1793875940355_0.5515542504683214","host":"s3://npm-registry-packages-npm-production"}},"0.3.7":{"name":"@luw-ai/mcp","version":"0.3.7","keywords":["mcp","mcp-server","model-context-protocol","luw","luw.ai","interior-design","architecture","ai-rendering","virtual-staging","real-estate","claude","cursor"],"author":{"url":"https://luw.ai","name":"Luvi Technologies, Inc.","email":"support@luvi.io"},"license":"MIT","_id":"@luw-ai/mcp@0.3.7","maintainers":[{"name":"emiralp","email":"emir@workaxe.com"}],"homepage":"https://github.com/Luvi-io/luw-mcp#readme","bugs":{"url":"https://github.com/Luvi-io/luw-mcp/issues"},"bin":{"luw-mcp":"dist/cli.js"},"dist":{"shasum":"a4f2bea3f086df00358bc4c1ca14605190b76f6a","tarball":"https://registry.npmjs.org/@luw-ai/mcp/-/mcp-0.3.7.tgz","fileCount":4,"integrity":"sha512-DIy8W9UE/0MWidiN0rNWjTrIZmEflM6hzwFP5Oez6z4LiOjvt/5Bztt7RRAqVieeWaUPJonNffgHqBsPGDwVDQ==","signatures":[{"sig":"MEQCIFF77X01lvxVIKiQYkUNWWgbB02BClfbu6Euoe21SaQCAiBN+CmIajZSSPCWQvo2oAfy1NsguxzeyOpPP/ztUS3OWQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIErglxuckwUSMk/kncjiSpKbgd6PZ3LnDttZ6mvpVs5VAiBou/yQZ8j8HtI87jPTpe9LX6PKa3fh1ZFVT29tod8mzw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@luw-ai%2fmcp@0.3.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7639389},"type":"module","engines":{"node":">=20"},"gitHead":"7e5bb24a8288c4cd8f20f3e8087d6478b37675b9","mcpName":"ai.luw/mcp","scripts":{"mcpb":"node scripts/pack-mcpb.mjs","test":"vitest run","build":"node scripts/build.mjs","check":"npm run typecheck && npm test && npm run build","links":"node scripts/install-links.mjs","smoke":"node scripts/smoke.mjs","start":"node dist/cli.js","inspector":"npx -y @modelcontextprotocol/inspector node dist/cli.js","typecheck":"tsc --noEmit","start:http":"node dist/cli.js --http","test:watch":"vitest","prepublishOnly":"npm run check"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"48ec7e6c-00f0-4bb4-9651-95025d1f8c67"}},"repository":{"url":"git+https://github.com/Luvi-io/luw-mcp.git","type":"git"},"_npmVersion":"12.2.2","description":"Official Luw.ai MCP server: AI interior, exterior, landscape, render, video and 3D design tools for Claude, Cursor, VS Code, Windsurf and any MCP client.","directories":{},"_nodeVersion":"24.22.2","_hasShrinkwrap":false,"devDependencies":{"zod":"~4.5.4","vitest":"^3.2.7","esbuild":"^0.25.12","typescript":"^5.9.3","@types/node":"^18.19.130","@pascal-app/mcp":"file:vendor/pascal-app-mcp-1.0.6-luw.tgz","@pascal-app/core":"file:vendor/pascal-app-core-1.0.6-luw.tgz","@pascal-app/nodes":"file:vendor/pascal-app-nodes-1.0.6-luw.tgz","@modelcontextprotocol/sdk":"1.32.1","@modelcontextprotocol/server":"2.4.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.3.7_1793937138033_0.7073413038232551","host":"s3://npm-registry-packages-npm-production"}},"0.3.8":{"name":"@luw-ai/mcp","version":"0.3.8","keywords":["mcp","mcp-server","model-context-protocol","luw","luw.ai","interior-design","architecture","ai-rendering","virtual-staging","real-estate","claude","cursor"],"author":{"url":"https://luw.ai","name":"Luvi Technologies, Inc.","email":"support@luvi.io"},"license":"MIT","_id":"@luw-ai/mcp@0.3.8","maintainers":[{"name":"emiralp","email":"emir@workaxe.com"}],"homepage":"https://github.com/Luvi-io/luw-mcp#readme","bugs":{"url":"https://github.com/Luvi-io/luw-mcp/issues"},"bin":{"luw-mcp":"dist/cli.js"},"dist":{"shasum":"974327ffb99000b0e9a1ab56ccd9730658904cf0","tarball":"https://registry.npmjs.org/@luw-ai/mcp/-/mcp-0.3.8.tgz","fileCount":4,"integrity":"sha512-SfD8PKnq4/GPWf0plv4pjwuDEnISCcSGhyLHMGX7zNPEDpnrVzqrjnrGGBOmKDblykqTpGMzG8m/Lova5Ggxag==","signatures":[{"sig":"MEQCIHHlnEnmpkAgnXQBkCexpL+vf4m0hmvMbiLKpFrRy6EBAiAYMF/F2w0vyFD8eyPhW71LVA3RgCVLTCcrB5vivM1BSg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDDfAkvBDOyZnQP1ONQCEjoPPkPf3N/tzZ9FFWGh7STRAiEAsnmN+uer1tDy0oI5MJ2lgVXeo3GvMplY319U+iQTCIE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@luw-ai%2fmcp@0.3.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6263509},"type":"module","engines":{"node":">=20"},"gitHead":"2af1bd7d7ff39dcd86e9ad575f3ab4c795a789ee","mcpName":"ai.luw/mcp","scripts":{"mcpb":"node scripts/pack-mcpb.mjs","test":"vitest run","build":"node scripts/build.mjs","check":"npm run typecheck && npm test && npm run build","links":"node scripts/install-links.mjs","smoke":"node scripts/smoke.mjs","start":"node dist/cli.js","inspector":"npx -y @modelcontextprotocol/inspector node dist/cli.js","typecheck":"tsc --noEmit","start:http":"node dist/cli.js --http","test:watch":"vitest","prepublishOnly":"npm run check"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"48ec7e6c-00f0-4bb4-9651-95025d1f8c67"}},"repository":{"url":"git+https://github.com/Luvi-io/luw-mcp.git","type":"git"},"_npmVersion":"12.2.2","description":"Official Luw.ai MCP server: AI interior, exterior, landscape, render, video and 3D design tools for Claude, Cursor, VS Code, Windsurf and any MCP client.","directories":{},"_nodeVersion":"24.22.2","_hasShrinkwrap":false,"devDependencies":{"zod":"~4.6.7","vitest":"^3.2.7","esbuild":"^0.25.12","typescript":"^5.9.3","@types/node":"^18.19.130","@pascal-app/mcp":"file:vendor/pascal-app-mcp-1.0.6-luw.tgz","@pascal-app/core":"file:vendor/pascal-app-core-1.0.6-luw.tgz","@pascal-app/nodes":"file:vendor/pascal-app-nodes-1.0.6-luw.tgz","@modelcontextprotocol/sdk":"1.32.1","@modelcontextprotocol/server":"2.4.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.3.8_1793977093096_0.06457049106355228","host":"s3://npm-registry-packages-npm-production"}},"0.3.9":{"name":"@luw-ai/mcp","version":"0.3.9","keywords":["mcp","mcp-server","model-context-protocol","luw","luw.ai","interior-design","architecture","ai-rendering","virtual-staging","real-estate","claude","cursor"],"author":{"url":"https://luw.ai","name":"Luvi Technologies, Inc.","email":"support@luvi.io"},"license":"MIT","_id":"@luw-ai/mcp@0.3.9","maintainers":[{"name":"emiralp","email":"emir@workaxe.com"}],"homepage":"https://github.com/Luvi-io/luw-mcp#readme","bugs":{"url":"https://github.com/Luvi-io/luw-mcp/issues"},"bin":{"luw-mcp":"dist/cli.js"},"dist":{"shasum":"6e29dc548c2eb33458c24bd86696db4e69881143","tarball":"https://registry.npmjs.org/@luw-ai/mcp/-/mcp-0.3.9.tgz","fileCount":4,"integrity":"sha512-+05TIWGRkdQOTfFqV482KZKSZ7wr2+Tw1a4pp2nhQRvujwyq/4KufoVKip+2fGjo4J5t6vghlBwC/flE11+7VA==","signatures":[{"sig":"MEYCIQDy2rof9pf3uS6/x4ukaFhLI9XPQEIOFmex6UN2T4OViwIhAOfoetlwMAo/Q4CmOXulkviP7K0xtmizCam42YZXcICK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDx23wPCNo+kwZIh4CWLih+je5uBYFBwMObRPgPVc9bsgIgHWbllOi1vbIQeK7qz/kpKZmP7eRYAsPb3YEM4a1UCa4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@luw-ai%2fmcp@0.3.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6294163},"type":"module","engines":{"node":">=20"},"gitHead":"3d15a0c6ce80a9fe1a54e23285903bdf3409ec8d","mcpName":"ai.luw/mcp","scripts":{"mcpb":"node scripts/pack-mcpb.mjs","test":"vitest run","build":"node scripts/build.mjs","check":"npm run typecheck && npm test && npm run build","links":"node scripts/install-links.mjs","smoke":"node scripts/smoke.mjs","start":"node dist/cli.js","inspector":"npx -y @modelcontextprotocol/inspector node dist/cli.js","typecheck":"tsc --noEmit","start:http":"node dist/cli.js --http","test:watch":"vitest","prepublishOnly":"npm run check"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"48ec7e6c-00f0-4bb4-9651-95025d1f8c67"}},"repository":{"url":"git+https://github.com/Luvi-io/luw-mcp.git","type":"git"},"_npmVersion":"12.2.2","description":"Official Luw.ai MCP server: AI interior, exterior, landscape, render, video and 3D design tools for Claude, Cursor, VS Code, Windsurf and any MCP client.","directories":{},"_nodeVersion":"24.22.2","_hasShrinkwrap":false,"devDependencies":{"zod":"~4.6.7","vitest":"^3.2.7","esbuild":"^0.25.12","typescript":"^5.9.3","@types/node":"^18.19.130","@pascal-app/mcp":"file:vendor/pascal-app-mcp-1.0.6-luw.tgz","@pascal-app/core":"file:vendor/pascal-app-core-1.0.6-luw.tgz","@pascal-app/nodes":"file:vendor/pascal-app-nodes-1.0.6-luw.tgz","@modelcontextprotocol/sdk":"1.32.1","@modelcontextprotocol/server":"2.4.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.3.9_1794009692549_0.6479668762989346","host":"s3://npm-registry-packages-npm-production"}},"0.3.10":{"name":"@luw-ai/mcp","version":"0.3.10","keywords":["mcp","mcp-server","model-context-protocol","luw","luw.ai","interior-design","architecture","ai-rendering","virtual-staging","real-estate","claude","cursor"],"author":{"url":"https://luw.ai","name":"Luvi Technologies, Inc.","email":"support@luvi.io"},"license":"MIT","_id":"@luw-ai/mcp@0.3.10","maintainers":[{"name":"emiralp","email":"emir@workaxe.com"}],"homepage":"https://github.com/Luvi-io/luw-mcp#readme","bugs":{"url":"https://github.com/Luvi-io/luw-mcp/issues"},"bin":{"luw-mcp":"dist/cli.js"},"dist":{"shasum":"bbe8f8cb5fae73fd85c3af7f721d7b12cb8a3d33","tarball":"https://registry.npmjs.org/@luw-ai/mcp/-/mcp-0.3.10.tgz","fileCount":6,"integrity":"sha512-hC6T24PECQ8lMvpXSrldepM77xhllgMmhex52L3PtxsLcWhchDxUV18ZgaEI/aMiLjslEC7zDqSMzQIvNrgTgw==","signatures":[{"sig":"MEQCIFuObiLUQeYRAjyy5xs0w3y0CJ5KKLXngtKtNW3tUSf9AiB7X0KHioiQEZmYBcxf2L2crPIgAMuwL2ejOMXxWEguRw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDy4mOBf6zS+VKFp6y/rETtkRVj5AEcUQ5HbybquAYfwwIgCms5PztPhBdJqe9oxwKoH4DqWpjaBCGPtl9SBDNfwG4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@luw-ai%2fmcp@0.3.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11828474},"type":"module","engines":{"node":">=20"},"exports":{"./engine":{"types":"./dist/engine.d.ts","import":"./dist/engine.js"},"./package.json":"./package.json"},"gitHead":"f92417aafab691a3fde951f6a02d10ae0e4fba19","mcpName":"ai.luw/mcp","scripts":{"mcpb":"node scripts/pack-mcpb.mjs","test":"vitest run","build":"node scripts/build.mjs","check":"npm run typecheck && npm test && npm run build","links":"node scripts/install-links.mjs","smoke":"node scripts/smoke.mjs","start":"node dist/cli.js","inspector":"npx -y @modelcontextprotocol/inspector node dist/cli.js","typecheck":"tsc --noEmit","start:http":"node dist/cli.js --http","test:watch":"vitest","prepublishOnly":"npm run check"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"48ec7e6c-00f0-4bb4-9651-95025d1f8c67"}},"repository":{"url":"git+https://github.com/Luvi-io/luw-mcp.git","type":"git"},"_npmVersion":"12.2.2","description":"Official Luw.ai MCP server: AI interior, exterior, landscape, render, video and 3D design tools for Claude, Cursor, VS Code, Windsurf and any MCP client.","directories":{},"_nodeVersion":"24.22.2","_hasShrinkwrap":false,"devDependencies":{"zod":"~4.6.7","vitest":"^3.2.7","esbuild":"^0.25.12","typescript":"^5.9.3","@types/node":"^18.19.130","@pascal-app/mcp":"file:vendor/pascal-app-mcp-1.0.6-luw.tgz","@pascal-app/core":"file:vendor/pascal-app-core-1.0.6-luw.tgz","@pascal-app/nodes":"file:vendor/pascal-app-nodes-1.0.6-luw.tgz","@modelcontextprotocol/sdk":"1.32.1","@modelcontextprotocol/server":"2.4.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.3.10_1794016964505_0.5444432667546294","host":"s3://npm-registry-packages-npm-production"}},"0.3.11":{"name":"@luw-ai/mcp","version":"0.3.11","keywords":["mcp","mcp-server","model-context-protocol","luw","luw.ai","interior-design","architecture","ai-rendering","virtual-staging","real-estate","claude","cursor"],"author":{"url":"https://luw.ai","name":"Luvi Technologies, Inc.","email":"support@luvi.io"},"license":"MIT","_id":"@luw-ai/mcp@0.3.11","maintainers":[{"name":"emiralp","email":"emir@workaxe.com"}],"homepage":"https://github.com/Luvi-io/luw-mcp#readme","bugs":{"url":"https://github.com/Luvi-io/luw-mcp/issues"},"bin":{"luw-mcp":"dist/cli.js"},"dist":{"shasum":"08450457942c93d441fc12f0785a7eb5125d4a99","tarball":"https://registry.npmjs.org/@luw-ai/mcp/-/mcp-0.3.11.tgz","fileCount":6,"integrity":"sha512-ad7lI0Wb4I/MAQEBCe6ATNICh6QQCSNczN6+aEFOGedQnmAcreD+efX+FZE6fY4+GwRNHxxlvMLgGb6ufUhwfg==","signatures":[{"sig":"MEQCIGBkrEjH6fsEx9WKIaFkfRaJdxs2NL+uwUeF+2GB8jAyAiBt8CouyiAXFvWLzJXsMfRld/lTKyu372tg3m0iuVKkaw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCID+qJ/xJ+napU31RjX9jVfWkTocxwtnof/sPEmh7eH9sAiBb3Nci0rmsX5oiKLtU6PJrtt5XBinbD37LDC0uuErbwA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@luw-ai%2fmcp@0.3.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11829814},"type":"module","engines":{"node":">=20"},"exports":{"./engine":{"types":"./dist/engine.d.ts","import":"./dist/engine.js"},"./package.json":"./package.json"},"gitHead":"b0317f0db427f1e1a454c7e05c98e9caf7139057","mcpName":"ai.luw/mcp","scripts":{"mcpb":"node scripts/pack-mcpb.mjs","test":"vitest run","build":"node scripts/build.mjs","check":"npm run typecheck && npm test && npm run build","links":"node scripts/install-links.mjs","smoke":"node scripts/smoke.mjs","start":"node dist/cli.js","inspector":"npx -y @modelcontextprotocol/inspector node dist/cli.js","typecheck":"tsc --noEmit","start:http":"node dist/cli.js --http","test:watch":"vitest","prepublishOnly":"npm run check"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"48ec7e6c-00f0-4bb4-9651-95025d1f8c67"}},"repository":{"url":"git+https://github.com/Luvi-io/luw-mcp.git","type":"git"},"_npmVersion":"12.2.2","description":"Official Luw.ai MCP server: AI interior, exterior, landscape, render, video and 3D design tools for Claude, Cursor, VS Code, Windsurf and any MCP client.","directories":{},"_nodeVersion":"24.22.2","_hasShrinkwrap":false,"devDependencies":{"zod":"~4.6.7","vitest":"^3.2.7","esbuild":"^0.25.12","typescript":"^5.9.3","@types/node":"^18.19.130","@pascal-app/mcp":"file:vendor/pascal-app-mcp-1.0.6-luw.tgz","@pascal-app/core":"file:vendor/pascal-app-core-1.0.6-luw.tgz","@pascal-app/nodes":"file:vendor/pascal-app-nodes-1.0.6-luw.tgz","@modelcontextprotocol/sdk":"1.32.1","@modelcontextprotocol/server":"2.4.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.3.11_1794099637949_0.02398307495506602","host":"s3://npm-registry-packages-npm-production"}},"0.3.12":{"name":"@luw-ai/mcp","version":"0.3.12","keywords":["mcp","mcp-server","model-context-protocol","luw","luw.ai","interior-design","architecture","ai-rendering","virtual-staging","real-estate","claude","cursor"],"author":{"url":"https://luw.ai","name":"Luvi Technologies, Inc.","email":"support@luvi.io"},"license":"MIT","_id":"@luw-ai/mcp@0.3.12","maintainers":[{"name":"emiralp","email":"emir@workaxe.com"}],"homepage":"https://github.com/Luvi-io/luw-mcp#readme","bugs":{"url":"https://github.com/Luvi-io/luw-mcp/issues"},"bin":{"luw-mcp":"dist/cli.js"},"dist":{"shasum":"908a0b5b364557ac96e88724b88c069011777b73","tarball":"https://registry.npmjs.org/@luw-ai/mcp/-/mcp-0.3.12.tgz","fileCount":6,"integrity":"sha512-b+HPwna8AzBvsBEuUXVsUMkOOS+B9SvG+p7PEwS2TS+OPe0vfAzSfdwgjIn28tgje8UPzFrJ9jkpy+LiaVt+Hw==","signatures":[{"sig":"MEUCIQCdSvNMuF9vYI4oDf+8T/g39WxJp/svzs3vwFVeSnL0HQIgbXhK76YA+2CyUqt+tFa5f5LOciuRm1Xe+JWVLSxbgbA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIEExiwXHkNYmmw3Y/ZAX+s9fI/qOeK2x7g6lshRNqmYBAiEAnNoWFp48UT/3hT0z9ks5hIOVzUIvuqtjR+TNTvS5VfY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@luw-ai%2fmcp@0.3.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11829808},"type":"module","engines":{"node":">=20"},"exports":{"./engine":{"types":"./dist/engine.d.ts","import":"./dist/engine.js"},"./package.json":"./package.json"},"gitHead":"0838a79e6b4f78af6703888c37c2774d51747c11","mcpName":"ai.luw/mcp","scripts":{"mcpb":"node scripts/pack-mcpb.mjs","test":"vitest run","build":"node scripts/build.mjs","check":"npm run typecheck && npm test && npm run build","links":"node scripts/install-links.mjs","smoke":"node scripts/smoke.mjs","start":"node dist/cli.js","inspector":"npx -y @modelcontextprotocol/inspector node dist/cli.js","typecheck":"tsc --noEmit","start:http":"node dist/cli.js --http","test:watch":"vitest","prepublishOnly":"npm run check"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"48ec7e6c-00f0-4bb4-9651-95025d1f8c67"}},"repository":{"url":"git+https://github.com/Luvi-io/luw-mcp.git","type":"git"},"_npmVersion":"12.2.2","description":"Official Luw.ai MCP server: AI interior, exterior, landscape, render, video and 3D design tools for Claude, Cursor, VS Code, Windsurf and any MCP client.","directories":{},"_nodeVersion":"24.22.2","_hasShrinkwrap":false,"devDependencies":{"zod":"~4.6.7","vitest":"^3.2.7","esbuild":"^0.25.12","typescript":"^5.9.3","@types/node":"^18.19.130","@pascal-app/mcp":"file:vendor/pascal-app-mcp-1.0.6-luw.tgz","@pascal-app/core":"file:vendor/pascal-app-core-1.0.6-luw.tgz","@pascal-app/nodes":"file:vendor/pascal-app-nodes-1.0.6-luw.tgz","@modelcontextprotocol/sdk":"1.32.1","@modelcontextprotocol/server":"2.4.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.3.12_1794104982560_0.3075669555728777","host":"s3://npm-registry-packages-npm-production"}},"0.3.13":{"name":"@luw-ai/mcp","version":"0.3.13","keywords":["mcp","mcp-server","model-context-protocol","luw","luw.ai","interior-design","architecture","ai-rendering","virtual-staging","real-estate","claude","cursor"],"author":{"url":"https://luw.ai","name":"Luvi Technologies, Inc.","email":"support@luvi.io"},"license":"MIT","_id":"@luw-ai/mcp@0.3.13","maintainers":[{"name":"emiralp","email":"emir@workaxe.com"}],"homepage":"https://github.com/Luvi-io/luw-mcp#readme","bugs":{"url":"https://github.com/Luvi-io/luw-mcp/issues"},"bin":{"luw-mcp":"dist/cli.js"},"dist":{"shasum":"ef7b22c735775280f7a32cdad803d2c91551f196","tarball":"https://registry.npmjs.org/@luw-ai/mcp/-/mcp-0.3.13.tgz","fileCount":7,"integrity":"sha512-1HCZEQHEI0zqv9A3UmSsKodMJX6TzymlOZagITkBWhl/u5la+uZlyT/NuS+JEd8CqHQ9RkENNFyNqGCe+GIj/Q==","signatures":[{"sig":"MEUCIEdynyyUS7hGuZwU8uz+vcjQA9xdCA30e8VNhADYn4gLAiEA+TcivK5blTPiNWETwUO9LospRqSwX9Uu6KT14mM+pDs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDD8tsj4tClt3UCT+1ZKk+chcEtwVU9vA0nblPi1hAIdAiB3fUadSXleVQgf2atRisSuj/1W449dNerUz5d5X5J8Bw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@luw-ai%2fmcp@0.3.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11886413},"type":"module","engines":{"node":">=20"},"exports":{"./engine":{"types":"./dist/engine.d.ts","import":"./dist/engine.js"},"./package.json":"./package.json"},"gitHead":"294895ce6e033835f8e6c266ac93449cf0c08fe9","mcpName":"ai.luw/mcp","scripts":{"mcpb":"node scripts/pack-mcpb.mjs","test":"vitest run","build":"node scripts/build.mjs","check":"npm run typecheck && npm test && npm run build","links":"node scripts/install-links.mjs","smoke":"node scripts/smoke.mjs","start":"node dist/cli.js","inspector":"npx -y @modelcontextprotocol/inspector node dist/cli.js","typecheck":"tsc --noEmit","start:http":"node dist/cli.js --http","test:watch":"vitest","prepublishOnly":"npm run check"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"48ec7e6c-00f0-4bb4-9651-95025d1f8c67"}},"repository":{"url":"git+https://github.com/Luvi-io/luw-mcp.git","type":"git"},"_npmVersion":"12.2.2","description":"Official Luw.ai MCP server: AI interior, exterior, landscape, render, video and 3D design tools for Claude, Cursor, VS Code, Windsurf and any MCP client.","directories":{},"_nodeVersion":"24.22.2","_hasShrinkwrap":false,"devDependencies":{"zod":"~4.6.7","vitest":"^3.2.7","esbuild":"^0.25.12","typescript":"^5.9.3","@types/node":"^18.19.130","@pascal-app/mcp":"file:vendor/pascal-app-mcp-1.0.6-luw.tgz","@pascal-app/core":"file:vendor/pascal-app-core-1.0.6-luw.tgz","@pascal-app/nodes":"file:vendor/pascal-app-nodes-1.0.6-luw.tgz","@modelcontextprotocol/sdk":"1.32.1","@modelcontextprotocol/server":"2.4.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.3.13_1794174283439_0.3721855627807379","host":"s3://npm-registry-packages-npm-production"}},"0.3.14":{"name":"@luw-ai/mcp","version":"0.3.14","keywords":["mcp","mcp-server","model-context-protocol","luw","luw.ai","interior-design","architecture","ai-rendering","virtual-staging","real-estate","claude","cursor"],"author":{"url":"https://luw.ai","name":"Luvi Technologies, Inc.","email":"support@luvi.io"},"license":"SEE LICENSE IN LICENSE","_id":"@luw-ai/mcp@0.3.14","maintainers":[{"name":"emiralp","email":"emir@workaxe.com"}],"homepage":"https://github.com/Luvi-io/luw-mcp#readme","bugs":{"url":"https://github.com/Luvi-io/luw-mcp/issues"},"bin":{"luw-mcp":"dist/cli.js"},"dist":{"shasum":"03414aa277ac1bf156274f64eb5a19b397220822","tarball":"https://registry.npmjs.org/@luw-ai/mcp/-/mcp-0.3.14.tgz","fileCount":7,"integrity":"sha512-uRwbUO9lunYEPZ/xbnRlKz7MhiZzXugUzzwz7nVHv9FP57ro7DxVIRy/T2zqty74QbXSY/8xnoXNOnPwnn2ELg==","signatures":[{"sig":"MEQCICdzHxjr/1t9uvfu3vk56/3gBCBktY649DOBaSv7wqyzAiBFcf6c/fNihQrz2jN5iaecUpAPAIbOT7nvcG+zndSbzg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBInBVh+t7k5t6pDqY2Wzwpg0x3qb3hNzdZVQKA7PVzCAiBgffHkUVby6AUZvDRVQolcRbwNAf3k76iwWufE7X9ikg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@luw-ai%2fmcp@0.3.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6503535},"type":"module","engines":{"node":">=20"},"exports":{"./engine":{"types":"./dist/engine.d.ts","import":"./dist/engine.js"},"./package.json":"./package.json"},"gitHead":"828ebd643a274c0e57bfbd26d5262a899884d791","mcpName":"ai.luw/mcp","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"48ec7e6c-00f0-4bb4-9651-95025d1f8c67"}},"repository":{"url":"git+https://github.com/Luvi-io/luw-mcp.git","type":"git"},"_npmVersion":"12.2.2","description":"Official Luw.ai MCP server: AI interior, exterior, landscape, render, video and 3D design tools for Claude, Cursor, VS Code, Windsurf and any MCP client.","directories":{},"_nodeVersion":"24.22.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp_0.3.14_1794335411872_0.15500758425118444","host":"s3://npm-registry-packages-npm-production"}},"0.3.15":{"name":"@luw-ai/mcp","version":"0.3.15","keywords":["mcp","mcp-server","model-context-protocol","luw","luw.ai","interior-design","architecture","ai-rendering","virtual-staging","real-estate","claude","cursor"],"author":{"url":"https://luw.ai","name":"Luvi Technologies, Inc.","email":"support@luvi.io"},"license":"SEE LICENSE IN LICENSE","_id":"@luw-ai/mcp@0.3.15","maintainers":[{"name":"emiralp","email":"emir@workaxe.com"}],"homepage":"https://github.com/Luvi-io/luw-mcp#readme","bugs":{"url":"https://github.com/Luvi-io/luw-mcp/issues"},"bin":{"luw-mcp":"dist/cli.js"},"dist":{"shasum":"f1836e58fef596bb3622758dbb840f8983f06f91","tarball":"https://registry.npmjs.org/@luw-ai/mcp/-/mcp-0.3.15.tgz","fileCount":7,"integrity":"sha512-0gDWKI/EXtg+1/OckU2V7uvYNhrjxos11KPdmagz+va6IqugoGgj+jDirEZl7suzdJydzMBbYJjP5L0jmAXKaA==","signatures":[{"sig":"MEUCIGTXeoHDlpeF56WFmlc0k/04v1sKKQe1en94FBSXgXy5AiEA6Pj5LYapwwIh3g8N1eIbHfkfmPto9ktueGMtQZkjMf8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDuFCobt9dPwhZn0Tin+qrwXg8KTnt1BIRy0UB/y1fUfgIgM82xtr2G7ZO2t3F555nGocVzU751xymowkbfKF2zKOs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@luw-ai%2fmcp@0.3.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6505515},"type":"module","engines":{"node":">=20"},"exports":{"./engine":{"types":"./dist/engine.d.ts","import":"./dist/engine.js"},"./package.json":"./package.json"},"gitHead":"b8b965d198ae77c6afb3b0098a9ba124807b4ae3","mcpName":"ai.luw/mcp","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"48ec7e6c-00f0-4bb4-9651-95025d1f8c67"}},"repository":{"url":"git+https://github.com/Luvi-io/luw-mcp.git","type":"git"},"_npmVersion":"12.2.2","description":"Official Luw.ai MCP server: AI interior, exterior, landscape, render, video and 3D design tools for Claude, Cursor, VS Code, Windsurf and any MCP client.","directories":{},"_nodeVersion":"24.22.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp_0.3.15_1794337120205_0.6734317330612436","host":"s3://npm-registry-packages-npm-production"}},"0.3.16":{"name":"@luw-ai/mcp","version":"0.3.16","keywords":["mcp","mcp-server","model-context-protocol","luw","luw.ai","interior-design","architecture","ai-rendering","virtual-staging","real-estate","claude","cursor"],"author":{"url":"https://luw.ai","name":"Luvi Technologies, Inc.","email":"support@luvi.io"},"license":"SEE LICENSE IN LICENSE","_id":"@luw-ai/mcp@0.3.16","maintainers":[{"name":"emiralp","email":"emir@workaxe.com"}],"homepage":"https://github.com/Luvi-io/luw-mcp#readme","bugs":{"url":"https://github.com/Luvi-io/luw-mcp/issues"},"bin":{"luw-mcp":"dist/cli.js"},"dist":{"shasum":"907ba9b2dc4a674c024dbc1d36f1bbc9e5bbe462","tarball":"https://registry.npmjs.org/@luw-ai/mcp/-/mcp-0.3.16.tgz","fileCount":7,"integrity":"sha512-/NOM9TgfvIww4Nmhq0vuNn1h+Y2CniFdoG/yIeo6Rdfmg1poZQSr/zB+7BWOGpilwI55f9r1UAi3XF/iV9Vvxg==","signatures":[{"sig":"MEYCIQDUm1WinZy4AYIeqoxj0TtsZNZKeTAv0UFy0mbqxlJ5XgIhAIvj605LomZle+tD97g3+cmwptMnx+Qxn6ZRHO++tUEE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFM3nmz/fOgNVSTnEDibda+Wwcaj7jqPJP2HUvoXvskzAiBSz7PaV4PwJqZVI7yMNig40V1TRilALwBxxU4f+wteiw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@luw-ai%2fmcp@0.3.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7128736},"type":"module","engines":{"node":">=20"},"exports":{"./engine":{"types":"./dist/engine.d.ts","import":"./dist/engine.js"},"./package.json":"./package.json"},"gitHead":"09f6627ab9c2608f1f46ac14fe9b7e2e6344eb37","mcpName":"ai.luw/mcp","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"48ec7e6c-00f0-4bb4-9651-95025d1f8c67"}},"repository":{"url":"git+https://github.com/Luvi-io/luw-mcp.git","type":"git"},"_npmVersion":"12.2.2","description":"Official Luw.ai MCP server: AI interior, exterior, landscape, render, video and 3D design tools for Claude, Cursor, VS Code, Windsurf and any MCP client.","directories":{},"_nodeVersion":"24.22.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp_0.3.16_1794341794437_0.9773337004907791","host":"s3://npm-registry-packages-npm-production"}},"0.3.17":{"_id":"@luw-ai/mcp@0.3.17","bin":{"luw-mcp":"dist/cli.js"},"bugs":{"url":"https://github.com/Luvi-io/luw-mcp/issues"},"dist":{"shasum":"79033b34a5dab12289b3313577d2dea7997e6810","tarball":"https://registry.npmjs.org/@luw-ai/mcp/-/mcp-0.3.17.tgz","fileCount":7,"integrity":"sha512-qNB7F0xAM5oPxCX7GFnIT0lOgSMxiy2I+Oyp4lqPblFt42kiZPM+/aSBcDlihbEjdiv0F92BD+NM1W/7hJuX6w==","signatures":[{"sig":"MEUCIFQTXatUNHy6D/2vVIKs5gqcGsWelLVhNj5kOtWM2hgvAiEAlPPS0TMrp1FOH1hFovGMArQYlesPS92DXCnLfYOoiCY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDXGucQOoQo++b0c0EMbDPjfDkZRjgrrcny4pDQJHUVYgIhAMiKCNIpkZ9Gb7P6wfB6p+MExEX1IAeXHuW/CWGFhHPU"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@luw-ai%2fmcp@0.3.17","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7132966},"name":"@luw-ai/mcp","type":"module","author":{"url":"https://luw.ai","name":"Luvi Technologies, Inc.","email":"support@luvi.io"},"engines":{"node":">=20"},"exports":{"./engine":{"types":"./dist/engine.d.ts","import":"./dist/engine.js"},"./package.json":"./package.json"},"gitHead":"4ec3a5562b91ae943289f438a885f5bc9834d710","license":"SEE LICENSE IN LICENSE","mcpName":"ai.luw/mcp","version":"0.3.17","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"48ec7e6c-00f0-4bb4-9651-95025d1f8c67"}},"homepage":"https://github.com/Luvi-io/luw-mcp#readme","keywords":["mcp","mcp-server","model-context-protocol","luw","luw.ai","interior-design","architecture","ai-rendering","virtual-staging","real-estate","claude","cursor"],"repository":{"url":"git+https://github.com/Luvi-io/luw-mcp.git","type":"git"},"_npmVersion":"12.2.2","description":"Official Luw.ai MCP server: AI interior, exterior, landscape, render, video and 3D design tools for Claude, Cursor, VS Code, Windsurf and any MCP client.","directories":{},"maintainers":[{"name":"emiralp","email":"emir@workaxe.com"}],"_nodeVersion":"24.22.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp_0.3.17_1794422290129_0.29308232152183555"}}},"time":{"created":"2026-10-06T12:53:45.887Z","modified":"2026-11-11T18:38:10.684Z","0.1.0":"2026-10-06T12:53:46.307Z","0.2.0":"2026-10-10T17:36:58.848Z","0.3.0":"2026-10-13T22:10:25.053Z","0.3.1":"2026-10-13T22:29:22.853Z","0.3.2":"2026-10-14T21:21:07.554Z","0.3.3":"2026-10-17T14:16:10.706Z","0.3.4":"2026-10-30T01:05:10.985Z","0.3.5":"2026-10-31T17:23:47.230Z","0.3.6":"2026-11-05T10:52:20.501Z","0.3.7":"2026-11-06T03:52:18.165Z","0.3.8":"2026-11-06T14:58:13.281Z","0.3.9":"2026-11-07T00:01:32.661Z","0.3.10":"2026-11-07T02:02:44.709Z","0.3.11":"2026-11-08T01:00:38.121Z","0.3.12":"2026-11-08T02:29:42.735Z","0.3.13":"2026-11-08T21:44:43.597Z","0.3.14":"2026-11-10T18:30:12.058Z","0.3.15":"2026-11-10T18:58:40.394Z","0.3.16":"2026-11-10T20:16:34.607Z","0.3.17":"2026-11-11T18:38:10.303Z"},"bugs":{"url":"https://github.com/Luvi-io/luw-mcp/issues"},"author":{"url":"https://luw.ai","name":"Luvi Technologies, Inc.","email":"support@luvi.io"},"license":"SEE LICENSE IN LICENSE","homepage":"https://github.com/Luvi-io/luw-mcp#readme","keywords":["mcp","mcp-server","model-context-protocol","luw","luw.ai","interior-design","architecture","ai-rendering","virtual-staging","real-estate","claude","cursor"],"repository":{"url":"git+https://github.com/Luvi-io/luw-mcp.git","type":"git"},"description":"Official Luw.ai MCP server: AI interior, exterior, landscape, render, video and 3D design tools for Claude, Cursor, VS Code, Windsurf and any MCP client.","maintainers":[{"name":"emiralp","email":"emir@workaxe.com"}],"readme":"<p align=\"center\">\n  <a href=\"https://luw.ai\">\n    <picture>\n      <source media=\"(prefers-color-scheme: dark)\" srcset=\"assets/logo-white.svg\">\n      <img alt=\"Luw.ai\" src=\"assets/logo-black.svg\" height=\"56\">\n    </picture>\n  </a>\n</p>\n\n<h3 align=\"center\">Official Luw.ai MCP server</h3>\n\n<p align=\"center\">\n  AI interior, exterior and landscape design, photoreal rendering, image editing, video and 3D,<br>\n  inside ChatGPT, Claude, Cursor, VS Code, Windsurf, Codex and any other MCP client.\n</p>\n\n<p align=\"center\">\n  <a href=\"https://www.npmjs.com/package/@luw-ai/mcp\"><img alt=\"npm\" src=\"https://img.shields.io/npm/v/@luw-ai/mcp?style=flat-square&color=6b46c1\"></a>\n  <a href=\"https://github.com/Luvi-io/luw-mcp/actions/workflows/ci.yml\"><img alt=\"CI\" src=\"https://img.shields.io/github/actions/workflow/status/Luvi-io/luw-mcp/ci.yml?style=flat-square&label=CI\"></a>\n</p>\n\n<p align=\"center\">\n  <a href=\"https://chatgpt.com/plugins/plugin_asdk_app_6ac8d1bd0f908191a97db90c129430f6\"><img alt=\"Add to ChatGPT\" src=\"https://img.shields.io/badge/ChatGPT-Add_Luw.ai-10A37F?style=for-the-badge\" height=\"32\"></a>\n  &nbsp;\n  <a href=\"https://cursor.com/en-US/install-mcp?name=luw&config=eyJ1cmwiOiJodHRwczovL21jcC5sdXcuYWkvbWNwIn0%3D\"><img alt=\"Add to Cursor\" src=\"https://cursor.com/deeplink/mcp-install-dark.svg\" height=\"32\"></a>\n  &nbsp;\n  <a href=\"https://vscode.dev/redirect/mcp/install?name=luw&config=%7B%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.luw.ai%2Fmcp%22%7D\"><img alt=\"Install in VS Code\" src=\"https://img.shields.io/badge/VS_Code-Install_Luw.ai-0098FF?style=for-the-badge\" height=\"32\"></a>\n  &nbsp;\n  <a href=\"https://github.com/Luvi-io/luw-mcp/releases/latest/download/luw.mcpb\"><img alt=\"Add to Claude Desktop\" src=\"https://img.shields.io/badge/Claude_Desktop-Install_Luw.ai-D97757?style=for-the-badge&logo=claude&logoColor=white\" height=\"32\"></a>\n  &nbsp;\n  <a href=\"https://kiro.dev/launch/mcp/add?name=luw&config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40luw-ai%2Fmcp%22%5D%2C%22env%22%3A%7B%22LUW_API_KEY%22%3A%22YOUR_LUW_API_KEY%22%7D%7D\"><img alt=\"Add to Kiro\" src=\"https://kiro.dev/images/add-to-kiro.svg\" height=\"32\"></a>\n</p>\n\n---\n\n```text\nYou:     Redesign ~/Desktop/living-room.jpg in Japandi style, give me 2 options.\nClaude:  ⟶ luw_interior_design  ✓ 2 designs in 21s   [shows both images]\nYou:     Love the first one. Make the sofa green velvet, then turn it into a fly-through video.\nClaude:  ⟶ luw_edit_image ⟶ luw_generate_video   ✓\n```\n\n## Quick start\n\n**Add `https://mcp.luw.ai/mcp` to your client and sign in to Luw.ai.** Nothing to install, no key to copy: signing in creates one for you. New accounts get free credits. To disconnect, delete that key on the [API page](https://app.luw.ai/dashboard/api).\n\n<details open>\n<summary><b>Claude (claude.ai, Claude Desktop, mobile)</b></summary>\n\n*Settings → Connectors → Add custom connector*, paste `https://mcp.luw.ai/mcp`, then **Connect** and sign in to Luw.ai.\n</details>\n\n<details open>\n<summary><b>Claude Code</b></summary>\n\n```bash\nclaude mcp add --transport http luw https://mcp.luw.ai/mcp --scope user\n```\n\nThen type `/mcp`, pick **luw** and sign in.\n</details>\n\n<details open>\n<summary><b>ChatGPT</b></summary>\n\nOpen [Luw.ai in ChatGPT](https://chatgpt.com/plugins/plugin_asdk_app_6ac8d1bd0f908191a97db90c129430f6), add it and sign in to Luw.ai.\n\nThe [Luw Studio tools](#luw-studio-edit-your-3d-projects) aren't in ChatGPT's directory yet; add them yourself: *Settings → Apps & Connectors → Advanced settings*, turn on **Developer mode**, then **Create**: URL `https://mcp.luw.ai/studio`, authentication **OAuth**, and sign in.\n</details>\n\n<details>\n<summary><b>Cursor</b></summary>\n\nClick **Add to Cursor** above, or add to `~/.cursor/mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"luw\": { \"url\": \"https://mcp.luw.ai/mcp\" }\n  }\n}\n```\n\nCursor shows **Needs login** next to luw; click it to sign in.\n</details>\n\n<details>\n<summary><b>VS Code (Copilot)</b></summary>\n\nClick **Install in VS Code** above, or add to `.vscode/mcp.json`:\n\n```json\n{\n  \"servers\": {\n    \"luw\": { \"type\": \"http\", \"url\": \"https://mcp.luw.ai/mcp\" }\n  }\n}\n```\n\nVS Code asks you to sign in the first time a tool runs.\n</details>\n\n<details>\n<summary><b>Any other client with remote MCP support</b></summary>\n\n| | |\n|---|---|\n| URL | `https://mcp.luw.ai/mcp` |\n| Transport | Streamable HTTP |\n| Auth | Sign in (MCP OAuth), or header `Authorization: Bearer YOUR_LUW_API_KEY` |\n\nFor a client that can't sign in, create a key at [app.luw.ai/dashboard/api](https://app.luw.ai/dashboard/api) and send it as a header:\n\n```json\n{\n  \"mcpServers\": {\n    \"luw\": {\n      \"url\": \"https://mcp.luw.ai/mcp\",\n      \"headers\": { \"Authorization\": \"Bearer YOUR_LUW_API_KEY\" }\n    }\n  }\n}\n```\n\nIf it can neither sign in nor send headers, 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.\n</details>\n\nThe 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 give it image URLs, or use the local setup below.\n\n### Local: work with files on your computer\n\nThe local server runs on your machine with `npx`, so it can read paths like `~/Desktop/room.jpg`. It needs [Node.js](https://nodejs.org) 18+ and an API key from [app.luw.ai/dashboard/api](https://app.luw.ai/dashboard/api).\n\n<details>\n<summary><b>Claude Code</b></summary>\n\n```bash\nclaude mcp add luw --scope user --env LUW_API_KEY=YOUR_LUW_API_KEY -- npx -y @luw-ai/mcp\n```\n\nOr install it as a plugin. Claude Code asks for your key and keeps it in secure storage:\n\n```bash\nclaude plugin marketplace add Luvi-io/luw-mcp\nclaude plugin install luw@luw-ai\n```\n</details>\n\n<details>\n<summary><b>Claude Desktop</b></summary>\n\n**One click:** download [**luw.mcpb**](https://github.com/Luvi-io/luw-mcp/releases/latest/download/luw.mcpb), double-click it, paste your API key. No Node.js needed.\n\nOr add this to `claude_desktop_config.json` (*Settings → Developer → Edit Config*):\n\n```json\n{\n  \"mcpServers\": {\n    \"luw\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@luw-ai/mcp\"],\n      \"env\": { \"LUW_API_KEY\": \"YOUR_LUW_API_KEY\" }\n    }\n  }\n}\n```\n</details>\n\n<details>\n<summary><b>Cursor</b></summary>\n\nAdd to `~/.cursor/mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"luw\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@luw-ai/mcp\"],\n      \"env\": { \"LUW_API_KEY\": \"YOUR_LUW_API_KEY\" }\n    }\n  }\n}\n```\n</details>\n\n<details>\n<summary><b>VS Code (Copilot)</b></summary>\n\nAdd to `.vscode/mcp.json`. VS Code asks for your key and keeps it in its secret storage:\n\n```json\n{\n  \"inputs\": [{ \"type\": \"promptString\", \"id\": \"luw_api_key\", \"description\": \"Luw.ai API key\", \"password\": true }],\n  \"servers\": {\n    \"luw\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@luw-ai/mcp\"],\n      \"env\": { \"LUW_API_KEY\": \"${input:luw_api_key}\" }\n    }\n  }\n}\n```\n</details>\n\n<details>\n<summary><b>Windsurf (Devin Desktop)</b></summary>\n\nAdd to `~/.config/devin/mcp_config.json` (Windows: `%APPDATA%\\devin\\mcp_config.json`). Older Windsurf versions use `~/.codeium/windsurf/mcp_config.json`.\n\n```json\n{\n  \"mcpServers\": {\n    \"luw\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@luw-ai/mcp\"],\n      \"env\": { \"LUW_API_KEY\": \"YOUR_LUW_API_KEY\" }\n    }\n  }\n}\n```\n</details>\n\n<details>\n<summary><b>OpenAI Codex CLI</b></summary>\n\n```bash\ncodex mcp add luw --env LUW_API_KEY=YOUR_LUW_API_KEY -- npx -y @luw-ai/mcp\n```\n\nOr in `~/.codex/config.toml`:\n\n```toml\n[mcp_servers.luw]\ncommand = \"npx\"\nargs = [\"-y\", \"@luw-ai/mcp\"]\nenv = { LUW_API_KEY = \"YOUR_LUW_API_KEY\" }\n```\n</details>\n\n<details>\n<summary><b>Gemini CLI</b></summary>\n\n```bash\ngemini extensions install https://github.com/Luvi-io/luw-mcp\n```\n\nGemini CLI asks for your key and keeps it in the system keychain. Or add to `~/.gemini/settings.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"luw\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@luw-ai/mcp\"],\n      \"env\": { \"LUW_API_KEY\": \"YOUR_LUW_API_KEY\" }\n    }\n  }\n}\n```\n</details>\n\n<details>\n<summary><b>Kiro</b></summary>\n\nClick **Add to Kiro** above, confirm, then replace `YOUR_LUW_API_KEY` in Kiro's MCP config.\n</details>\n\nWindows: if `npx` isn't found, use `\"command\": \"cmd\", \"args\": [\"/c\", \"npx\", \"-y\", \"@luw-ai/mcp\"]`.\n\n## What you can ask\n\n- *\"Redesign this bedroom (`~/Downloads/bedroom.jpg`) as Mid-Century Modern, 3 variations.\"*\n- *\"This listing photo is an empty room. Stage it as a cozy Scandinavian living room.\"*\n- *\"Render my sketch `plan-sketch.png` as a photoreal modern villa at golden hour.\"*\n- *\"Change the floor in this kitchen to herringbone oak.\"* (segments the floor, then swaps the material)\n- *\"Remove all the furniture from this room.\"*\n- *\"Put this chair photo on a terrazzo floor in a sunlit gallery for an ad.\"*\n- *\"Turn this render into a drone fly-through video.\"*\n- *\"Make a 3D model of this armchair from these 3 photos.\"*\n- *\"Seamless blue zellige tile texture, 1024px.\"*\n- *\"Ask ArchiGPT how to improve the feng shui of this floor plan.\"*\n\nBuilt-in prompts show up as slash commands or prompt templates in your client: `redesign_room`, `stage_empty_room`, `sketch_to_render`, `product_shot`.\n\n## Tools\n\n| Tool | What it does | Credits |\n|---|---|---|\n| `luw_interior_design` | Redesign a room in any style; `empty_room` for virtual staging | 1 |\n| `luw_exterior_design` | Redesign a facade or building exterior | 1 |\n| `luw_sketch_to_render` | Sketch or drawing to photoreal render | 1 |\n| `luw_render` | 3D, CAD or clay view to photoreal render | 1 |\n| `luw_edit_image` | Edit any image with a sentence (Magic Prompt); 2K/4K | 1 |\n| `luw_magic_wand` | Masked edit: replace, remove, or apply a material | 1 |\n| `luw_landscape_design` | Gardens and outdoor areas, matched to climate and sun | 1 |\n| `luw_upscale_image` | Enhance and enlarge 2/4/8× | 1 |\n| `luw_expand_image` | Outpaint a cropped photo to a wider view | 1 |\n| `luw_remove_furniture` | Empty a furnished room | 1 |\n| `luw_vectorize_image` | Photo or drawing to SVG | 1 |\n| `luw_background` | Remove a background, or replace it with a generated scene | 1 |\n| `luw_segment` | Object masks (all objects, or by prompt) as image URLs | 1 |\n| `luw_generate_image` | Text to image (Fluw), or `format: \"svg\"` for vectors | 2 |\n| `luw_generate_pattern` | Seamless, tileable textures and patterns | 1 |\n| `luw_generate_video` | Image to cinematic video with 12 camera motions, optionally ending on an `end_image` | 10 (20 with Symphony) |\n| `luw_image_to_3d` | Photos to a textured 3D model (GLB) | 3 (8 with Symphony) |\n| `luw_archigpt` | Ask ArchiGPT, an AI architect, a standalone question (accepts images) | 1 per ~3k words |\n| `luw_get_result` | Collect a long-running job (free) | 0 |\n| `luw_list_options` | Valid styles, room and building types, camera motions, materials (free) | 0 |\n| `luw_upload_file` | Upload a file to Luw.ai storage and get a URL (free) | 0 |\n| `luw_run_model` | Call any Luw.ai model with raw [API parameters](https://luw-ai.gitbook.io/api) (local server only) | varies |\n| `luw_personas` | Personas: reusable style identity, training images and slots (local server only) | 0 |\n| `luw_projects` | Projects (boards), folders and media (local server only; hosted: `luw://projects` resources) | 0 |\n| `luw_team` | Enterprise: credits, usage, members, invitations (opt-in) | 0 |\n\nEvery generation uses your [Luw.ai credits](https://app.luw.ai/pricing). Variations are billed one generation each.\n\n## Luw Studio: edit your 3D projects\n\n[Luw Studio](https://studio.luw.ai) designs buildings in 3D. With the studio tools, your assistant edits your Studio projects directly: rooms, walls, doors and windows, stairs, roofs, furniture and finishes. Each edit is saved to the project as it is made, and a Studio tab that has the project open shows it within seconds.\n\n- **Hosted:** add `https://mcp.luw.ai/studio` instead of `/mcp` (same sign-in). It has every hosted tool plus the studio tools.\n- **Local:** add `studio` to `LUW_TOOLSETS`, e.g. `LUW_TOOLSETS=generate,archigpt,personas,projects,studio`.\n\n*\"In my Luw Studio project Beach House, add a 3×4 m bedroom east of the living room with a window, and furnish it.\"*\n\n| Tool | What it does |\n|---|---|\n| `luw_studio_list_projects` | Your Studio projects, newest first, with each `project_id` and Studio link |\n| `luw_studio_create_project` | A new project: an empty site, or a starter house (`list_templates`) |\n| `luw_studio_rename_project` | Rename a project |\n| `luw_studio_undo` | Put back the scene from before the last assistant edit (again: redo) |\n| Scene tools | Luw Studio's editor tools, each taking a `project_id`: read (`get_level_summary`, `get_zones`, `get_walls`, `find_nodes`, `measure`, `verify_scene`, …) and build (`create_story_shell`, `create_room`, `add_wall`, `add_door`, `add_window`, `create_stair`, `create_roof`, `furnish_room`, `place_items`, `paint`, `apply_patch`, …) |\n\nThe scene tools run on the same core as Luw Studio, with its catalog (Luw's own pieces included) and its defaults. They don't use credits. A project last saved by the previous Luw Studio is readable; open it once in Studio to edit it here. `luw://studio/guide` is the building guide the assistant reads first.\n\n## Resources\n\nRead-only context you can attach to a conversation. In Claude Code, type `@luw:` to pick one; other clients that support resources offer them as attachments.\n\n| Resource | What it holds |\n|---|---|\n| `luw://account` | Your credit balance |\n| `luw://history/{app}` | Your 10 most recently updated projects in one Luw.ai app (Interior, Exterior, Video, …) with their latest results: file links, prompts and source images |\n| `luw://projects/{id}` | One project: its folders and the file link of every item in it |\n| `luw://catalog/{kind}` | Design styles, room and building types, video camera motions, materials and persona professions, with previews |\n| `luw://guide` | Every tool and what it costs |\n\n## How it works\n\n- **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.\n- **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.\n- **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.\n- **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.\n- **Masks are handled for you.** `luw_segment` returns masks as URLs, so *\"change the floor\"* becomes segment ⟶ magic wand with no manual masking.\n- **Fast startup.** The package is one bundled file with zero dependencies, so `npx` downloads a single ~0.9 MB package and starts right away.\n\n## Configuration\n\n| Variable | Default | |\n|---|---|---|\n| `LUW_API_KEY` | (required) | Your API key ([get one](https://app.luw.ai/dashboard/api)). `LUW_API_TOKEN` also works. |\n| `LUW_OUTPUT_DIR` | (off) | Also download results (images, videos, GLB, SVG) into this folder |\n| `LUW_TOOLSETS` | all except `team` and `studio` | Comma-separated list from `generate`, `archigpt`, `personas`, `projects`, `team`, `studio`, or `all` |\n| `LUW_STUDIO_CATALOG_URL` | `https://studio.luw.ai/api/catalog` | Where the studio tools read Luw Studio's item catalog; empty uses the built-in list |\n| `LUW_WAIT_TIMEOUT_SECONDS` | `50` | How long a call waits before returning a `processing_url`. Raise it for clients with long tool timeouts, such as Claude Code. |\n| `LUW_INLINE_IMAGES` | `true` | Embed result images in tool output |\n| `LUW_API_BASE_URL` | `https://api.luw.ai/v2` | API endpoint override |\n\n## Self-hosting the remote server\n\nThe same package serves the hosted Streamable HTTP endpoint:\n\n```bash\nnpx -y @luw-ai/mcp --http --port 8080 --host 0.0.0.0   # MCP at /mcp, health at /health\n```\n\n```bash\ndocker build -t luw-mcp . && docker run -p 8080:8080 luw-mcp\n```\n\nIt's stateless. Each request brings its own key in `Authorization: Bearer …`, `X-Luw-Api-Key`, or `?api_key=`. Set `LUW_MCP_OAUTH_SECRET` to also let clients sign in to Luw.ai instead (OAuth); the sign-in hands the client an ordinary API key. It deploys to Vercel as-is (`vercel.json` is included), and a `Procfile` is included for Heroku. See [docs/maintainers.md](docs/maintainers.md) for deployment and release steps.\n\n## Development\n\n```bash\nnpm ci\nnpm test               # unit and protocol tests (no network)\nnpm run build          # bundles dist/cli.js\nnpm run inspector      # try every tool in the MCP Inspector\nLUW_API_KEY=... npm run smoke            # live checks against the real API (free)\nLUW_API_KEY=... npm run smoke -- --paid  # plus one real generation (1 credit)\nnpm run mcpb           # build/luw.mcpb, the Claude Desktop extension\nnode scripts/vendor-editor.mjs ../luwstudio2  # rebuild vendor/: the editor core + MCP as Luw Studio runs them\n```\n\n## Support\n\n- API reference: [luw-ai.gitbook.io/api](https://luw-ai.gitbook.io/api)\n- Issues: [GitHub Issues](https://github.com/Luvi-io/luw-mcp/issues)\n- Email: [support@luvi.io](mailto:support@luvi.io)\n\n© [Luvi Technologies, Inc.](https://www.luvi.io), all rights reserved. Free to install and run with your Luw.ai account; copying, changing or redistributing it is not allowed (see [LICENSE](LICENSE)). Bundled open-source components and their licenses: `dist/THIRD_PARTY_NOTICES.md`.\n","readmeFilename":"README.md"}