Skip to main content
Glama
Photo Shoot Planner

Photo Shoot Planner

by chenyuan99

Photo Shoot Planner

A Claude-compatible MCP server and skill suite for both photography trips and professional photoshoot productions.

Two planning modes

Outdoor and astrophotography trips

  • Resolve locations and normalize GPS coordinates

  • Calculate moon phase, rise/set, altitude/azimuth, Milky Way core position, golden/blue hour, and astronomical darkness

  • Review hourly cloud layers, visibility, wind, humidity, and precipitation

  • Interpret supplied Bortle/SQM measurements without inventing site ratings

  • Compare viewpoints, estimate routes, discover nearby lodging, and recommend camera settings

Managed photoshoot productions

  • Convert the objective into a creative brief and visual direction

  • Plan mood boards, locations, shot lists, talent, and crew

  • Build budgets, equipment plans, wardrobe/prop manifests, and call sheets

  • Track permits, insurance, model/property releases, and usage rights

  • Run a final readiness gate before distributing the production book

Related MCP server: envious-canvas

Skill suite

The skills follow the modular pattern used by AI job-search collections: one coordinating workflow plus focused specialists that can trigger independently.

Skill

Responsibility

plan-photo-production

Coordinate the complete production book

develop-creative-brief

Objectives, audience, deliverables, usage, approvals

build-photo-mood-board

Visual references, palette, lighting, styling rules

scout-photo-location

Creative fit, light, access, permits, logistics, backup

create-photo-shot-list

Required coverage, setup grouping, priorities, timing

coordinate-talent-crew

Roles, bookings, responsibilities, travel, contacts

build-photo-call-sheet

Calls, schedule, meals, moves, weather, safety

manage-shoot-budget

Estimates, commitments, actuals, contingency, variance

plan-photo-equipment

Camera, lighting, grip, power, storage, redundancy

manage-wardrobe-props

Looks, props, products, continuity, returns

check-shoot-permits-releases

Permit/release/insurance issue spotting and status

MCP tools

Tool

Purpose

resolve_location

Convert a place name to candidate coordinates

get_astronomy

Daily sun/moon windows and phase

get_sky_timeline

Moon and Milky Way positions through a session

get_weather

Hourly shoot-condition forecast

assess_dark_sky

Interpret supplied Bortle or SQM data

compare_viewpoints

Rank candidate locations

plan_route

Estimate route distance and duration

find_nearby_lodging

Discover mapped lodging near a location

recommend_camera_settings

Gear-specific starting settings

calculate_shoot_budget

Calculate category totals, tax, contingency, and variance

build_call_sheet

Validate schedule math and person-level conflicts

generate_release_checklist

Generate a case-specific legal-readiness checklist

validate_shoot_readiness

Separate production blockers from warnings

create_shooting_plan

Produce a printable outdoor field plan

Install

Requires Node.js 20 or newer. First clone and build the project:

git clone https://github.com/chenyuan99/photo-shoot-planner.git
cd photo-shoot-planner
npm ci
npm run build

Install the skills in Codex

Codex discovers personal skills in ~/.agents/skills. Copying the skill folders there makes them available in every workspace.

macOS or Linux:

mkdir -p ~/.agents/skills
cp -R skills/. ~/.agents/skills/

Windows PowerShell:

New-Item -ItemType Directory -Force "$HOME/.agents/skills"
Copy-Item -Recurse -Force "skills/*" "$HOME/.agents/skills/"

For project-only installation, copy the folders to .agents/skills/ inside the target repository instead. Codex detects skill changes automatically; restart Codex if the new skills do not appear.

The skills can provide instruction-only planning after this step. Configure the MCP server below if you also want live location, weather, astronomy, routing, budget, call-sheet, and readiness tools.

Configure the MCP server

Run the server locally to verify the build:

npm test
npm start

To register the local server with Codex, replace the example path with the absolute path to this checkout:

codex mcp add photo-shoot-planner -- node /absolute/path/photo-shoot-planner/dist/index.js
codex mcp list

The ChatGPT desktop app, Codex CLI, and IDE extension share the Codex MCP configuration. Restart the active client after adding the server, then use /mcp to confirm it is connected.

For Claude Desktop development, configure the same absolute server path:

{
  "mcpServers": {
    "photo-shoot-planner": {
      "command": "node",
      "args": ["C:/absolute/path/photo-shoot-planner/dist/index.js"]
    }
  }
}

Use the skills

In Codex, run /skills or type $ in the prompt to browse installed skills. You can invoke a skill explicitly or describe the task naturally and let Codex choose the matching skill.

Use the coordinating skill for a complete professional production:

$plan-photo-production Plan a six-person editorial fashion shoot in Brooklyn on
September 18. The budget cap is $12,000. Produce the brief, shot list, crew plan,
budget, equipment list, call sheet, release checklist, and readiness report.

Invoke a specialist when you need one focused deliverable:

$build-photo-call-sheet Create a call sheet for a product shoot from 8:00 AM to
6:00 PM, with two studio setups, a 45-minute lunch, and a 30-minute strike.
$scout-photo-location Compare three locations for a golden-hour portrait shoot.
Evaluate creative fit, access, permits, weather risk, and a backup option.

Natural-language requests work too:

  • "Compare Sequoia and Death Valley for Milky Way photography next weekend with a Nikon Z30."

  • "Build a budget and equipment plan for a two-day commercial product shoot."

  • "Audit this call sheet for timing conflicts, missing breaks, and readiness blockers."

For stronger results, include the shoot type, objective, date, location, deliverables, team size, budget, equipment constraints, usage rights, deadlines, and known safety or accessibility needs. Missing noncritical details can remain TBD with an owner and due date.

Package as a Claude extension

npm install -g @anthropic-ai/mcpb
npm run build
mcpb validate manifest.json
mcpb pack

Install the resulting .mcpb from Claude Desktop -> Settings -> Extensions -> Advanced settings -> Install Extension.

Data and safety notes

The server sends coordinates and search queries to Open-Meteo, OpenStreetMap Nominatim, OSRM, and Overpass. These public services may rate-limit or be unavailable. Astronomy calculations are local.

Forecasts, access, closures, permits, labor rules, insurance, usage rights, wildfire smoke, tides, lodging, and legal requirements must be verified with the relevant authority or qualified professional. Tool output is planning support, not legal, safety, labor, or insurance advice.

Schemas

Reusable contracts live in schemas/ for shooting plans, creative briefs, shot lists, budgets, and call sheets. Tool inputs are validated with Zod-generated JSON Schema.

License

MIT

Available Tools

14 tools
assess_dark_skyB

Interpret a supplied Bortle class or sky-quality reading. Does not invent a site rating.

Inputs: sqm, bortleClass, cloudCoverPercent, moonIlluminationPercent.

build_call_sheetA

Validate schedule math and produce a structured call sheet with overlaps, gaps, and total production-day duration.

Inputs: events (required), project (required), location (required), timezone (required), +5 more.

calculate_shoot_budgetC

Calculate estimated, committed, and actual photoshoot costs with tax, contingency, category totals, and variances.

Inputs: lines (required), currency, budgetCap, taxRatePercent, +1 more.

compare_viewpointsC

Rank candidate viewpoints using darkness, horizon, access, and foreground scores.

Inputs: candidates (required).

create_shooting_planB

Turn verified inputs into a printable Markdown field plan. Pass only facts already gathered; unknowns remain explicit.

Inputs: date (required), title (required), itinerary (required), locations (required), +5 more.

find_nearby_lodgingC

Find nearby mapped hotels/motels/hostels via OpenStreetMap Overpass; verify availability and breakfast directly.

Inputs: latitude (required), longitude (required), limit, radiusKm.

generate_release_checklistA

Generate a case-specific issue-spotting checklist for permits, releases, insurance, and usage rights. This is not legal advice.

Inputs: purpose (required), jurisdiction (required), propertyType (required), recognizablePeople (required), +8 more.

get_astronomyA

Compute moon phase/rise/set, golden hour, blue hour, and astronomical darkness for coordinates and an ISO date/time.

Inputs: dateTime (required), latitude (required), longitude (required).

get_sky_timelineB

Sample sun/moon positions through a shoot window; useful for moon alignment and Milky Way darkness planning.

Inputs: end (required), start (required), latitude (required), longitude (required), +1 more.

get_weatherA

Fetch hourly cloud cover, visibility, precipitation, wind and temperature from Open-Meteo for a shoot window.

Inputs: endDate (required), latitude (required), longitude (required), startDate (required), +1 more.

plan_routeB

Estimate driving route, distance and duration between coordinates using the public OSRM service.

Inputs: origin (required), destination (required).

recommend_camera_settingsA

Generate conservative starting settings for a camera/lens and subject; photographer must meter and adjust on site.

Inputs: camera (required), sensor (required), subject (required), cropFactor (required), +4 more.

resolve_locationA

Geocode a place name to candidate coordinates using OpenStreetMap Nominatim.

Inputs: query (required), limit.

validate_shoot_readinessB

Score production readiness and separate critical blockers from warnings and completed checks.

Inputs: checks (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 14 tools

    Disambiguation4/5

    Each tool targets a distinct concern (astronomy, location, weather, route, budget, checklists), so most boundaries are clear. get_astronomy and get_sky_timeline have some overlap in sky computation, but get_astronomy focuses on a single instant while get_sky_timeline samples a window, which descriptions clarify.

    Naming Consistency4/5

    Tools follow a consistent verb_noun pattern (get_, assess_, compare_, plan_, find_, recommend_, calculate_, build_, generate_, validate_, create_). The verbs are varied but predictable; the only minor inconsistency is that some verbs (get_) are fetch-based while others (validate_, create_) are generative, but the pattern holds throughout.

    Tool Count5/5

    14 tools is well within the ideal 3-15 range and each tool maps to a distinct production phase: site selection, astronomy, weather, logistics, budget, call sheet, and planning deliverable. Every tool appears necessary to the stated photoshoot planning workflow.

    Completeness5/5

    The surface covers the full lifecycle from location/astronomy/weather discovery through route/lodging logistics, cost/budget, and production deliverables (call sheet, releases, readiness score, and field plan). No obvious dead ends; the suite forms a coherent planning pipeline from ideation to execution.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers