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 Plannerplan 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.
| Name | Required | Description | Default |
|---|---|---|---|
| sqm | No | ||
| bortleClass | No | ||
| cloudCoverPercent | No | ||
| moonIlluminationPercent | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It does state a key behavioral trait ('Does not invent a site rating,' implying it interprets only supplied values), which is useful. However, it doesn't disclose what happens with invalid inputs, whether the tool is a pure read/calculation, or what output format results. For a tool with no annotations, this is thin but not misleading.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero wasted words. The description front-loads the primary action and closes with a clarifying constraint. This is appropriately sized for the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 4 parameters (all optional), no output schema, and no annotations, placing a heavy burden on the description. With only 2 of 4 parameters referenced and no behavioral detail about how the interpretation is derived or what the return value looks like, the description is materially incomplete. A tool combining SQM, Bortle, cloud cover, and moon illumination clearly produces a composite sky-quality assessment, but the description doesn't communicate that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, meaning the description must compensate for all 4 parameters, but it mentions only two (Bortle class and sky-quality/SQM). cloudCoverPercent and moonIlluminationPercent are entirely unexplained in the description, and even sqm's relationship to 'sky-quality reading' is implied rather than explicit. The description adds minimal value over the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb+resource ('Interpret a supplied Bortle class or sky-quality reading') and clarifies what it does NOT do ('Does not invent a site rating'). The purpose is clear, though it doesn't explicitly differentiate from siblings like get_astronomy or validate_shoot_readiness, which could overlap in evaluating sky conditions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives like get_astronomy, get_weather, or validate_shoot_readiness. The 'Does not invent a site rating' clause hints at a limitation but doesn't explain when to choose this tool over the astronomy or weather tools that are its likely siblings. An agent would have to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_call_sheetA
Validate schedule math and produce a structured call sheet with overlaps, gaps, and total production-day duration.
| Name | Required | Description | Default |
|---|---|---|---|
| events | Yes | ||
| project | Yes | ||
| contacts | No | ||
| location | Yes | ||
| timezone | Yes | ||
| shootDate | Yes | ||
| generalCall | Yes | ||
| estimatedWrap | Yes | ||
| bufferTargetPercent | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It discloses that it validates schedule math and computes overlaps/gaps/duration, giving the agent a reasonable sense of what the tool does. However, it doesn't disclose what happens on validation failure (error vs partial output), whether schedule math correctness is enforced, or any side effects. With zero annotation coverage, this is a moderate gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, dense sentence that names the action (validate), the resource (schedule math), the output (structured call sheet), and the key computed values (overlaps, gaps, total duration). Zero wasted words, well front-loaded with the purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is moderately complex with 9 parameters and no output schema, so the description must convey return value semantics on its own. It names the computed outputs (overlaps, gaps, duration), which is helpful. But it doesn't clarify the return format (structured call sheet — what fields?), whether it's a doc/table/JSON, or edge-case behavior like what happens with no events. The output schema absence means the description should convey more about what the call sheet contains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, with 9 parameters (7 required), so the description must shoulder the explanatory burden. The description leaves all parameter semantics to the schema's property names and types. However, the schema itself is fairly self-documenting (project, shootDate, timezone, location, generalCall, estimatedWrap, events are all clear from their names). The events array has rich nested structure with defaults and types. The description doesn't add meaning beyond what the schema field names convey, but the schema field names are largely self-explanatory.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('validate' and 'produce') with a clear resource (call sheet) and names its outputs: overlaps, gaps, and total production-day duration. It clearly distinguishes from read-only tools like get_sky_timeline or get_weather by emphasizing it validates and produces a structured document. However, it doesn't explicitly name sibling alternatives for comparison.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the usage context (production scheduling/validation) but provides no explicit when-to-use vs when-not-to-use guidance. There's no alternative tool named, unlike high-scoring examples. Given the sibling list includes create_shooting_plan (which may overlap in scheduling workflow), some comparative guidance would help but is not present.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_shoot_budgetC
Calculate estimated, committed, and actual photoshoot costs with tax, contingency, category totals, and variances.
| Name | Required | Description | Default |
|---|---|---|---|
| lines | Yes | ||
| currency | No | USD | |
| budgetCap | No | ||
| taxRatePercent | No | ||
| contingencyPercent | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does disclose that the tool handles tax, contingency, category totals, and variances, which reveals aggregation behavior. However, it doesn't disclose what the return value looks like, whether totals are computed in multiple currencies, or how budgetCap affects the result.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no wasted words, front-loaded with the core action and outputs. Efficient for its length but not verbose enough to cover critical param semantics.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a complex calculation tool with 5 parameters, 0% schema coverage, nested line objects, multiple cost types (unitCost, actualCost), status enums, and no output schema or annotations. The description lists what it calculates but doesn't explain how lines compose costs, what 'committed' vs 'actual' means for computation, or what the varied outputs look like. For this complexity level, the description is under-specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for all 5 parameters. The description mentions tax, contingency, and category totals, which maps to taxRatePercent, contingencyPercent, and category fields indirectly. But it provides no guidance on lines structure, currency handling, budgetCap semantics, or the relationship between unitCost, actualCost, and status. The description barely adds meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Calculate') and names the resource (photoxhoot costs) with specific outputs (estimated, committed, actual costs; tax, contingency, category totals, variances). It's clear but doesn't explicitly distinguish from siblings since no sibling directly overlaps with budget calculation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No context on when to use this tool versus alternatives. The sibling tools are all photography/location planning tools (get_weather, plan_route, etc.), and while calculate_shoot_budget is clearly distinct in domain, the description doesn't state when to invoke it, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_viewpointsC
Rank candidate viewpoints using darkness, horizon, access, and foreground scores.
| Name | Required | Description | Default |
|---|---|---|---|
| candidates | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. The description only names the scoring dimensions but doesn't explain the weighting/composition of scores, how the ranking output is structured, whether it mutates state, or how scores are derived/combined. For a ranking tool with no output schema and no annotations, this is a significant transparency gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single clear sentence that front-loads the verb and purpose. No wasted words. It efficiently conveys what the tool does and its scoring criteria. Could arguably add a bit more, but the conciseness is appropriate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a moderately complex aggregator tool with no output schema and no annotations. The description does not clarify what the ranking output looks like, how scores are combined/weighted, nor which fields are required vs optional inputs. Given the tool takes an array of candidate objects with multiple optional scoring fields, the description is under-specified for an agent to use it reliably.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but there are individual properties with rich min/max constraints in the schema itself (Bortle class 1-9, scores 0-10). The description names the four scoring dimensions, which helps map concept to fields, but doesn't clarify that candidates need pre-computed accessScore/horizonScore/foregroundScore values (as opposed to the tool computing them). With only one parameter being an array with a fairly self-documenting nested schema, the description adds nominal value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Rank' and the resource 'candidate viewpoints', and lists the four scoring dimensions (darkness, horizon, access, foreground). It distinguishes this from siblings like assess_dark_sky (which evaluates darkness alone) by implying a comparative ranking of multiple candidates. Directly distinguishing from specific siblings isn't done but the multi-candidate ranking purpose is clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. It doesn't explain when one would want viewpoint ranking vs. the other planning tools, nor mention prerequisites like needing access/horizon scores already computed and provided per candidate. Usage context is entirely implied by the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_shooting_planB
Turn verified inputs into a printable Markdown field plan. Pass only facts already gathered; unknowns remain explicit.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| risks | No | ||
| title | Yes | ||
| packing | No | ||
| itinerary | Yes | ||
| locations | Yes | ||
| cameraSummary | Yes | ||
| weatherSummary | Yes | ||
| astronomySummary | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries a heavier burden. It discloses that it produces a Markdown document and that unknowns should remain explicit rather than being filled in. However, it does not disclose whether this is a safe/read-only operation, whether it mutates state, whether it persists/store the plan, or what the return format looks like (beyond 'Markdown'). For a tool with zero annotation coverage, this is a moderate but incomplete disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, one stating the core transformation and one setting an input policy. Zero filler. However, given 9 parameters and zero annotation/schema coverage, the extreme terseness might sacrifice too much useful detail rather than being efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 9 parameters, zero schema description coverage, no annotations, and no output schema, the description must provide substantial context but delivers only two short sentences. It doesn't describe the structure of the generated Markdown plan, what sections are produced, how risks/packing fields factor in, or any interaction semantics between the summary fields. For an assembly tool of this complexity, this is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the param-explanation burden. The description adds no parameter-specific information - it doesn't explain what title, date, locations, astronomical summaries, or itinerary should contain, nor how they interact. The 'pass only facts already gathered' guidance is generic and doesn't map to specific parameters. With 9 parameters and zero schema text, the description undercompensates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Turn... into') and identifies the resource ('printable Markdown field plan'), clearly distinguishing this as the synthesis/final-output tool among siblings. It does not explicitly name an alternative tool for comparison, but the purpose of consolidating verified inputs into a plan is distinct from the data-gathering siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Pass only facts already gathered' gives clear usage context - this is the final assembly step after verification, implying it should be used after data-gathering tools. 'Unknowns remain explicit' provides guidance on how to handle gaps. It lacks explicit named alternatives or when-not-to-use exclusions, but the input-gating instruction is clear contextual guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_nearby_lodgingC
Find nearby mapped hotels/motels/hostels via OpenStreetMap Overpass; verify availability and breakfast directly.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| latitude | Yes | ||
| radiusKm | No | ||
| longitude | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It mentions it queries OpenStreetMap Overpass, which reveals a data source and implies network dependency. However, it doesn't disclose rate limits, response format, or behavior when no lodging is found. The phrase 'verify availability and breakfast directly' hints at external verification but is vague about what that entails. For a network-backed tool with zero annotation coverage, more transparency is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with an embedded semicolon that combines two distinct concerns (finding vs. verifying). It is brief but packs two actions awkwardly. The 'verify availability and breakfast directly' clause is cryptically vague and could confuse agents rather than clarify scope. Efficiency is decent, but the second clause undercuts clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so description must explain what the tool returns. It does not describe the result structure, count, or what 'verify' returns. Four parameters are present but the description addresses none of them (radius, limit are unmentioned). The tool mentions verification of availability/breakfast but never explains when or how that happens, leaving a significant functional gap for a moderately complex tool with a data-source dependency.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for the 4 parameters. It addresses none of them: latitude/longitude semantics are implied by the tool name, but limit, radiusKm, and their defaults are never mentioned. The agent gets no guidance on search scope, result cap, or how radius interacts with Overpass queries. The description adds no meaningful parameter-level value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The tool name 'find_nearby_lodging' combined with 'Find nearby mapped hotels/motels/hostels' gives a clear verb+resource pairing with enumerated types (hotels/motels/hostels) and a scoping attribute (nearby). It distinguishes itself from geographic siblings like get_weather and plan_route. However, the appended 'verify availability and breakfast directly' clause muddies the primary purpose by suggesting a second behavior in the same sentence.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when this tool should be used versus alternatives, despite a rich toolset including plan_route, resolve_location, and compare_viewpoints. There is no mention of prerequisites (e.g., resolving location first via resolve_location before passing coordinates), no exclusions, and no explanation of when to prefer this over a general search. The usage context is entirely absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_release_checklistA
Generate a case-specific issue-spotting checklist for permits, releases, insurance, and usage rights. This is not legal advice.
| Name | Required | Description | Default |
|---|---|---|---|
| drone | No | ||
| minors | No | ||
| purpose | Yes | ||
| intendedUses | No | ||
| jurisdiction | Yes | ||
| propertyType | Yes | ||
| streetImpact | No | ||
| vehiclesOrAnimals | No | ||
| recognizablePeople | Yes | ||
| artworkOrTrademarks | No | ||
| tripodOrLargeFootprint | No | ||
| recognizablePrivateProperty | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. The description does disclose its non-legal-advice nature, which is a meaningful transparency signal. However, it doesn't describe the output format (e.g., whether it returns a checklist document, a list of flags based on inputs), how the boolean parameters affect the output, or whether it requires unresolved questions to be answered. For a tool generating substantive content, more behavioral disclosure would help.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, extremely economical with zero filler. Every clause earns its place, and the non-legal-advice caveat is valuable. It is appropriately front-loaded with the core purpose in the first sentence. It could be slightly longer to cover parameter semantics, but what's present is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 12 parameters (4 required) and no output schema, so the description must do substantial explanatory work. While the description conveys the general domain and calls out the non-legal nature, it doesn't explain how the 12 inputs influence the resulting checklist, what the output looks like, or how severity/coverage varies. Given the tool's complexity (boolean flags for edge cases like minors, drones, street closures), more guidance on how inputs map to checklist items would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. The description names four areas the checklist covers (permits, releases, insurance, usage rights) which maps loosely to the input parameters (jurisdiction, recognizablePeople, propertyType, recognizablePrivateProperty, artworkOrTrademarks, etc.). However, it doesn't explain how the boolean flags (drone, minors, streetImpact, vehiclesOrAnimals, etc.) feed into the checklist generation, nor clarify the enum semantics like purpose distinctions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('Generate') and resource ('case-specific issue-spotting checklist for permits, releases, insurance, and usage rights'). It distinguishes its scope from sibling tools which are about astronomy, weather, logistics, or camera settings. However, it doesn't explicitly name alternative tools or compare itself, leaving differentiation to be inferred from the domain mismatch.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for pre-production legal/rights planning in photography or videography (given sibling tools like recommend_camera_settings and build_call_sheet), and the scope 'permits, releases, insurance, and usage rights' clarifies the domain. However, there is no explicit statement of when to use this tool vs alternatives, nor when NOT to use it. The indication 'This is not legal advice' is a useful constraint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_astronomyA
Compute moon phase/rise/set, golden hour, blue hour, and astronomical darkness for coordinates and an ISO date/time.
| Name | Required | Description | Default |
|---|---|---|---|
| dateTime | Yes | ||
| latitude | Yes | ||
| longitude | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It's a read/compute operation but the description doesn't state whether it requires network time, whether it returns local or UTC times, what units/format results come in, or any edge cases (polar regions with no rise/set). It's a moderate gap for a compute tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single-sentence description is efficient and front-loaded with the verb 'Compute' followed by the full scope of outputs and inputs. No filler or redundancy. Could be slightly more thorough given the listed outputs, but it earns its single sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and 0% schema description coverage, the description must carry substantial weight. It lists five astronomy outputs, which gives good scope, but doesn't describe return format, timezone handling, or edge cases. For a tool with this many distinct output categories and zero structured support, a bit more detail would be warranted.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for the 3 undocumented parameters. It does name the inputs ('coordinates' and 'ISO date/time'), clarifying that latitude/longitude are the coordinates and dateTime is an ISO date-time. This maps meaningfully to the parameters, though it doesn't add per-parameter format conventions beyond the schema's own format field.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Compute') and lists the resources covered (moon phase/rise/set, golden hour, blue hour, astronomical darkness) plus the inputs (coordinates and ISO date/time). It's clear what the tool does, though it doesn't explicitly differentiate from siblings like get_sky_timeline or assess_dark_sky, which may overlap with celestial computations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this is used for astronomy/light calculations at a location, but provides no explicit when-to-use or when-not-to-use guidance versus sibling tools. Closers like get_sky_timeline or assess_dark_sky could overlap, and no exclusions or alternatives are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sky_timelineB
Sample sun/moon positions through a shoot window; useful for moon alignment and Milky Way darkness planning.
| Name | Required | Description | Default |
|---|---|---|---|
| end | Yes | ||
| start | Yes | ||
| latitude | Yes | ||
| longitude | Yes | ||
| intervalMinutes | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral burden. It says it 'samples' positions through a window, implying a read-only computation, which is fine. But it doesn't disclose interval granularity behavior, output format, or how it handles invalid/out-of-range dates. It's a safe read but missing behavioral detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single efficient sentence gets straight to what the tool does and a pointed real-world use case. No filler words. It could add a bit more but remains appropriately compact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter tool with zero schema coverage, no output schema, and no annotations, the description is thin. It explains the core purpose and one use case but leaves parameter semantics and behavior largely undeclared. The existence of sibling tools like get_astronomy makes completeness more important for disambiguation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so all 5 parameters (latitude, longitude, start, end, intervalMinutes) are undocumented. The description mentions 'shoot window' (maps to start/end) but adds nothing about latitude/longitude or the optional intervalMinutes, which has meaningful semantics (sampling frequency). It compensates modestly but misses several parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Sample') plus a clear resource ('sun/moon positions through a shoot window'), and it names concrete use cases (moon alignment, Milky Way darkness planning). It's clear, though sibling get_astronomy exists and the description doesn't explicitly carve out its distinct scope from that tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The use cases (moon alignment, Milky Way darkness) imply when to use it, and 'shoot window' gives useful context for the start/end parameters. However, there's no explicit guidance on when NOT to use it versus get_astronomy or assess_dark_sky, which are plausible overlapping siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_weatherA
Fetch hourly cloud cover, visibility, precipitation, wind and temperature from Open-Meteo for a shoot window.
| Name | Required | Description | Default |
|---|---|---|---|
| endDate | Yes | ||
| latitude | Yes | ||
| timezone | No | auto | |
| longitude | Yes | ||
| startDate | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the burden. It names the data source (Open-Meteo) and the metrics fetched, which adds context, but doesn't disclose anything about rate limits, failure behavior, accuracy caveats, or the hourly granularity implications beyond the word 'hourly'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single, dense sentence; zero waste. Efficient phrasing that packs the data source and metric list into one line.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema or annotations. For a moderately complex tool with 5 params and no param docs, a one-sentence description leaves the agent guessing at required coordinates, date format, and timezone meaning. The metric list helps, but it's thin for a data-fetching tool with no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and all 5 parameters are undocumented in the description. The description mentions no parameters at all. Even the 'shoot window' phrasing implies date filtering, but latitude/longitude/timezone get zero explanation. The baseline low coverage means the description must compensate, and it doesn't.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb+resource: 'Fetch hourly cloud cover, visibility, precipitation, wind and temperature' from Open-Meteo. The scope ('for a shoot window') positions it distinctly from siblings like get_astronomy and assess_dark_sky.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies it's for weather during a shoot window, but doesn't explicitly state when to prefer it over siblings or when not to use it. It's distinguishable by content (clouds/visibility/precip/wind/temp) but no explicit alternatives or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plan_routeB
Estimate driving route, distance and duration between coordinates using the public OSRM service.
| Name | Required | Description | Default |
|---|---|---|---|
| origin | Yes | ||
| destination | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'public OSRM service,' which hints at external dependency and potential rate limits or availability issues, but does not elaborate on what happens on service failure, whether results are best-effort approximations, or the response structure beyond 'distance and duration.' For a network-dependent tool with zero annotation coverage, this is under-disclosed about reliability and failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that communicates the verb, resource, and data source. Every element earns its place - nothing is redundant or wasteful. This is exemplary conciseness for a two-parameter routing tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relatively simple two-parameter geo tool with no output schema, the description covers the core function. However, given the external OSRM dependency and no annotations, it should ideally disclose rate limits, geographic coverage limitations, or service reliability caveats. The tool's complexity is moderate, and the description adequately conveys the basic operation but falls short on operational caveats that an agent should know before invoking a public third-party API.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for parameter semantics. The description mentions 'coordinates' generally and the schema provides well-structured origin/destination objects with latitude/longitude and validation ranges. However, the description adds no detail about the format expectations beyond what the schema structure already communicates (latitude/longitude numbers). A baseline 3 is appropriate since the schema is self-explanatory for these two parameters, but the description adds nothing beyond the structured fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: estimate a driving route with distance and duration between coordinates using OSRM. It uses a specific verb ('estimate') with a clear resource ('driving route') and adds the data source (OSRM). Among siblings like get_weather, resolve_location, and compare_viewpoints, this is distinguishable as a route-planning utility, though it doesn't explicitly differentiate from any sibling (none are routing-focused, so differentiation is implicit).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context ('estimate driving route... between coordinates') with the key detail that it uses a public OSRM service. However, it does not state when NOT to use it, what alternatives exist (e.g., walking/bicycling routes, driving vs transit), or any constraints like the service being free/rate-limited or the fact that public OSRM may lack coverage in some regions. The usage context is clear but lacks exclusions or alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recommend_camera_settingsA
Generate conservative starting settings for a camera/lens and subject; photographer must meter and adjust on site.
| Name | Required | Description | Default |
|---|---|---|---|
| camera | Yes | ||
| sensor | Yes | ||
| tripod | No | ||
| subject | Yes | ||
| cropFactor | Yes | ||
| maxAperture | Yes | ||
| focalLengthMm | Yes | ||
| stabilization | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. The description does convey that output is 'conservative starting settings' requiring on-site adjustment, which is useful. However, it doesn't disclose what algorithm/formulas are used, whether any external weather/astro data feeds in, what happens if inputs are inconsistent (e.g., sensor full-frame vs cropFactor 2.0), or what the exact output format/return shape is. Given the complexity of this tool (8 params, 6 required) and zero annotation coverage, significantly more disclosure is warranted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, dense sentence with zero filler. Every clause earns its place: 'Generate conservative starting settings' states the action, 'for a camera/lens and subject' names the inputs, and 'photographer must meter and adjust on site' adds the critical caveat. Efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a complex tool — 8 parameters, 6 required, no output schema, no annotations, 0% schema coverage. For a tool of this complexity, the description is too thin. It doesn't cover output shape (what settings are returned — ISO, shutter, aperture, or all?), how parameters influence each other, or how results vary by subject type. The single-sentence description is far from complete for an 8-parameter computation tool with no output schema to fall back on.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate — and it does to a degree. The description names the key input categories ('camera/lens and subject'), which maps to the camera, focalLengthMm, maxAperture, and subject parameters. With 0% coverage, even this implicit mapping is valuable, but the description doesn't explain relationship semantics (e.g., how cropFactor interacts with sensor, or that tripod/stabilization affect shutter-speed recommendations). It adds meaning but doesn't fully bridge the 0% coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb+resource construction: 'Generate conservative starting settings for a camera/lens and subject'. It clearly states what the tool produces (camera settings) and the context (starting/conservative values). It distinguishes itself from the sibling tools which are about astronomy, weather, planning, budgeting, and legal/release tasks — none of which compute camera exposure parameters, so this tool's purpose is uniquely identifiable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the usage context ('camera/lens and subject' starting settings) and adds the advisory that 'photographer must meter and adjust on site', which signals these are starting points not definitive answers. It doesn't explicitly state when NOT to use it or name alternative tools, but the sibling set makes the boundaries clear — this is the only camera-settings-specific tool. The on-site-adjustment caveat provides reasonable guidance about expectations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_locationA
Geocode a place name to candidate coordinates using OpenStreetMap Nominatim.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the external dependency on OpenStreetMap Nominatim (a useful behavioral clue about external API calls/network requirements), but it doesn't disclose that results are potentially non-deterministic, that it returns multiple candidates with confidence ratings to disambiguate, or address rate limits inherent to using a public service.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, grammatically complete sentence that front-loads the purpose (Geocode) before the resource, with no filler words. Every element — verb, target, output type, and backend service — earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is relatively simple (2 params, no nested objects, no output schema), so the description is reasonably complete for its complexity. However, with no output schema describing the response shape and only 0% schema coverage of parameters, the description could add more context about what 'candidate coordinates' means as a return and how ranking works among candidates, which directly affects how the agent interprets results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for parameter meaning. The description names the primary input ('place name' maps to 'query'), and the 'limit' parameter has a default and bounds in the schema. However, the description doesn't explain how 'limit' affects candidate selection or what distinguishes one candidate from another, leaving partial meaning uncovered.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('Geocode') targeting a specific resource ('place name') with a defined output ('candidate coordinates') and a named implementation source ('OpenStreetMap Nominatim'). It distinguishes itself from sibling tools like plan_route or get_weather by focusing solely on location resolution/geocoding.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this is the geocoding tool among astronomy/weather/planning siblings, but it doesn't explicitly state when to use it versus alternatives or provide exclusions. The context that it produces 'candidate coordinates' is useful for downstream tools but no when-to-use guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_shoot_readinessB
Score production readiness and separate critical blockers from warnings and completed checks.
| Name | Required | Description | Default |
|---|---|---|---|
| checks | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided (no readOnlyHint, destructiveHint, or others), so the description carries the full behavioral burden. It states the tool separates blockers from warnings and completed checks, which is a useful behavioral disclosure about output categorization. However, it doesn't describe what 'score' means (return format, how the aggregate score is computed), side effects, or whether this is purely read-only/pure evaluation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence that conveys purpose and output categories in minimal words. No wasted content exists, and the phrasing is front-loaded with the main verb and subject. It is economical without being under-specified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a scoring/evaluation tool that merges complex inputs (up to 300 checks with 8 subfields) into categorized output, yet there is no output schema and no annotations provided. The description does not clarify field semantics (critical flag, status enums, evidence, owner, dueDate), which fields influence scoring, or how the output is structured. Given the tool's complexity and zero structured metadata, the description is materially incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate for the undocumented 'checks' parameter. The description says 'Score production readiness' and refers to 'completed checks,' which implies 'checks' is the array of readiness items, offering some meaning. However, it does not explain the structure of each check (area/status/critical fields, how 'critical' flags blockers, how status values map to blocker/warning/complete buckets), leaving significant semantic gaps for a 1-parameter tool with 300-item limit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Score production readiness and separate critical blockers from warnings and completed checks' clearly states the verb (score/validate), the resource (production readiness / shoot readiness), and what the distinct outcome categories are (blockers vs warnings vs completed). It distinguishes itself from siblings like build_call_sheet or create_shooting_plan, though it doesn't explicitly compare against them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this is used when you need to assess readiness before a shoot, and it names the output categories. However, it provides no explicit when-to-use guidance, no mention of when NOT to use it or alternatives among the siblings (e.g., create_shooting_plan vs validate_shoot_readiness). The distinction between this verification tool and creation/planning siblings is left implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
14 tool updates
v0.2.0- First observed
assess_dark_sky - First observed
build_call_sheet - First observed
calculate_shoot_budget - First observed
compare_viewpoints - First observed
create_shooting_plan - First observed
find_nearby_lodging - First observed
generate_release_checklist - First observed
get_astronomy - First observed
get_sky_timeline - First observed
get_weather - First observed
plan_route - First observed
recommend_camera_settings - First observed
resolve_location - First observed
validate_shoot_readiness
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.
Use AI models for chat, image, and video generation from Claude Code and other MCP hosts.
Augments MCP Server - A comprehensive framework documentation provider for Claude Code
Related MCP Servers
- FlicenseNot 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.-
- 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.221 npmMIT
- FlicenseBqualityCmaintenanceA Python MCP server providing weather and date tools for travel planning, compatible with Google ADK and Claude Desktop.2-