npm reel-estate-mcpstdioMITupdated 2mo ago
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 MCP 能做什么?
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.
| 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) |
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 |
render_movie |
Assemble the timeline into the final listing video |
list_endpoints · api_request |
Discover 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
| 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. |
Architecture
src/config.ts— validated env (loaded from this package's folder); derives the/mcpURL, OAuth store dir, callback port, read-only flag, and default client id.src/oauth.ts—OAuthClientProvider: uses the publicclient_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/callApiRequestproxies.src/api-client.ts—ApiClientovercallApiRequest; enforces read-only.src/catalog.ts— the endpoint catalog surfaced bylist_endpoints.src/tools.ts— tools as plain functions (smoke-testable).src/index.ts— registers the tools as MCP tools over stdio.
Adding a tool
- Add
async function fooBar(api, args)insrc/tools.ts(useapi.get(...)/api.request(...), which proxy through/mcp). - Register it in
src/index.tswith a ZodinputSchema. - Add it to
scripts/smoke.tsif 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.
安装
把 Reel Estate MCP 添加到你的客户端。选择你正在使用的那个。
claude mcp add reel-estate-mcp -- npx -y reel-estate-mcpcodex mcp add reel-estate-mcp -- npx -y reel-estate-mcpamp mcp add reel-estate-mcp -- npx -y reel-estate-mcp{
"mcpServers": {
"reel-estate-mcp": {
"command": "npx",
"args": [
"-y",
"reel-estate-mcp"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"reel-estate-mcp": {
"command": "npx",
"args": [
"-y",
"reel-estate-mcp"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
code --add-mcp '{"name":"reel-estate-mcp","command":"npx","args":["-y","reel-estate-mcp"]}'Or add the block manually to `.vscode/mcp.json` under `servers`.
{
"mcpServers": {
"reel-estate-mcp": {
"command": "npx",
"args": [
"-y",
"reel-estate-mcp"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"reel-estate-mcp": {
"command": "npx",
"args": [
"-y",
"reel-estate-mcp"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"reel-estate-mcp": {
"command": "npx",
"args": [
"-y",
"reel-estate-mcp"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"reel-estate-mcp": {
"type": "local",
"command": "npx",
"args": [
"-y",
"reel-estate-mcp"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"reel-estate-mcp": {
"command": {
"path": "npx",
"args": [
"-y",
"reel-estate-mcp"
]
}
}
}
}Add to your Zed `settings.json`.
npx -y reel-estate-mcpRun `goose configure`, choose **Add Extension → Command-line Extension**, and paste this command.
4 个工具
Reel Estate MCP 向已连接的智能体提供 4 个工具。
- 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)
- edit_image
- AI photo edit — virtual staging, twilight, upscale, seasonal, replace/remove/add, manual
- render_movie
- Assemble the timeline into the final listing video
评分
75 / 100
良好
- 文档25/25
- 维护16/25
- 可信度16/20
- 能力6/15
- 安装体验12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 56 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 4 tool(s) documented
- Provides prompt templates
- Provides resources
- 12 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
版本历史
| 版本 | 发布于 |
|---|---|
| 0.3.5最新 | 2026年7月3日 |
| 0.3.4 | 2026年7月3日 |