Sun times & shoot planning
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Use this when the user asks for day length differences and average change per day between two local dates, or the solstices and equinoxes of a year. Returns daylight duration for each date and signed changes. Limits: cities with population 50,000+ (plus Tromso), dates/years 1900–2100, flat sea-level horizon; use either date_a and date_b or year, and not both. Does not forecast weather.
City name, for example New York. Cities with population 50,000+ are supported; the largest same-name match is used.
Year whose equinox and solstice local dates to compare, for example 2026. Omit date_a/date_b.
Optional US state name or abbreviation, for example NY or New York.
First local date for a two-date comparison, for example 2026-03-20. Required with date_b; omit with year.
Second local date, for example 2026-06-21. Required with date_a; omit with year.
Optional country name or two-letter code to narrow the match, for example US.
Use this when the user asks for day length differences and average change per day between two local dates, or the solstices and equinoxes of a year. Returns daylight duration for each date and signed changes. Limits: cities with population 50,000+ (plus Tromso), dates/years 1900–2100, flat sea-level horizon; use either date_a and date_b or year, and not both. Does not forecast weather.
| Argument | Type | Description |
|---|---|---|
| city* | string | City name, for example New York. Cities with population 50,000+ are supported; the largest same-name match is used. |
| year | integer | Year whose equinox and solstice local dates to compare, for example 2026. Omit date_a/date_b. |
| state | string | Optional US state name or abbreviation, for example NY or New York. |
| date_a | string | First local date for a two-date comparison, for example 2026-03-20. Required with date_b; omit with year. |
| date_b | string | Second local date, for example 2026-06-21. Required with date_a; omit with year. |
| country | string | Optional country name or two-letter code to narrow the match, for example US. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"city"
],
"properties": {
"city": {
"type": "string",
"maxLength": 100,
"description": "City name, for example New York. Cities with population 50,000+ are supported; the largest same-name match is used."
},
"year": {
"type": "integer",
"maximum": 2100,
"minimum": 1900,
"description": "Year whose equinox and solstice local dates to compare, for example 2026. Omit date_a/date_b."
},
"state": {
"type": "string",
"maxLength": 40,
"description": "Optional US state name or abbreviation, for example NY or New York."
},
"date_a": {
"type": "string",
"maxLength": 10,
"description": "First local date for a two-date comparison, for example 2026-03-20. Required with date_b; omit with year."
},
"date_b": {
"type": "string",
"maxLength": 10,
"description": "Second local date, for example 2026-06-21. Required with date_a; omit with year."
},
"country": {
"type": "string",
"maxLength": 60,
"description": "Optional country name or two-letter code to narrow the match, for example US."
}
}
}Use this when the user asks for a golden hour calculator, golden hour time, sunrise sunset times, sunset time today, what time is golden hour, blue hour, sunrise time, or twilight times for a city and local date. Returns local sunrise, sunset, solar noon, day length, twilight, light windows and sun azimuth. Limits: cities with population 50,000+ (plus Tromso), dates 1900–2100, flat sea-level horizon; Does not model weather or terrain.
| Argument | Type | Description |
|---|---|---|
| city* | string | City name, for example New York. Cities with population 50,000+ are supported; the largest same-name match is used. |
| date* | string | Local calendar date, YYYY-MM-DD, from 1900 to 2100; for example 2026-06-21. |
| state | string | Optional US state name or abbreviation, for example NY or New York. |
| country | string | Optional country name or two-letter code to narrow the match, for example US. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"city",
"date"
],
"properties": {
"city": {
"type": "string",
"maxLength": 100,
"description": "City name, for example New York. Cities with population 50,000+ are supported; the largest same-name match is used."
},
"date": {
"type": "string",
"maxLength": 10,
"description": "Local calendar date, YYYY-MM-DD, from 1900 to 2100; for example 2026-06-21."
},
"state": {
"type": "string",
"maxLength": 40,
"description": "Optional US state name or abbreviation, for example NY or New York."
},
"country": {
"type": "string",
"maxLength": 60,
"description": "Optional country name or two-letter code to narrow the match, for example US."
}
}
}Use this when the user wants photography golden hour shoot windows for a city and a date range, with an ICS calendar file and CSV table. Choose morning, evening or both. Limits: 1–31 days, cities with population 50,000+ (plus Tromso), years 1900–2100, flat sea-level horizon; missing polar windows are reported and calendar events are only included for existing windows. Does not access or change a calendar.
| Argument | Type | Description |
|---|---|---|
| city* | string | City name, for example New York. Cities with population 50,000+ are supported; the largest same-name match is used. |
| days* | integer | Number of consecutive days, 1 to 31, for example 7. |
| state | string | Optional US state name or abbreviation, for example NY or New York. |
| period* | string | Light windows to include, for example evening. A continuous window includes both periods. |
| country | string | Optional country name or two-letter code to narrow the match, for example US. |
| start_date* | string | First local date in YYYY-MM-DD, for example 2026-10-12. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"city",
"start_date",
"days",
"period"
],
"properties": {
"city": {
"type": "string",
"maxLength": 100,
"description": "City name, for example New York. Cities with population 50,000+ are supported; the largest same-name match is used."
},
"days": {
"type": "integer",
"maximum": 31,
"minimum": 1,
"description": "Number of consecutive days, 1 to 31, for example 7."
},
"state": {
"type": "string",
"maxLength": 40,
"description": "Optional US state name or abbreviation, for example NY or New York."
},
"period": {
"enum": [
"morning",
"evening",
"both"
],
"type": "string",
"description": "Light windows to include, for example evening. A continuous window includes both periods."
},
"country": {
"type": "string",
"maxLength": 60,
"description": "Optional country name or two-letter code to narrow the match, for example US."
},
"start_date": {
"type": "string",
"maxLength": 10,
"description": "First local date in YYYY-MM-DD, for example 2026-10-12."
}
}
}