Skip to content

Shoot Plan

by theamateur.co.uk · remote · no sign-in to list tools · v0.1.0 · published by uk.co.theamateur

Practical filming plans for AI assistants. Shot-plan checks are not yet available to customers.

Deletes · 1Changes · 4

11 tools: 1 can delete or cancel things, 4 change things and 6 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http shoot-plan https://theamateur.co.uk/mcp/shoot-plan

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

11 tools

Deletes or cancels 1Claude Code: deny
  • shoot_plan_reviseUse the plan's one included revision.No findings

    Why it is in this group

    • The description says "cannot be undone".
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Use the plan's one included revision. This cannot be undone and uses the allowance, so call shoot_plan_revision_preview first and confirm with the person. For structured plans, change filming time or transfer time (constraintUpdates.availableMinutes, locationTransferMinutes), framing, or structuredChanges. Use the full taskId from shoot_plan_list (not planId). A unique eight-character task prefix or orderReference also works. Connections see only their own live or owner-test plans.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
Changes things 4Claude Code: ask
  • shoot_plan_createCreate a plan for an authenticated organisation after authoritative payment confirmation.No findings

    Why it is in this group

    • The name "shoot_plan_create" says "create": a word for a change.
    Description, as the server wrote it
    Create a plan for an authenticated organisation after authoritative payment confirmation.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • shoot_plan_progress_syncTick or untick shots and checklist items.No findings

    Why it is in this group

    • The name "shoot_plan_progress_sync" says "sync": a word for a change.
    Description, as the server wrote it
    Tick 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 made against an older basePlanVersion still applies when that item is unchanged in the current version; otherwise its result is item_changed_in_current_version and nothing changes. Ticking records that the person checked the shot, not its technical quality. Use the full taskId from shoot_plan_list (not planId). A unique eight-character task prefix or orderReference also works. Connections see only their own live or owner-test plans.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • shoot_plan_quoteCalculate a deterministic public quote from non-private project metadata.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Calculate a deterministic public quote from non-private project metadata. Do not send a script or brief.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • shoot_plan_timingStructured plans only (not older free-text plans).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Structured 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 work when present. Read-only. Use the full taskId from shoot_plan_list (not planId). A unique eight-character task prefix or orderReference also works. Connections see only their own live or owner-test plans.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
Only reads 6Claude Code: allow
  • shoot_plan_capabilitiesReturn truthful Shoot Plan scope, availability, privacy and commercial state.No findings

    Why it is in this group

    • The description's first verb is "return": a word for reading.
    Description, as the server wrote it
    Return truthful Shoot Plan scope, availability, privacy and commercial state.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • shoot_plan_exampleReturn a synthetic example plan generated by the real planner, with its provenance.No findings

    Why it is in this group

    • The description's first verb is "return": a word for reading.
    Description, as the server wrote it
    Return a synthetic example plan generated by the real planner, with its provenance.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • 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), progress…No findings

    Why it is in this group

    • The name "shoot_plan_get" says "get": a word for reading.
    Description, as the server wrote it
    Return 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 plan has timing. Structured shots have a unique title and whole filming minutes (at least 1); older free-text shots omit both. Use a shot's shotId for progress. Read-only. Use the full taskId from shoot_plan_list (not planId). A unique eight-character task prefix or orderReference also works. Connections see only their own live or owner-test plans.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • shoot_plan_listList the authenticated organisation's Shoot Plans, most recently changed first, without returning private intake or full plan content.No findings

    Why it is in this group

    • The name "shoot_plan_list" says "list": a word for reading.
    Description, as the server wrote it
    List 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:[...]}.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • shoot_plan_revision_previewStructured plans only; older free-text plans cannot be previewed.No findings

    Why it is in this group

    • The name "shoot_plan_revision_preview" says "preview": a word for reading.
    Description, as the server wrote it
    Structured 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?". Never uses the included revision. Use the full taskId from shoot_plan_list (not planId). A unique eight-character task prefix or orderReference also works. Connections see only their own live or owner-test plans.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • 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…No findings

    Why it is in this group

    • The name "shoot_plan_status" says "status": a word for reading.
    Description, as the server wrote it
    Return 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 task prefix or orderReference also works. Connections see only their own live or owner-test plans.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 0.1.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http shoot-plan https://theamateur.co.uk/mcp/shoot-plan

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__shoot-plan__shoot_plan_capabilities",
      "mcp__shoot-plan__shoot_plan_example",
      "mcp__shoot-plan__shoot_plan_list",
      "mcp__shoot-plan__shoot_plan_status",
      "mcp__shoot-plan__shoot_plan_get",
      "mcp__shoot-plan__shoot_plan_revision_preview"
    ],
    "ask": [
      "mcp__shoot-plan__shoot_plan_quote",
      "mcp__shoot-plan__shoot_plan_create",
      "mcp__shoot-plan__shoot_plan_timing",
      "mcp__shoot-plan__shoot_plan_progress_sync"
    ],
    "deny": [
      "mcp__shoot-plan__shoot_plan_revise"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as shoot-plan. Review it before you use it.