Open-Source Cold Email & Warmup Platform
Warmbly is the open-source platform for cold email: warm your mailboxes, send campaigns, and triage every reply. Run it on our cloud or self-host the whole thing.
Turn property listing photos into cinematic videos and AI-staged interiors in minutes. Built for real estate agents who need posting-ready video without a camera crew.
MarketingTypeScriptGitHub @TryReelEstateOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Generate real estate listing videos from Claude, Cursor & any AI assistant. MCP server for Reel Estate — AI virtual staging, twilight photo editing, drone-style motion clips, voiceover, and one-click rendering for Instagram, TikTok & YouTube
Taken from the repository README
Loading the full README.
Read the full README ↗Turn real-estate listing photos into cinematic property videos from your AI
assistant. reel-estate-mcp is a Model Context Protocol
(MCP) server that connects Claude, Cursor, and other AI assistants to your
Reel Estate account — so you can generate motion
clips, AI-edit photos (virtual staging, twilight, seasonal), add voiceover, and
render finished listing videos, all in plain language.
Reel Estate is the AI real-estate video platform that turns property photos into scroll-stopping listing videos. Create a free account at tryreelestate.com.
You sign in once through your browser (OAuth + PKCE — no API keys, no secrets),
and every call is proxied through the backend's /mcp endpoint, which stays the
single authority for auth, plans, and permissions. This bridge's one superpower on
top of that: it can read local image files and stream them straight into a
project — something a purely remote server can't do.
Nothing to clone or build — your MCP client launches it on demand via npx. You
only need Node.js ≥ 18. (Prefer a global command? npm install -g reel-estate-mcp,
then use reel-estate-mcp in place of npx -y reel-estate-mcp below.)
Zero config — the bridge connects to Reel Estate and handles browser sign-in for you. There's nothing to set up.
claude mcp add reel-estate -- npx -y reel-estate-mcp
Add to your client's MCP config (claude_desktop_config.json, ~/.cursor/mcp.json):
{
"mcpServers": {
"reel-estate": {
"command": "npx",
"args": ["-y", "reel-estate-mcp"]
}
}
}
The first tool call opens your browser to sign in with your Reel Estate account
(Clerk OAuth, authorization code + PKCE). After you approve, the browser returns to
http://localhost:8765/callback, tokens cache under ~/.reel-estate-mcp, and
you're in — you won't log in again until the token expires.
Start with whoami to confirm auth and see your plan, then just ask:
To switch users or re-authorize, run logout (revokes server-side + clears
the cache) or delete ~/.reel-estate-mcp.
All API tools proxy through the backend's /mcp api_request, so the backend's
own authorization and plan rules apply.
| Tool | What it does |
|---|---|
help | Guided, always-current walkthrough (also the getting_started prompt) |
whoami | Confirm auth; reports plan, canWrite, and a writeAccess reason. Run first. |
login / logout | Start browser sign-in / clear the session (server revoke + local cache) |
list_projects · get_project · project_stats | Browse projects |
list_clips · list_movies · list_voices | Browse clips, rendered movies, TTS voices |
resolve_address | Geocode a free-text address → ranked candidates (for real-listing projects) |
add_image_from_file | Upload a local image into a project (presigned upload — no storage creds) |
ez_reel_add_photos · ez_reel_import_photos | Upload 10 to 20 local photos into EZ Reel (presigned), or reuse photos already in a project |
ez_reel_catalog | EZ Reel templates and songs |
ez_reel_create · ez_reel_quote · ez_reel_submit · ez_reel_status | The fast path: build a finished listing reel from photos, a template and a song; price it, render it (asks for cost confirmation), poll for the video |
list_reels | Browse EZ Reels |
generate_clip · get_clip_status | Animate a photo into a video clip (Runway); poll the job |
edit_image | AI photo edit — virtual staging, twilight, upscale, seasonal, replace/remove/add, manual |
add_timeline_audio · add_timeline_overlay | Place voiceover/music/audio or an image/text overlay |
move_timeline_element · reorder_timeline | Retime / resequence the timeline |
Writes and generation over the MCP require a paid plan — free accounts are
read-only (browse projects, clips, and movies). whoami reports this up front;
a blocked write returns 403 MCP_PAID_PLAN_REQUIRED. See plans at
tryreelestate.com.
first tool call
│ StreamableHTTP client ──► backend /mcp (401, needs auth)
▼
opens your browser ──► Clerk OAuth (authorization code + PKCE, public client)
│ │
▼ ▼
loopback http://localhost:8765/callback?code=… access + refresh tokens
│ │
└────────────► finishAuth(code) ──► tokens cached ──┘ (~/.reel-estate-mcp)
every later call: callTool("api_request", …) over the authed /mcp connection
/mcp.| Problem | Fix |
|---|---|
| No login prompt / "not authenticated" | Run any tool (or login), open the printed URL, and approve. |
| Switch accounts / re-authorize | Run logout, or delete ~/.reel-estate-mcp. |
Writes blocked (403 MCP_PAID_PLAN_REQUIRED) | Creating/generating/rendering needs a paid plan; free accounts are read-only. See tryreelestate.com. |
src/config.ts — validated env (loaded from this package's folder); derives
the /mcp URL, OAuth store dir, callback port, read-only flag, and default client id.src/oauth.ts — OAuthClientProvider: uses the public client_id, caches
tokens + the PKCE verifier, opens the system browser.src/upstream.ts — the single OAuth'd MCP client connection to /mcp (with
the loopback callback server); callTool / callApiRequest proxies.src/api-client.ts — ApiClient over callApiRequest; enforces read-only.src/catalog.ts — the endpoint catalog surfaced by list_endpoints.src/tools.ts — tools as plain functions (smoke-testable).src/index.ts — registers the tools as MCP tools over stdio.async function fooBar(api, args) in src/tools.ts (use api.get(...) /
api.request(...), which proxy through /mcp).src/index.ts with a Zod inputSchema.scripts/smoke.ts if it's a GET.Everything is already reachable through api_request; convenience tools just make
the common paths first-class.
Reel Estate helps real-estate agents and marketers turn ordinary listing photos into professional property videos — AI virtual staging, twilight conversion, motion/drone clips, voiceover narration, and one-click rendering for Instagram, TikTok, and YouTube. This MCP server brings that workflow into your AI assistant. Get started at tryreelestate.com →
Keywords: real estate video generator, AI listing video, virtual staging, MCP server, Model Context Protocol, Claude, Cursor, property video marketing, drone real estate video, twilight photo editing.
render_movie| Assemble the timeline into the final listing video |
list_endpoints · api_request | Discover the API catalog / call any route — the escape hatch |