{
  "markdown": "# AI HomeDesign MCP Server — AI Virtual Staging, Home Staging & Interior Design for Claude\n\n> An open‑source **Model Context Protocol (MCP) server** for **AI virtual staging**\n> and **real‑estate photography** editing. It turns the\n> [AI HomeDesign](https://www.aihomedesign.com) photo API into natural‑language\n> tools, so **Claude** — or any MCP client — can do **virtual home staging**,\n> **AI interior design**, photo enhancement, decluttering, and day‑to‑dusk\n> conversions just by being asked.\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n[![Model Context Protocol](https://img.shields.io/badge/MCP-compatible-blue)](https://modelcontextprotocol.io)\n[![Python 3.12+](https://img.shields.io/badge/python-3.12%2B-3776AB)](https://www.python.org)\n\n---\n\n## What is this?\n\n**AI HomeDesign MCP Server** exposes the [AI HomeDesign V3 API](https://www.aihomedesign.com)\nas a set of [Model Context Protocol](https://modelcontextprotocol.io) tools over\nstreamable HTTP. Any MCP‑compatible AI client — **Claude Desktop, Claude in the\nbrowser, Cursor, and more** — can then run professional **real‑estate photo editing**\nin plain English:\n\n- 🛋️ **Virtual staging** — furnish an empty room with photorealistic AI furniture in a chosen design style. Digital **home staging** in seconds, with no physical furniture.\n- 🎨 **Virtual restaging & AI interior design** — replace existing furniture or fully redesign a furnished room.\n- ✨ **Image enhancement** — fix lighting, sharpness, and color balance for listing‑ready photos.\n- 🧹 **Item removal / decluttering** — automatically remove furniture and clutter to reveal a clean space.\n- 🌆 **Day to dusk** — convert a daytime exterior into a warm twilight / dusk scene.\n- 🧱 **Wall, floor & ceiling changes** — restyle surfaces with a tasteful AI finish.\n\nBecause it speaks MCP, there is **no SDK to learn** — you describe what you want and\nthe model calls the right tool with the right parameters.\n\n## Why virtual staging and home staging over MCP?\n\nTraditional home staging means renting furniture and scheduling a shoot. **Virtual\nstaging for realtors** replaces that with an edited photo — but it still costs hours\nin editing tools or days of turnaround from a staging service.\n\nThis server collapses that into a conversation: drop in a listing photo, pick a\nstyle, and get back a downloadable, market‑ready image. It's **multi‑tenant** (every\ncaller uses their own AI HomeDesign key), **stateless**, and **self‑hostable**, so\nit fits both a single agent and a production PropTech product.\n\n---\n\n## Available tools\n\n| Tool | What it does | Input |\n| --- | --- | --- |\n| `list_capabilities` | List every tool, grouped by category | — |\n| `list_styles` | List allowed design styles, room types & widget options | — |\n| `describe_tool` | Show a tool's inputs + a ready‑to‑use example payload | tool slug |\n| `virtual_staging` | Furnish an **empty** room in a design style | image + style + room |\n| `virtual_restaging` | Swap furniture in an **already‑furnished** room | image + style + room |\n| `interior_design` | Fully redesign a furnished room | image + style + room |\n| `enhance_image` | Improve lighting, sharpness & color | image |\n| `remove_items` | Declutter / remove furniture | image |\n| `day_to_dusk` | Turn a daytime exterior into dusk | image |\n| `change_wall` / `change_floor` / `change_ceiling` | Restyle a surface | image + room |\n| `create_project` · `create_order` · `run_process` · `get_process` · `wait_for_result` | Low‑level primitives for full control | see `describe_tool` |\n\nEvery helper accepts an **image URL** or a **base64 image**, and returns\ndownloadable result‑image URLs.\n\n**Supported design styles:** `prime`, `modern`, `farmhouse`, `scandinavian`,\n`hampton`, `industrial`, `traditional`, `contemporary`.\n**Supported room types:** bedroom, living‑room, kitchen, bathroom, dining‑room,\nhome‑office, outdoor, nursery.\n\n---\n\n## Quick start\n\n### Option A — Connect to the hosted server (no setup)\n\n1. **Get your API key.** Sign in at [aihomedesign.com](https://www.aihomedesign.com),\n   open **API / Developer settings**, and copy your `x-api-key`.\n2. **Generate your connector link.** Paste that key into the generator at\n   **[aihomedesign.com/mcp](https://aihomedesign.com/mcp)**. The key is validated\n   server‑side once, then stored **encrypted**; you get back a personal endpoint:\n\n   ```\n   https://mcp.aihomedesign.com/aihd_<your-token>/mcp\n   ```\n\n   Your raw key never appears in the URL.\n3. **Add it to your AI assistant.** In Claude: **Settings → Connectors → Add custom\n   connector**, name it *AI HomeDesign*, and paste the URL. Every tool shows up\n   automatically. Works with any MCP‑compatible client.\n\n> ⚠️ The connector link does not contain your raw key, but it **grants access to your\n> account — treat it like a password.** Rotating your key in the AI HomeDesign\n> dashboard revokes every link previously issued for it.\n\nServer health check, no key needed: [`mcp.aihomedesign.com/health`](https://mcp.aihomedesign.com/health)\n\n### Option B — Self‑host with Docker\n\n```bash\ngit clone https://github.com/AIHomeDesign/aihomedesign-mcp.git\ncd aihomedesign-mcp\ncp .env.example .env      # add your AIHD_API_KEY (and DB_DSN/TOKEN_SECRET for multi-tenant)\n\ndocker build -t aihomedesign-mcp .\ndocker run -p 8080:8080 --env-file .env aihomedesign-mcp\n```\n\nThe MCP endpoint is served at `http://localhost:8080/mcp` (streamable HTTP), with a\nhealth check at `GET /health`.\n\n### Option C — Run locally with Python\n\n```bash\npip install -r requirements.txt\nexport AIHD_API_KEY=your_key_here\npython app/server.py\n```\n\n---\n\n## Configuration\n\nAll configuration is via environment variables — see [`.env.example`](.env.example).\n\n| Variable | Purpose | Default |\n| --- | --- | --- |\n| `AIHD_API_KEY` | Default/fallback AI HomeDesign x‑api‑key | — |\n| `AIHD_API_BASE` | API base URL | `https://api.aihomedesign.com/v3` |\n| `PORT` | Listen port | `8080` |\n| `DB_DSN` | Postgres DSN for token map + usage log (optional) | — |\n| `TOKEN_SECRET` | Fernet key to encrypt user keys at rest (optional) | — |\n| `MCP_CONNECTOR_BASE` | Base used to build connector links | — |\n| `UPLOAD_DIR` / `PUBLIC_BASE` | Enable the built‑in image‑upload endpoint | — |\n\n### Security & multi‑tenant design\n\n- **Bring‑your‑own‑key:** each request carries the caller's own AI HomeDesign key; jobs run under that key.\n- **Keys never sit in the URL:** the landing page validates a key, then mints an opaque\n  `aihd_…` connector token; the raw key is stored **encrypted at rest** (Fernet) and\n  swapped back in per request.\n- **Usage logging** records the tool, status, and timing per call — never the raw key\n  (only a short, non‑reversible fingerprint).\n- **Graceful degradation:** if the database is unreachable, the server keeps serving.\n\n---\n\n## How it works\n\n```\nMCP client (Claude, Cursor, …)\n        │  streamable HTTP  /mcp\n        ▼\nAI HomeDesign MCP server  ──►  AI HomeDesign V3 API  ──►  result image URLs\n   (this repo)                  (api.aihomedesign.com)\n```\n\nThe server is built on [FastMCP](https://modelcontextprotocol.io) and Starlette/uvicorn,\nwith a pure‑ASGI auth middleware that binds the per‑request key.\n\n## Tech stack\n\nPython 3.12 · [MCP](https://modelcontextprotocol.io) (FastMCP) · Starlette · uvicorn ·\nhttpx · PostgreSQL (optional) · Docker.\n\n## FAQ\n\n### What is an MCP server?\n\nAn **MCP server** exposes tools, data, and prompts to an AI model through the\n[Model Context Protocol](https://modelcontextprotocol.io) — an open standard\nintroduced by Anthropic. The model discovers the available tools at runtime and\ncalls them itself, so you never write glue code against a bespoke SDK. This repo is\nan MCP server whose tools happen to edit real‑estate photos.\n\n### How do you virtually stage a photo with this?\n\nConnect the server to Claude, then send an empty‑room photo and ask for a style —\nfor example *\"stage this living room in a scandinavian style.\"* Claude calls the\n`virtual_staging` tool with the right parameters and returns a downloadable,\nphotorealistic image. No manual editing, no design software.\n\n### Is this AI virtual staging free?\n\nThe MCP server itself is open source and MIT‑licensed, so you can self‑host it at no\ncost. The image processing runs on the [AI HomeDesign](https://www.aihomedesign.com)\nAPI and uses your own API key.\n\n### Does it work with clients other than Claude?\n\nYes. It speaks standard MCP over streamable HTTP, so any MCP‑compatible client —\nClaude Desktop, Claude in the browser, Cursor, and others — can use it.\n\n### What is the difference between virtual staging and virtual restaging?\n\n**Virtual staging** furnishes an *empty* room. **Virtual restaging** swaps the\nfurniture in an *already‑furnished* room. Use `interior_design` when you want to\nredesign a furnished room completely rather than just replace the furniture.\n\n---\n\n## Learn more\n\n- 🔌 Connect in one click: [aihomedesign.com/mcp](https://aihomedesign.com/mcp)\n- 🌐 Website: [aihomedesign.com](https://www.aihomedesign.com)\n- 📖 Model Context Protocol: [modelcontextprotocol.io](https://modelcontextprotocol.io)\n\n## Contributing\n\nIssues and pull requests are welcome. Please open an issue to discuss substantial\nchanges first.\n\n## License\n\nReleased under the [MIT License](LICENSE).\n\n---\n\n<sub>Keywords: MCP server · Model Context Protocol · Claude MCP · Anthropic MCP · MCP tools ·\nvirtual staging · AI virtual staging · virtual staging software · home staging ·\nvirtual staging for realtors · AI home design · AI interior design · real estate photography ·\nreal estate photo editing · virtual restaging · day to dusk · image enhancement ·\nitem removal · real estate AI · PropTech.</sub>\n",
  "bytes": 9715,
  "sha": "09f1266639020a4046f74b41d1d859966957baa415bfaec7dc437255749ab499",
  "repo_slug": "aihomedesign/aihomedesign-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_com_aihomedesign_aihomedesign_mcp_0072a6f0/readme"
}