Photo Shoot Planner
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Photo Shoot Planner plan a beach sunrise shoot in Malibu"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 |
| Coordinate the complete production book |
| Objectives, audience, deliverables, usage, approvals |
| Visual references, palette, lighting, styling rules |
| Creative fit, light, access, permits, logistics, backup |
| Required coverage, setup grouping, priorities, timing |
| Roles, bookings, responsibilities, travel, contacts |
| Calls, schedule, meals, moves, weather, safety |
| Estimates, commitments, actuals, contingency, variance |
| Camera, lighting, grip, power, storage, redundancy |
| Looks, props, products, continuity, returns |
| Permit/release/insurance issue spotting and status |
MCP tools
Tool | Purpose |
| Convert a place name to candidate coordinates |
| Daily sun/moon windows and phase |
| Moon and Milky Way positions through a session |
| Hourly shoot-condition forecast |
| Interpret supplied Bortle or SQM data |
| Rank candidate locations |
| Estimate route distance and duration |
| Discover mapped lodging near a location |
| Gear-specific starting settings |
| Calculate category totals, tax, contingency, and variance |
| Validate schedule math and person-level conflicts |
| Generate a case-specific legal-readiness checklist |
| Separate production blockers from warnings |
| 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 buildInstall 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 startTo 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 listThe 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 packInstall 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 toolsassess_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
Scored across 14 tools
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.
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.
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.
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
Related MCP Connectors
MCP server for generating rough-draft project plans from natural-language prompts.
Holiday photo MCP server: list and fetch personal holiday photos inline in Claude chat.
Hosted MCP server for AI photo editing: nothing to install, no desktop photo editor needed.
Use AI models for chat, image, and video generation from Claude Code and other MCP hosts.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA production-ready MCP server ecosystem providing Claude AI with 150+ specialized tools across enhanced memory, data analytics, security, design, and infrastructure domains with PostgreSQL, Redis, Qdrant, and Docker orchestration.MIT
- AlicenseAqualityDmaintenanceAn MCP server that turns Claude into a full image production studio, enabling creation, editing, resizing, and brand-consistent asset generation across multiple platforms.6MIT
- AlicenseNot gradedqualityDmaintenanceA production-ready MCP server with file management, HTTP requests, system info, and environment variable tools, plus a management UI and dual transport for Claude Desktop and Claude.ai.512 npmMIT
- FlicenseBqualityDmaintenanceA Python MCP server providing weather and date tools for travel planning, compatible with Google ADK and Claude Desktop.2-