Practical filming plans for AI assistants, with tools to draft, check and export shot plans.
Connect Remote server
claude mcp add --transport http shoot-plan https://theamateur.co.uk/mcp/shoot-plan
{
"mcpServers": {
"shoot-plan": {
"url": "https://theamateur.co.uk/mcp/shoot-plan"
}
}
}
{
"servers": {
"shoot-plan": {
"type": "http",
"url": "https://theamateur.co.uk/mcp/shoot-plan"
}
}
}
Settings > Connectors > Add custom connector
URL: https://theamateur.co.uk/mcp/shoot-plan
Tools 36 found in our last check
shoot_plan_capabilitiesReturn truthful Shoot Plan scope, availability, privacy and commercial state.
shoot_plan_exampleReturn a synthetic example plan generated by the real planner, with its provenance.
shoot_plan_quoteCalculate a deterministic public quote from non-private project metadata. Do not send a script or brief.
shoot_plan_createCreate a plan for an authenticated organisation after authoritative payment confirmation.
shoot_plan_listList the authenticated organisation's Shoot Plans, most recently changed first, without returning private intake or full plan content. Archived plans are left out unless includeArchived is true. Each plan's taskId is the ID every other plan tool takes. Structured result: {plans:…
shoot_plan_statusReturn a plan's status, version, whether its included revision is used, its customer-facing order reference, and progress (essential shots ticked, next shot, when the last tick was made). Read-only. Use the full taskId from shoot_plan_list (not planId). A unique eight-character…
shoot_plan_getReturn a full plan: shots in filming order (priority must = essential), setup groups per location or visit, checklist, coverage risks, progress (item keys already ticked), progressSummary with counts, each tick's time and source (web, field or agent), and timeSummary when the pl…
shoot_plan_timingStructured plans only (not older free-text plans). Compare planned and actual filming time between consecutive ticks in field mode. plannedSeconds is the planned time of those measured tick-to-tick steps, not the whole plan; planPlannedSeconds is the whole plan's planned shot wo…
shoot_plan_reviseUse the plan's one included revision. This cannot be undone and uses up that revision, so call shoot_plan_revision_preview first and confirm with the person. For structured plans, change filming time or transfer time (constraintUpdates.availableMinutes, locationTransferMinutes),…
shoot_plan_revision_previewStructured plans only; older free-text plans cannot be previewed. Preview a revision without using it: what would change, which checked shots would be cleared, and whether it still fits. For example constraintUpdates.availableMinutes: 30 answers "what if I only had 30 minutes?".…
shoot_plan_progress_syncTick or untick shots and checklist items. Each op: itemKey "shot:<shotId>" or "check:<itemId>" from shoot_plan_get, basePlanVersion = the plan's version, a new random UUID v4 as opId, state "complete" or "incomplete". Retry-safe: resending the same opId does nothing twice. An op…
shoot_plan_checkChecks whether a shot plan will cut together before you film or generate it. It looks for crossed lines of action, mismatched eyelines, missing reactions, speakers who are never on screen, missing geography, jump cuts, travel direction, and props that change with no cause. It re…
shoot_plan_missing_detailsLists the questions to put to the person who knows the film, so that more of the plan can be checked. Each question uses the plan's own names, says which paths in the plan the answer fills in and which checks it unlocks, and says whether it blocks the assessment of a scene. Do n…
shoot_plan_apply_fixApplies one fix, taken from a shoot_plan_check result, to a plan and checks the revised plan again. Some fixes trade one thing for another (each says its trade_off): tell your human before applying one that does. Input: plan; finding_id and fix_id (a finding's id, and the id of…
shoot_plan_formatReturns what you need to write or repair a plan that the checks can read: links to the JSON Schemas, the shortest valid plan, a worked example of a two-person scene that the checks find nothing wrong with, and a summary of the details that switch each check on (which is why a th…
shoot_plan_fit_to_budgetCuts a plan down to what the shoot can afford, without dropping a shot marked `must`: it takes out the least necessary shots one at a time, re-checking the plan after each, and tells you what each cut costs. Input: plan, and constraints: max_shots (the most shots the cut may nee…
shoot_plan_shot_listTurns a plan into a shot list a crew can work from. Input: plan; format, "json" (default, dpl.shot-list/1) or "markdown"; vocabulary, an optional industry vocabulary for camera terms (for example "[email protected]"). Output: the shot list, or {format:"markdown", markdown}. No AI mo…
shoot_plan_export_for_generationPrepares a plan for generating its pictures with a generator of your own: it returns the editorial intent of the film (eil.intent/1) and one generation brief per shot (eil.generation-briefs/1). We run no generator and receive no media: you give the briefs to your own. Input: pla…
shoot_plan_draft_startStarts a shot plan for you to write: from a short brief it returns a valid skeleton plan (the places to write start with TODO), the layers to write it in, shot-pattern recipes for common kinds of scene, and the first thing to do. The loop is: you write the plan, we check it. We…
shoot_plan_draft_from_scriptImport a Fountain, Final Draft .fdx or plain-text screenplay into a valid starting plan with scenes, characters, places and lines. No AI model runs. Input: script as text; optionally as (fountain, fdx or text), otherwise detected from the content. Output: dpl.draft/1 with plan,…
shoot_plan_devices_suggestList devices that could fit a scene opening, a shot or a join, best first, with reasons, missing details and when to use or avoid each. Candidates only: you choose; the plan is unchanged. No AI model runs. Input: plan (dpl.plan/1), exactly one of scene (id), shot (id) or join (t…
shoot_plan_draft_nextSays where a draft stands and the one next thing to do, so you can write a plan layer by layer and have each layer checked as you go. It reads the plan you send and never changes it. It returns the layer you have reached, what that layer still lacks as exact plan paths, the ques…
shoot_plan_draft_gateThe final check on a drafted plan: is it finished and ready to shoot? It returns ready or not ready, with a record of what was checked and what was not. A plan that does not pass gets a normal answer, not an error: the reasons are the next actions, each with its plan path and a…
shoot_plan_validate_takesChecks a log of takes against the plan it was shot from, before you rely on it. It finds shots that are not in the plan, take numbers used twice, one op_id used for two different takes, file names written as paths, and a log made for another film or another revision of the plan.…
shoot_plan_merge_takesJoins two take logs for the same film into one, for when two phones, an AI assistant and a script supervisor each kept a log while offline. Joining is by op_id, so a take that is in both logs counts once and merging again changes nothing. Where two logs hold different takes unde…
shoot_plan_coverage_statusAnswers "did we get it?" before the crew leaves a location: from the plan and the take log it says which must-have shots have no good take, which reactions or cutaways the edit will need are still missing, what must match on the next set-up, and whether room tone was recorded. A…
shoot_plan_edit_guideWrites the editing guide for a film, scene by scene: what each shot is for, where to cut and why, which cutaway or insert covers which jump or crossed line, the sound to lay, and each open finding as a note about what to do in the edit. With a take log it also says which take st…
shoot_plan_export_editMakes a first assembly edit from the plan and the take log, as a file your own editing software opens: OpenTimelineIO (otio), FCPXML (fcpxml), a CMX 3600 edit decision list (edl) or an ALE log (ale). It puts the chosen takes in story order, each as long as the plan's slot (a sho…
shoot_plan_call_sheetMakes the call sheet for a shoot from a plan's schedule: for the whole schedule, or for one shoot day, who is called, where and when, with the set-ups in order. A plan with no schedule has no times, and the call sheet says so rather than inventing any. Input: plan, a dpl.plan/1…
shoot_plan_shoot_packMakes the pack to take on the shoot day: the call sheet with, for each scene, its shots, the action, the look and the sound notes. Use it when the crew needs one document to work from; use shoot_plan_call_sheet when only the times and people are wanted. Input: plan, a dpl.plan/1…
shoot_plan_summaryGives a short account of a plan, about 300 words, so that you can pick the work up again without being sent the whole plan: the title, the planned runtime against the target, the counts of scenes, shots, characters and places, the thesis and journey, one line for each sequence a…
shoot_plan_sliceCuts out part of a plan, so that you can send a smaller plan when your context is short: the scenes, the shots or the sequence you name, with everything they refer to (characters, places, props, sound and the rest) and their times unchanged. The slice is a valid plan of its own,…
shoot_plan_diffSays what changed between two versions of a plan, so that you can catch up from a few lines instead of reading both. It compares by id, not by position, so reordering changes nothing: it lists what was added, what was removed, what changed (with the old and new values), and an i…
shoot_plan_record_decisionRecords a decision about one finding from shoot_plan_check (accepted, overridden or wont_fix), with the reason and who decided, so that you do not raise it again next session. We keep nothing: the answer is the updated decision log, and you must keep it and send it back to shoot…
shoot_plan_to_dplConverts one of your organisation's purchased Shoot Plan plans into a dpl.plan/1 plan in the short-form profile, so you can pass it to shoot_plan_check. It is the same conversion dpl-eil's reference importer makes, and it is one way only. Input: planId (the plan's planId, spp_..…
shoot_plan_allowanceSays what this account has used and has left of its monthly project allowance, the date it starts again, and, when the limit is reached, how to carry on sooner. A project is identified by the plan's work id and title: the same id and title is one project, and changing either sta…
Details
| Endpoint | https://theamateur.co.uk/mcp/shoot-plan (Streamable HTTP) |
| First published | 26 Oct 2026 |
| Last updated | 26 Oct 2026 |
| Registry name | uk.co.theamateur/shoot-plan |
More other servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
