Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

io.github.TryReelEstate/reel-estate-mcp

NPM · REEL-ESTATE-MCP · SCANNED AUG 3

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

Available components

+39 this week 65 Trust /100

Deprecated

This server is marked deprecated in the MCP registry.

Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →

Supply Chain Security87
  • No malware found by supply-chain analysis.Pass
  • Only part of the dependency tree could be resolved (96 of 100), so this covers what we could see, not the whole tree.Partial
  • No install/post-install scripts declared.Pass
  • Only part of the dependency tree could be resolved (96 of 100), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency45
Schema Quality & AI Usability83
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (good).Pass
  • Tool/resource definitions use about 2204 tokens (~95/item across 23 items; 23 tools + 0 resources), lean.Pass
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
  • Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage83
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 50% of tool parameters carry a description.Partial
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass

Unverified: 1 category

A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

npm · reel-estate-mcp

# add to Claude Code
claude mcp add tryreelestate-reel-estate-mcp -- npx -y reel-estate-mcp
# add to Codex CLI
codex mcp add tryreelestate-reel-estate-mcp -- npx -y reel-estate-mcp
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "tryreelestate-reel-estate-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "reel-estate-mcp"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add tryreelestate-reel-estate-mcp --command npx --arg -y --arg reel-estate-mcp
# ~/.hermes/config.yaml
mcp_servers:
  tryreelestate-reel-estate-mcp:
    command: "npx"
    args: ["-y", "reel-estate-mcp"]
// mcp.json
{
  "mcpServers": {
    "tryreelestate-reel-estate-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "reel-estate-mcp"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 2 Aug 26 +40
    • Provenance: unverified → fail security
    • Known CVEs: unverified → partial security
    • Install scripts: unverified → pass security
    • Malware scan: unverified → pass security
    • Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
    • Schema quality: unverified → good functional
    • MCP protocol: unverified → pass functional
    • Maintenance: unverified → pass functional
    • Dependency health: unverified → partial functional
    • License: unverified → pass functional
    • Licence: MIT functional
  • 1 Aug 26 −7
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 31 Jul 26 −18
    • Malware scan: pass → unverified security
  • 28 Jul 26 +24
    • Dependency health: partial → unverified functional
    • Schema quality: unverified → 100 functional
    • Tool coverage: unverified → 100 functional
    • First check of Schema quality: pass functional
    • First check of Schema quality: fail functional
    • First check of Tool coverage: 50 functional
    • First check of Schema quality: unverified functional
  • 27 Jul 26 26

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Analysed npm/[email protected]

Provenance none

Ecosystem: npm · Outcome: none

Dependencies 96 packages

96 packages in the resolved dependency tree · 96 deprecated · 29 stale.

The dependency tree was only partially resolved, so these counts may be incomplete.

MCP tools — 23 exposed · ~2,204 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
add_image_from_file ~188

Upload a LOCAL image file to a project. Reads the file, mints a presigned S3 URL (POST /projects/:id/images/upload-url), PUTs the bytes straight to storage (no credentials needed), then attaches it (POST /projects/:id/images). This is the credential-less upload path the remote MCP can't do. Image aspect ratio must be between 0.5:1 and 2:1. Blocked in read-only mode.

NameTypeReqDescription
addToTimelinebooleanAlso append a video timeline element so the image is in the render. Default true.
captionstringOptional caption stored with the image.
filenamestringOverride the stored filename (defaults to the file's basename).
pathstringyesAbsolute path to a local image file (jpg/png/webp).
projectIdstringyesTarget project id.

No output schema declared.

No examples provided.

add_timeline_audio ~232

Place an EXISTING audio asset (a generated voiceover, a music track, any audio URL) on the timeline at a specific point so it's in the render. duration defaults to the full movie length (ideal for background music); pass sourceDuration for a fixed clip like a voiceover. Get a voiceover url/durationSec from get_project (project.voiceover / voiceovers[]). Blocked in read-only mode.

NameTypeReqDescription
durationnumberSeconds. Defaults to movie length, else sourceDuration, else 5.
fadeInnumber
fadeOutnumber
projectIdstringyes
s3Keystring
sourceDurationnumberFull length of the source audio, for a fixed-length clip.
startTimenumberSeconds from the start of the movie. Default 0.
titlestringDisplay label for the timeline clip.
urlstringyesPublic URL to the audio file (mp3).
volumenumber0-1. Default 1.

No output schema declared.

No examples provided.

add_timeline_overlay ~259

Overlay an EXISTING image/logo OR a text caption on the timeline at a specific point. For an image, pass imageId (already in the project — url auto-resolved) or a direct url; for text, pass `text`. position is percent-of-canvas (0-100) from the top-left. Blocked in read-only mode.

NameTypeReqDescription
durationnumberSeconds on screen. Default 5.
fontColorstringText color, e.g. #FFFFFF. Text overlays only.
fontSizenumberText size in px. Text overlays only.
imageIdstringProject image id to overlay (url auto-resolved).
opacitynumber
positionobjectPercent-of-canvas position from top-left.
projectIdstringyes
s3Keystring
sizenumberImage scale factor 0-1. Image overlays only.
startTimenumberSeconds from the start of the movie. Default 0.
textstringText caption — provide instead of an image for a text overlay.
urlstringDirect image url (alternative to imageId).

No output schema declared.

No examples provided.

api_request ~120

Generic authenticated request to ANY backend route. Path is relative to the API base (e.g. '/projects' or 'admin/users'). Use list_endpoints to discover paths. Non-GET methods are blocked when MCP_READONLY is set. Returns { status, ok, request, data } including error envelopes.

NameTypeReqDescription
bodyJSON body for non-GET requests.
methodstringyes
pathstringyesPath relative to API base, e.g. /projects/123 or admin/stats
queryobject

No output schema declared.

No examples provided.

edit_image ~177

Create a non-destructive, versioned edit of a project image. editType: staging/destaging, twilight(+_interior), upscale, green_grass, bright_day, seasonal (winter/halloween/christmas +_interior), advanced replace/remove/add (need advancedParams), or manual (customPrompt). staging needs roomType+style. Async — returns a jobId; the new version appears on the image. Costs 1 credit.

NameTypeReqDescription
advancedParamsobjectRequired for replace/remove/add.
customPromptstringRequired for editType='manual'.
editTypestringyes
imageIdstringyes
projectIdstringyes
roomTypestringRequired for staging + advanced/interior edits.
stylestringRequired for staging.

No output schema declared.

No examples provided.

generate_clip ~136

Animate one still project image into a video clip (Runway Gen-4). Async — returns a jobId; poll get_clip_status. imageUrl is auto-resolved from the project if omitted. Costs credits.

NameTypeReqDescription
aspectRatiostring
customMotionPromptstringRequired when motion='custom'.
durationnumberSeconds, 3-10 (default 5).
imageIdstringyes
imageUrlstringAuto-resolved from the project if omitted.
motionstringyes
projectIdstringyes
resolutionstring

No output schema declared.

No examples provided.

get_clip_status ~38

Poll a clip-generation job started by generate_clip (GET /clip-generation/clip-status/:jobId).

NameTypeReqDescription
jobIdstringyes

No output schema declared.

No examples provided.

get_project ~31

GET /projects/:id — full project document for the authenticated user.

NameTypeReqDescription
idstringyesProject id.

No output schema declared.

No examples provided.

get_usage ~23

GET /billing/usage — credit and export usage for the authenticated user.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

help ~69

Guided, numbered walkthrough of the whole pipeline — sign in → create a project → add photos → edit → animate clips → add music/voiceover/overlays → arrange → render — with example args and the gotchas (async polling, paid gating). Call this first if you're not sure where to start.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_clips ~69

Clips for the authenticated user. With projectId -> GET /clips/project/:projectId; otherwise GET /clips (the clip library) with paging/status.

NameTypeReqDescription
limitinteger
pageinteger
projectIdstring
statusstring

No output schema declared.

No examples provided.

list_endpoints ~46

Return the curated catalog of API endpoints (grouped) so you know what `api_request` can call. Not exhaustive — every mounted route is reachable, this covers the main surface.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_movies ~40

Rendered movies for the user. With projectId -> GET /movies/project/:projectId; else GET /movies.

NameTypeReqDescription
projectIdstring

No output schema declared.

No examples provided.

list_projects ~101

GET /projects for the authenticated user. Supports paging, sorting, search, and status filter.

NameTypeReqDescription
folderIdstring
limitinteger
pageinteger
searchstring
sortBystringe.g. updatedAt, createdAt, name, lastInteractedAt
sortOrderstring
starredboolean
statusstring

No output schema declared.

No examples provided.

list_voices ~25

GET /voices — voiceover voices available to the user (stock + cloned).

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

login ~63

Authenticate with the backend. If not already logged in, returns an authorization URL to open in your browser; approve the sign-in and the token is cached in the background, then retry your action. (Browser-based login can't be popped reliably from here, so you click the link.)

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

logout ~46

Clear the cached OAuth session (and best-effort revoke it server-side) so the next tool call re-authenticates via the browser. Use to switch accounts or reset a broken auth state.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

move_timeline_element ~118

Change when a single timeline element starts and/or how long it lasts (any track). Use to nudge a floating audio/overlay element to a new point. To resequence all clips, use reorder_timeline. Element ids come from get_project (timeline.tracks[].elements[].id). Blocked in read-only mode.

NameTypeReqDescription
durationnumberNew duration in seconds.
elementIdstringyes
projectIdstringyes
startTimenumberNew start, seconds from the movie start.

No output schema declared.

No examples provided.

project_stats ~24

GET /projects/stats — aggregate project counts/metrics for the authenticated user.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

render_movie ~88

Assemble the project's timeline into the final video (clips + music + watermark + overlays). Only projectId is required; settings fall back to the project. Async — returns a jobId; poll list_movies. Costs credits and an export.

NameTypeReqDescription
aiGeneratedLabelbooleanPer-render override of the AI-disclosure label.
projectIdstringyes
settingsobject

No output schema declared.

No examples provided.

reorder_timeline ~131

Rearrange a track's elements (defaults to the video/clip track) into the given order and recompute sequential startTimes so they play back-to-back. Pass element ids in the desired order; omitted elements keep their relative order and are appended after. Ids come from get_project. Blocked in read-only mode.

NameTypeReqDescription
gapnumberSeconds of gap to insert between elements. Default 0.
orderarrayyesElement ids in the desired playback order.
projectIdstringyes
trackIdstringTrack to reorder. Defaults to the video track.

No output schema declared.

No examples provided.

resolve_address ~82

Resolve a free-text address into ranked candidates (formatted, placeId, location, components). Use before creating a project for a real listing — pass the chosen candidate as the project `address` so listing facts (price/beds/baths) auto-populate. Prefer candidates with isStreetLevel=true.

NameTypeReqDescription
limitinteger
querystringyes

No output schema declared.

No examples provided.

whoami ~98

Show the upstream MCP URL, read-only flag, the account plan, whether writes are allowed (canWrite) with a plain-language writeAccess reason, and the live /users/profile response for the OAuth-authenticated user. Good first call to confirm auth and whether create/generate/render tools will work (free accounts are read-only over the MCP). If not signed in, it returns a 'run login' error — use the `login` tool.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.