Back to Browse

Reel Estate MCP Server

Developer ToolsLow Risk10.0MCP RegistryLocal
Free

Server data from the Official MCP Registry

Turn real-estate listing photos into property videos from your AI assistant.

About

Turn real-estate listing photos into property videos from your AI assistant.

Security Report

10.0
Low Risk10.0Low Risk

Valid MCP server (2 strong, 3 medium validity signals). No known CVEs in dependencies. Package registry verified. Imported from the Official MCP Registry. Trust signals: trusted author (4/4 approved).

4 files analyzed · 1 issue found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

file_system

Check that this permission is expected for this type of plugin.

HTTP Network Access

Connects to external APIs or services over the internet.

What You'll Need

Set these up before or after installing:

Backend origin hosting the /mcp endpoint. Defaults to Reel Estate production (https://api.tryreelestate.com); set to a staging or self-hosted backend to override.Optional

Environment variable: MCP_SERVER_URL

Public OAuth client id (PKCE, no secret). Auto-selected per backend host by default; set only when pointing at a backend on a different Clerk instance.Optional

Environment variable: MCP_OAUTH_CLIENT_ID

Loopback port the browser is redirected to after sign-in. Defaults to 8765.Optional

Environment variable: MCP_OAUTH_CALLBACK_PORT

Directory where OAuth tokens are cached. Defaults to ~/.reel-estate-mcp.Optional

Environment variable: MCP_OAUTH_STORE_DIR

Optional OAuth scope override. Omitted by default (negotiated from server metadata).Optional

Environment variable: MCP_OAUTH_SCOPE

Set to 1/true to block all mutating (non-GET) tool calls.Optional

Environment variable: MCP_READONLY

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-tryreelestate-reel-estate-mcp": {
      "env": {
        "MCP_READONLY": "your-mcp-readonly-here",
        "MCP_SERVER_URL": "your-mcp-server-url-here",
        "MCP_OAUTH_SCOPE": "your-mcp-oauth-scope-here",
        "MCP_OAUTH_CLIENT_ID": "your-mcp-oauth-client-id-here",
        "MCP_OAUTH_STORE_DIR": "your-mcp-oauth-store-dir-here",
        "MCP_OAUTH_CALLBACK_PORT": "your-mcp-oauth-callback-port-here"
      },
      "args": [
        "-y",
        "reel-estate-mcp"
      ],
      "command": "npx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

reel-estate-mcp

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.

  • 🎬 Generate real-estate videos — animate photos into clips, then render the movie
  • 🖼️ AI photo editing — virtual staging, twilight, upscale, seasonal, replace/remove/add
  • 🎙️ Voiceover & timeline — narration, music, overlays, reordering
  • 📤 Local uploads — push photos from disk into a project
  • 🔐 Browser sign-in — public OAuth client + PKCE; nothing secret stored
  • 🤖 Works with Claude Code, Claude Desktop, and Cursor

Requirements

  • Node.js 18+
  • A Reel Estate account (a paid plan is required to create/generate/render; free accounts are read-only over the MCP)
  • An MCP-compatible client: Claude Code, Claude Desktop, or Cursor

Install

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.)

Connect your assistant

Zero config — the bridge connects to Reel Estate and handles browser sign-in for you. There's nothing to set up.

Claude Code

claude mcp add reel-estate -- npx -y reel-estate-mcp

Claude Desktop / Cursor

Add to your client's MCP config (claude_desktop_config.json, ~/.cursor/mcp.json):

{
  "mcpServers": {
    "reel-estate": {
      "command": "npx",
      "args": ["-y", "reel-estate-mcp"]
    }
  }
}

First run — sign in

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:

  • "List my recent projects."
  • "Create a project for 123 Main St and upload the photos in ./listing."
  • "Virtually stage the living room photo, generate a drone clip, then render in 9:16."
  • "How many credits and exports do I have left?"

To switch users or re-authorize, run logout (revokes server-side + clears the cache) or delete ~/.reel-estate-mcp.

Tools

All API tools proxy through the backend's /mcp api_request, so the backend's own authorization and plan rules apply.

ToolWhat it does
helpGuided, always-current walkthrough (also the getting_started prompt)
whoamiConfirm auth; reports plan, canWrite, and a writeAccess reason. Run first.
login / logoutStart browser sign-in / clear the session (server revoke + local cache)
list_projects · get_project · project_statsBrowse projects
list_clips · list_movies · list_voicesBrowse clips, rendered movies, TTS voices
resolve_addressGeocode a free-text address → ranked candidates (for real-listing projects)
add_image_from_fileUpload a local image into a project (presigned upload — no storage creds)
generate_clip · get_clip_statusAnimate a photo into a video clip (Runway); poll the job
edit_imageAI photo edit — virtual staging, twilight, upscale, seasonal, replace/remove/add, manual
add_timeline_audio · add_timeline_overlayPlace voiceover/music/audio or an image/text overlay
move_timeline_element · reorder_timelineRetime / resequence the timeline
render_movieAssemble the timeline into the final listing video
list_endpoints · api_requestDiscover the API catalog / call any route — the escape hatch

Paid vs free

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.

How auth works

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
  • No secrets to distribute — public client + PKCE, browser login per user.
  • Prod-capable — uses the same OAuth the backend serves at /mcp.
  • The backend is the single auth authority — this bridge never mints tokens.

Troubleshooting

ProblemFix
No login prompt / "not authenticated"Run any tool (or login), open the printed URL, and approve.
Switch accounts / re-authorizeRun 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.

Architecture

  • 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.tsOAuthClientProvider: 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.tsApiClient 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.

Adding a tool

  1. Add async function fooBar(api, args) in src/tools.ts (use api.get(...) / api.request(...), which proxy through /mcp).
  2. Register it in src/index.ts with a Zod inputSchema.
  3. Add it to scripts/smoke.ts if it's a GET.

Everything is already reachable through api_request; convenience tools just make the common paths first-class.

About Reel Estate

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.

Reviews

No reviews yet

Be the first to review this server!