Reel Estate MCP
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| whoamiA | 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 |
| loginA | 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.) |
| logoutA | 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. |
| list_projectsA | GET /projects for the authenticated user. Supports paging, sorting, search, and status filter. |
| get_projectA | GET /projects/:id — full project document for the authenticated user. |
| project_statsA | GET /projects/stats — aggregate project counts/metrics for the authenticated user. |
| list_clipsB | Clips for the authenticated user. With projectId -> GET /clips/project/:projectId; otherwise GET /clips (the clip library) with paging/status. |
| list_moviesC | Rendered movies for the user. With projectId -> GET /movies/project/:projectId; else GET /movies. |
| list_voicesA | GET /voices — voiceover voices available to the user (stock + cloned). |
| get_usageA | GET /billing/usage — credit and export usage for the authenticated user. |
| helpA | 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. |
| list_endpointsA | Return the curated catalog of API endpoints (grouped) so you know what |
| add_image_from_fileA | 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. |
| resolve_addressA | 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 |
| generate_clipA | 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. |
| get_clip_statusA | Poll a clip-generation job started by generate_clip (GET /clip-generation/clip-status/:jobId). |
| edit_imageA | 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. |
| render_movieA | 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. |
| add_timeline_audioA | 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. |
| add_timeline_overlayA | 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 |
| move_timeline_elementA | 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. |
| reorder_timelineA | 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. |
| api_requestA | 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. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| getting_started | Start-to-finish walkthrough from sign-in to a rendered movie. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/TryReelEstate/reel-estate-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server