NestDaddy

FilmLab

com.thefilmradar/filmlab · v1.1.1

AI film lab for filmmakers: generate and review images/clips with input provenance, cost preflight

Connect Remote server

Terminal
claude mcp add --transport http filmlab https://mcp-lab.thefilmradar.com/mcp
~/.cursor/mcp.json
{
  "mcpServers": {
    "filmlab": {
      "url": "https://mcp-lab.thefilmradar.com/mcp"
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "filmlab": {
      "type": "http",
      "url": "https://mcp-lab.thefilmradar.com/mcp"
    }
  }
}
Claude Desktop
Settings > Connectors > Add custom connector
URL: https://mcp-lab.thefilmradar.com/mcp

Tools 80 found in our last check

  • lab_list_projects

    List FilmLab projects (id, title, current pipeline stage). Call this first to find a project_id for the other tools. Shows up to 20 items; `total` counts your active projects (up to 200) and `truncated: true` means the list is cut off — sorted by last change, so older projects d…

  • lab_wissen

    Use when the person asks a film-craft question: what a term means, which rule or convention applies, how something is usually done in camera, editing, sound or production — answer from here, not from memory. Ask the FilmOS knowledge layer — measured craft knowledge from vetted s…

  • lab_widerruf

    Record a correction in the FilmOS knowledge layer when the user contradicts something you asserted from it. Use this the moment a contradiction is stated — not at the end of the session, and not instead of accepting the correction in your answer. It stores the claim AND what is…

  • lab_playbook

    The rules of one working surface, generated from the code: what the surface is, what an agent can trigger itself, what exists but only by hand, and what does not exist at all. Call this BEFORE answering what is possible on a surface — the three lists come from a table with a cod…

  • lab_list_models

    The model catalog: what every video or image model can do — resolutions, durations, aspect ratios, audio, reference limits, price per second or per image — grouped by capability class with a one-line explanation per group. Read this before choosing a `tool` for lab_generate/lab_…

  • lab_regie_techniken

    Use when the person asks HOW to stage or shoot a feeling or effect (which angle, movement, framing or light makes a scene feel tense, tender, triumphant, uneasy) or wants directing options for a shot. Directing techniques: camera angle, framing, composition, movement, lighting a…

  • lab_whoami

    Who is connected: the FilmLab account (email, user id, name, tier, credits) and how this connection signed in (oauth, oauth_geraet, bridge_key, legacy service user, or anonym). For a device sign-in it also lists the device limits (projects, credits, end date). Call it when resul…

  • lab_get_state

    One call, the whole picture: account (tier, credits, reset), default models with price, jobs in flight, catalog freshness, project count. Pass project_id for that project's sequences, assets and review-queue length. Read-only, free.

  • lab_get_project

    Use when the person asks where a project stands: its current stage, what is finished, what comes next, or wants the project's state before continuing. Get a single FilmLab project with its full stage state, including its `datenmodus` ('eu' or 'frei'). Needs the project_id (from…

  • lab_zielgruppe

    Read or set a project's audience (zielgruppe) and target markets (zielmaerkte). With project_id only: read. Set zielgruppe 'kinder' or 'jugendliche' whenever the project is made for children, families or teenagers — do it BEFORE creating characters or generating. That switches o…

  • lab_speicherort

    Read or set where a project's generated material is kept. With project_id only: read. 'cloud' keeps it in FilmLab's private storage (default). 'lokal' and 'server' keep it private until publication: FilmLab only parks each new file for pickup, the local FilmLab bridge (DaVinci R…

  • lab_look_in_post

    Read or set a project's 'look in post' flag. Use it when the person grades in DaVinci Resolve with the FilmLab Look plugin and wants the lens and film look applied there instead of baked into the generated pictures. With project_id only: read. With look_in_post true, image and v…

  • lab_get_context

    Read the accumulated context/output for one pipeline module of a project (e.g. the IDEE, STORYBOARD or SHOTS stage). Needs project_id and module name.

  • lab_get_job

    Get the status of a background job by job_id (status is queued|processing|done|failed). Poll this after starting a long-running generate/export. Returns the job record; its payload and result are objects (for a clip chain: result.zusammenfassung, result.ketten, result.clips). Fo…

  • lab_search_catalog

    Search the FilmLab universe catalog of AI tools, news and companies. Query must be at least 2 characters. Returns up to 20 matches with a total count.

  • lab_create_project

    Create a new FilmLab project. Returns the new project id and its `datenmodus`. Optionally set a title and the data mode: 'eu' keeps the project on models whose data path is proven inside the EU (lab_list_models eu: true lists them; other models are refused with alternatives), 'f…

  • lab_run_module

    Run ONE pipeline module for a project (context is injected from upstream modules + crew agents). SYNCHRONOUS and LLM-heavy: light modules return in seconds; heavy ones can exceed ~55s and then time out (504) — run those in the FilmLab web app instead. Pass an invalid module name…

  • lab_generate

    Generate an image on the production pipeline (fal.ai, quota-tracked, persisted to the project's gallery). Waits up to `wait_s` seconds (default 45) for the image and then answers with the finished rows — image_url set, inline previews attached, so the picture is in the answer li…

  • lab_animate

    Generate a clip from text or animate a completed image with a video model. Without a start image, uses text-to-video where the model supports it (lab_list_models: t2v). Check the price with get_cost or let the user confirm a card via lab_propose. Costs credits when called withou…

  • lab_animate_batch

    Animate MANY images into videos in ONE call (max 25 jobs). Prefer this over looping lab_animate: it validates every job BEFORE spending any quota, so an invalid job 12 of 15 does not leave 11 paid-for generations running. Quota is spent once, collectively (one ledger row); refun…

  • lab_propose

    Propose a generation for the user to confirm: validates the parameters against the catalog, computes the price, and shows a card (widget hosts) or returns the same object as text. Video without a source image or clip uses text-to-video where the model supports it (lab_list_model…

  • lab_run_proposal

    Run a proposal exactly as shown — same model, same parameters, same price. Called by the card's button, or by you after the user confirmed. Single use: the proposal is consumed BEFORE the run, so a second call is refused instead of paying twice. Valid 15 minutes, for the account…

  • lab_list_locations

    List location boards, newest first — START HERE to find a `location_id` for lab_generate / lab_animate. Each entry carries its `prompt_prefix_en`: that is the exact text appended to your prompt as 'Location: …', so you can judge whether the board fits BEFORE spending quota. A bo…

  • lab_get_location

    Get ONE location board in full — all descriptive fields plus its reference images and `prompt_prefix_en`. Use it to check what a board actually anchors before generating with it.

  • lab_list_project_locations

    Location boards bound to ONE project. Narrower and more correct than lab_list_locations when you already know the project: it cannot leak boards from a different project with the same title. Boards created before the project binding existed (project_id NULL) deliberately do NOT…

  • lab_list_stil_kits

    List the style kits of this project (rules, palette, up to three reference images, @stil_ tag) and which one is the project default (standard_id). Free. Write the tag into an image or video prompt to use that kit for this one call instead of the default.

  • lab_create_stil_kit

    Create a style kit in this project: rules (English text), palette (#RRGGBB) and up to three reference images taken from this project's own images (image ids). Free, no model call. Set als_standard to make it the project default, which then runs in every image and clip of the pro…

  • lab_stil_kit_standard

    Set the project's default style kit (it then runs in every image and clip of the project), or clear the default by omitting stil_kit_id. Free.

  • lab_stilblatt

    Show this character's style sheet in this project: its views, which style kit it carries, whether it is approved, and whether the character has changed since (veraltet). A character without one returns null. Free.

  • lab_stilblatt_erzeugen

    Restyle a character's neutral sheet with a style kit, for this project only. The neutral sheet stays unchanged. The result is NOT used by any run until lab_stilblatt_freigeben. Generating again removes an existing approval, and a different kit starts the sheet over. Costs credit…

  • lab_stilblatt_freigeben

    Approve the style sheet: from now on images, clips, storyboards and identity checks in this project use it instead of the neutral sheet. Show the person the views first and call this only after they said yes. Never approve on your own.

  • lab_stilblatt_verwerfen

    Discard the style sheet, so runs in this project use the neutral sheet again. A new sheet costs credits again, so confirm with the person first.

  • lab_clip_bauplan

    Turn a structured clip plan into a sectioned video prompt (style, references, world, camera, timestamped beats with a living tail, title, sound, continuity) and check it before any paid run: beats past the duration, overlaps, a title after the end, a cut inside a one-shot, an un…

  • lab_list_props

    List the props (Requisiten) of this project, including @prop_ tags, descriptions and generated views. Free. Use the tags in image and video prompts: the description always goes into the prompt, the front view goes along as a reference image in lab_generate and lab_reference_moti…

  • lab_lizenz_anbieten

    Offer a license for your own asset or an asset of a studio you can edit. The recipient must be an existing account. No charge until the recipient accepts. On acceptance, the owner receives floor(80% of the price) as non-expiring, spend-only credits; the platform retains the rema…

  • lab_lizenzen

    List received and offered asset licenses with their status in the current workspace. Free.

  • lab_lizenz_annehmen

    Accept a license addressed to your own account (studio: owner account). First call get_cost:true, show the exact credits, and obtain confirmation before accepting. Acceptance spends credits through the platform and creates a private PDF certificate. The owner receives floor(80%)…

  • lab_lizenz_ablehnen

    Decline an offered license addressed to your account. Free.

  • lab_lizenz_zurueckziehen

    Withdraw your license offer before acceptance. Free.

  • lab_lizenz_widerrufen

    Owner only: revoke a license, preserving its PDF. First call get_cost:true, show the refund and owner debit, and obtain confirmation. Fixed terms refund remaining inclusive days (full before start); unlimited terms refund fully through day 14 after acceptance, then zero. The own…

  • lab_lizenz_nachweis

    Get a private PDF certificate URL, valid for five minutes. Only for the parties to this license.

  • lab_create_prop

    Create a named prop (Requisite) in this project. Free, no model call: its prompt prefix is built deterministically from the fields. Returns its @prop_ tag for shot prompts. To generate views use lab_prop_ansichten separately (costs credits).

  • lab_prop_ansichten

    Generate product-photo views of a prop using Flux 2 Pro. Costs credits per view: front is text-to-image, side/back/top/detail edit the front anchor. First call with get_cost:true, name the exact credits to the person, and obtain confirmation before generating. Missing images are…

  • lab_create_location

    Create a location board. The backend derives an English `prompt_prefix_en` from the fields you give — that prefix is what later anchors every image and clip shot there, so the richer the description, the more consistent the place. Pass project_id to bind the board to a project (…

  • lab_generate_location_variants

    Generate time-of-day reference images for a location board (costs credits per variant — check the price with get_cost first). Without `variants` the backend renders all four. The images are what makes a board usable as a visual reference.

  • lab_enrich_location_prefix

    Append context to a board's `prompt_prefix_en` (plain string concatenation server-side — no AI call, no quota). Idempotent: context already present in the prefix is not duplicated. This does NOT rewrite or regenerate the prefix — for a board whose prefix is empty, too thin or a…

  • lab_restyle_location

    Restyle an existing board towards a wish (costs credits — exact price via get_cost: true) — same place, different look, e.g. 'the same flat, twenty years later'. Changes the board itself, so images generated afterwards follow the new style. Also the repair path for a board whose…

  • lab_location_panorama

    Generate a 360° equirectangular HDRI panorama of a place (costs credits — exact price via get_cost: true). Pass loc_id to persist it on that board, so the viewer finds it again; without loc_id it is a one-off.

  • lab_welt

    Build a walkable 3D WORLD (Gaussian splat, World Labs Marble) from ONE location picture (costs credits — exact price via get_cost: true). Source: a location board's time variant (loc_id + variante) OR a gallery image of the project (quell_bild_id). stufe 'entwurf' is a cheap dra…

  • lab_welt_status

    Status of a world from lab_welt: processing | completed | failed. When completed, `studio` is the link to walk it and save angles (free). A failed world has been refunded. Read-only, free. Pass wait_s (up to 15) to wait inside the call.

  • lab_analyze_location_image

    Read a photo and extract location fields from it (Gemini Vision, costs credits — exact price via get_cost: true). Returns the fields — it does NOT create a board; feed the result into lab_create_location yourself. Note the payload: the image travels as base64 inside the call, so…

  • lab_delete_location

    DELETE a location board permanently. There is no undo and no soft-archive — the row is removed. Images and clips that were generated with this `location_id` keep their already-rendered prompt, but the board they point at is gone: nothing can be re-anchored to it, and lab_get_loc…

  • lab_list_characters

    List the character sheets in the FilmLab cast register (id, name, age, gender, project_name, prompt_prefix_en). Call this BEFORE lab_generate whenever a person must look the same across several images: pass the id you find here as `character_refs` instead of re-describing the pe…

  • lab_get_character

    Get ONE character sheet in full — every descriptive field plus the three that decide what you can do with it. `prompt_prefix_en` is the text block describing this person; it is what the backend prepends wherever the sheet is used. `reference_images` decides whether the sheet is…

  • lab_create_character

    Create a character sheet for a human, animal or creature in the cast register. The backend derives an English `prompt_prefix_en` from the fields you give — that prefix is what later describes this character in every image, so the richer the description, the more stable the ident…

  • lab_generate_character_reference

    Generate the reference sheet for a character — six core views rendered from the sheet's `prompt_prefix_en`: detail (three-quarter close-up, the identity anchor), frontal (frontal close-up), profile, fullbody (front), fullbody_back (back view: hair and the back of the costume) an…

  • lab_get_character_sheet

    The character sheet PREPARED FOR PROMPTING: base prefix, the state sheets by name, which reference views exist, and the ready-made sentence to paste into a lab_generate prompt. Same source as lab_get_character, different shape — use this one when you are about to generate, and l…

  • lab_cast_gaps

    Find people who appear in a project's material (script / cast module) but have NO character sheet yet. Returns up to 6 `missing` entries, each with a name and a short hint from the text. It creates nothing — lab_cast_autopopulate does that. Costs an LLM run, so it is credit-gate…

  • lab_cast_autopopulate

    Create character sheets for the people found in a project's material — the writing counterpart to lab_cast_gaps. Creates at most 6 per call and binds each to the project. Costs an LLM run per call. Run lab_cast_gaps first if you want to see what it would create. The sheets it cr…

  • lab_cast_kandidaten

    Propose THREE candidates for ONE role, the way a street-casting director does: the obvious face, the one you would walk past, and the one nobody would think of. Casting is choosing — this gives you something to choose from. It creates nothing: pick one and create it with lab_cre…

  • lab_create_sequence

    Create a sequence (Stage 9 timeline) inside a project — START HERE to turn generated shots into something the continuity pass can read. The new sequence is EMPTY: add shots with lab_add_clip before anything else works. lab_continuity_check rejects an empty timeline with 400. Ret…

  • lab_list_sequences

    List a project's sequences: the main sequence (the film, `ist_haupt: true`, also in `haupt_sequenz_id`) first, then newest first. Trailers, opening titles and blocks are sequences too — edit the main sequence unless the person names another. Use it to find a `seq_id` instead of…

  • lab_schnitt_export

    Export ONE sequence as an editing file for DaVinci Resolve, Premiere or Final Cut, so the cut can be finished there. Costs nothing. fcpxml (recommended for Resolve): V1 as the main storyline with gaps, the sequence's transitions as centered cross dissolves (dropped where the nex…

  • lab_get_sequence

    Get ONE sequence in full — timeline (the shots in order), audio_tracks, transitions, duration_seconds and render status. Check `timeline` here before starting a continuity pass: an empty one is the single most common reason the pass refuses.

  • lab_shots

    Read the SHOT layer of a sequence — which clips form one shot, which scene it plays in, who is in it, and what the continuity pass found. This is the layer above the timeline: lab_get_sequence gives you clips in a row, this one gives you the cut. Costs nothing, writes nothing. U…

  • lab_shots_ableiten

    Derive the shot layer from what the clips already say about themselves — consecutive clips of the same scene become one shot, and a scene that returns later becomes a second one (one location cut into twice is two shots). Costs nothing: it groups rows and reads titles, it genera…

  • lab_shot_abdeckung

    Read how far each shotlist shot (`sb_N`) of a project is covered — takes, the chosen take, the bound characters and location, and where it sits in the cut. Per shot: `takes_bild` / `takes_clip` (counts), `gewaehlt` (the chosen take, or null), `referenzen` (characters and locatio…

  • lab_aufloesung

    Break one scene down into a STRUCTURED shot list of 2, 4 or 6 shots — each with shot size, camera angle, purpose and its own ready prompt, plus one shared floor plan (anchor, axis, light) so the shots cut together. Two families: an 'aufloesung' shows ONE moment from several angl…

  • lab_shots_setzen

    State the shot cut yourself: which clips form one shot, what it is called, which scene it plays in. This is the counterpart to lab_shots_ableiten — that one groups by the scene the clips already name, this one is for the judgement no field carries. Costs nothing. Use it where de…

  • lab_fassungen

    Use when the person asks about earlier states of a cut, wants to go back to a previous version, compare versions, name a version, or create a second cut (e.g. a short version next to the long one). The history and the versions of ONE cut (sequence). Every timeline write (lab_tim…

  • lab_add_clip

    Append a shot to a sequence's timeline. Call it once per shot, in cutting order — `start_time` is computed from the clips already there, so appending in order is enough. The continuity pass reads exactly this timeline: a shot missing here is a shot nobody checks. Returns the new…

  • lab_timeline_apply

    Write a WHOLE cut into a sequence in one call — clips in order with their lengths, an optional dissolve between them, an optional bed underneath. This is the counterpart to lab_get_sequence: that one reads the timeline, this one writes it. Prefer it over a chain of lab_add_clip…

  • lab_continuity_check

    Start the continuity pass over a sequence — every shot is compared against its PREDECESSOR and, with check_references, against the character and location reference boards. This is the pass that catches drift (the flat that changed between two shots, the cardigan that turned into…

  • lab_identitaet_pruefen

    Check whether still images of a project show the SAME character as its character sheet — before paid clips are made from them. Each image is compared against the sheet's detail and fullbody views. It judges identity (species, build, colouring, head shape, large markings), NOT st…

  • lab_beat_clips

    Turn the still-image clips of a sequence into video clips that exactly fill their beat-snapped slots. Free — this tool itself generates nothing. aktion plan: one job per image clip, ready for lab_animate_batch — start image, the frame's motion (bewegung_en), and the SMALLEST dur…

  • lab_rezept_montage

    The Montage recipe: one recurring character in 8–16 independent everyday gags, cut on the beat into a 9:16 reel of about 6–11 seconds with a music bed. It runs the existing steps in order — gags (lab_situationen), stills with the character and the phone-flash look (auto-storyboa…

  • lab_contact_sheet

    Build a contact sheet for a generated clip — N frames spread evenly over its runtime, tiled into ONE image — and show it. This is how a clip gets judged at all: MCP has no video content type, so without a sheet a clip is just a URL and a promise. It is also the fastest way to SE…

  • lab_bilder

    See a clip at EXACT seconds: up to 12 frames, in the order you list them, tiled into one image and shown. Use it to check what is on screen where you plan a cut, whether a motion has ended, or whether a face drifted between two moments — lab_contact_sheet spreads frames evenly a…

  • lab_capture

    See the CUT at exact seconds of the finished film: up to 12 frames, tiled into one image and shown. Each second is mapped like the export maps it — which clip is on screen, where in its source (src_in_s counts), the export's framing (scaled and letterboxed), title cards drawn. A…

  • lab_render_frames

    See the DELIVERED film: up to 12 frames from the finished export (lab_start_export → lab_get_export status done), tiled into one image and shown. This is the rendered picture WITH everything the render adds — lens/grade, lower thirds, title cards and the AI badge — so use it to…

Details

Endpointhttps://mcp-lab.thefilmradar.com/mcp (Streamable HTTP)
First published17 Aug 2026
Last updated17 Aug 2026
Registry namecom.thefilmradar/filmlab

More ai and media servers See all

Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.