{"server":"io.github.thirdtrail/thirdtrail","count":8,"tools":[{"name":"get_daily_light_integral","title":"Daily light integral","description":"Clear-sky Daily Light Integral in mol/m²/day for each day in a range: photosynthetically active radiation integrated from sunrise to sunset. Use it to plan crop growth or supplemental greenhouse lighting; it assumes cloudless skies, so treat it as the ceiling for the site. Pass from and to together for a range of UTC days, or neither for today. Requires an API key on a paid Solar plan.","input_schema":{"type":"object","required":["lat","lon"],"properties":{"to":{"type":"string","description":"Last UTC day, YYYY-MM-DD. Requires from."},"lat":{"type":"number","maximum":90,"minimum":-90,"description":"Latitude in decimal degrees."},"lon":{"type":"number","maximum":180,"minimum":-180,"description":"Longitude in decimal degrees."},"from":{"type":"string","description":"First UTC day, YYYY-MM-DD. Requires to."},"elevation":{"type":"number","maximum":9000,"minimum":-500,"description":"Metres above sea level. Supply it when known: at altitude the sun rises measurably earlier than the sea-level answer. Omit only if the elevation is genuinely unknown."}}},"output_schema":null,"annotations":{"title":"Daily light integral","readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T21:53:28.167Z"},{"name":"get_prayer_times","title":"Islamic prayer times","description":"Fajr, sunrise, dhuhr, asr, maghrib and isha for one date at a location, elevation-corrected. Use it for Islamic prayer schedules; for general sunrise, sunset and twilight use get_sun_moon_times. school is required and sets the fajr and isha rules; asr_method picks the shadow rule and defaults to shafi. date defaults to today. Requires an API key on a paid Ephemerides plan.","input_schema":{"type":"object","required":["lat","lon","school"],"properties":{"tz":{"type":"string","description":"IANA timezone for output timestamps, e.g. Europe/Dublin. Defaults to UTC."},"lat":{"type":"number","maximum":90,"minimum":-90,"description":"Latitude in decimal degrees."},"lon":{"type":"number","maximum":180,"minimum":-180,"description":"Longitude in decimal degrees."},"date":{"type":"string","description":"Day as YYYY-MM-DD. Defaults to today."},"school":{"enum":["egyptian","isna","karachi","mwl","uaq"],"type":"string","description":"Calculation school: mwl (Muslim World League), isna (Islamic Society of North America), egyptian (Egyptian General Authority of Survey), karachi (University of Islamic Sciences, Karachi), uaq (Umm al-Qura, Makkah)."},"elevation":{"type":"number","maximum":9000,"minimum":-500,"description":"Metres above sea level. Supply it when known: at altitude the sun rises measurably earlier than the sea-level answer. Omit only if the elevation is genuinely unknown."},"asr_method":{"enum":["hanafi","shafi"],"type":"string","description":"Asr shadow rule: shafi (default; also Maliki and Hanbali) or hanafi, which gives a later Asr."}}},"output_schema":null,"annotations":{"title":"Islamic prayer times","readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T21:53:28.167Z"},{"name":"get_solar_path","title":"Solar path for a day","description":"The sun's azimuth and altitude through one UTC day, sampled every interval: a list of timestamped positions. Use it for shading studies, PV siting and panel-angle planning; for a single instant use get_solar_position. date defaults to today and interval to 15m. Requires an API key on a paid Solar plan.","input_schema":{"type":"object","required":["lat","lon"],"properties":{"lat":{"type":"number","maximum":90,"minimum":-90,"description":"Latitude in decimal degrees."},"lon":{"type":"number","maximum":180,"minimum":-180,"description":"Longitude in decimal degrees."},"date":{"type":"string","description":"UTC day as YYYY-MM-DD. Defaults to today."},"interval":{"enum":["1m","5m","15m","1h","1d"],"type":"string","description":"Sampling step. Defaults to 15m."},"elevation":{"type":"number","maximum":9000,"minimum":-500,"description":"Metres above sea level. Supply it when known: at altitude the sun rises measurably earlier than the sea-level answer. Omit only if the elevation is genuinely unknown."}}},"output_schema":null,"annotations":{"title":"Solar path for a day","readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T21:53:28.167Z"},{"name":"get_solar_position","title":"Solar position and irradiance","description":"The sun's position at one instant: azimuth, altitude, zenith, declination, hour angle and equation of time, plus clear-sky irradiance (GHI, DNI and DHI in W/m²) when include asks for it and the plan covers it. Use it for where the sun is at a given moment; for its track through a whole day use get_solar_path, and for rise and set times use get_sun_moon_times. timestamp defaults to now. Positions are NREL SPA-equivalent on JPL DE421; irradiance comes from the Bird clear-sky model. Requires an API key on a paid Solar plan.","input_schema":{"type":"object","required":["lat","lon"],"properties":{"tz":{"type":"string","description":"IANA timezone for output timestamps, e.g. Europe/Dublin. Defaults to UTC."},"lat":{"type":"number","maximum":90,"minimum":-90,"description":"Latitude in decimal degrees."},"lon":{"type":"number","maximum":180,"minimum":-180,"description":"Longitude in decimal degrees."},"include":{"enum":["position","position,irradiance"],"type":"string","description":"position (default) or position,irradiance."},"elevation":{"type":"number","maximum":9000,"minimum":-500,"description":"Metres above sea level. Supply it when known: at altitude the sun rises measurably earlier than the sea-level answer. Omit only if the elevation is genuinely unknown."},"timestamp":{"type":"string","description":"ISO 8601 instant, e.g. 2026-06-21T12:00:00Z. Defaults to now."}}},"output_schema":null,"annotations":{"title":"Solar position and irradiance","readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T21:53:28.167Z"},{"name":"get_sun_moon_times","title":"Sun and moon times","description":"Sunrise, sunset, solar noon, civil, nautical and astronomical twilight, golden and blue hour, moonrise, moonset and moon phase for a location, one entry per day. Use it for any question about when the sun or moon rises, sets or gets dark; for the sun's angle at a given moment use get_solar_position, and for tides alongside the sun use get_tide_window. Pass elevation whenever you know it: it shifts sunrise and sunset at altitude. Defaults: from today, 7 days or the plan's limit if lower. Requires an API key on a paid Ephemerides plan.","input_schema":{"type":"object","required":["lat","lon"],"properties":{"tz":{"type":"string","description":"IANA timezone for output timestamps, e.g. Europe/Dublin. Defaults to UTC."},"lat":{"type":"number","maximum":90,"minimum":-90,"description":"Latitude in decimal degrees."},"lon":{"type":"number","maximum":180,"minimum":-180,"description":"Longitude in decimal degrees."},"days":{"type":"integer","minimum":1,"description":"Number of days to return. The ceiling is plan-dependent."},"elevation":{"type":"number","maximum":9000,"minimum":-500,"description":"Metres above sea level. Supply it when known: at altitude the sun rises measurably earlier than the sea-level answer. Omit only if the elevation is genuinely unknown."},"start_date":{"type":"string","description":"First day as YYYY-MM-DD. Defaults to today."}}},"output_schema":null,"annotations":{"title":"Sun and moon times","readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T21:53:28.167Z"},{"name":"get_tide_extremes","title":"High and low tides","description":"High and low water times and heights at any coastal point, from the FES2022 global tide atlas: a list of events, each with type (high or low), time and height_m. Use it for when high or low tide is; for a continuous curve use get_tide_heights, and for tides together with sunrise, golden hour and moon phase use get_tide_window. Heights are metres relative to MEAN SEA LEVEL, not chart datum — never use for navigation. Defaults: from today, 2 days or the plan's limit if lower. Requires an API key on a paid Tides plan.","input_schema":{"type":"object","required":["lat","lon"],"properties":{"tz":{"type":"string","description":"IANA timezone for output timestamps, e.g. Europe/Dublin. Defaults to UTC."},"lat":{"type":"number","maximum":90,"minimum":-90,"description":"Latitude in decimal degrees."},"lon":{"type":"number","maximum":180,"minimum":-180,"description":"Longitude in decimal degrees."},"days":{"type":"integer","minimum":1,"description":"Number of days to return. The ceiling is plan-dependent."},"start_date":{"type":"string","description":"First day as YYYY-MM-DD. Defaults to today."}}},"output_schema":null,"annotations":{"title":"High and low tides","readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T21:53:28.167Z"},{"name":"get_tide_heights","title":"Tide height series","description":"Water height at a coastal point at a fixed step: a list of time and height_m pairs. Use it to plot a tide curve or read the height at a particular time; for just the highs and lows use get_tide_extremes. Metres relative to mean sea level, not chart datum. Defaults: from today, 2 days, and the finest step the plan allows, but no finer than 10m. Requires an API key on a paid Tides plan.","input_schema":{"type":"object","required":["lat","lon"],"properties":{"tz":{"type":"string","description":"IANA timezone for output timestamps, e.g. Europe/Dublin. Defaults to UTC."},"lat":{"type":"number","maximum":90,"minimum":-90,"description":"Latitude in decimal degrees."},"lon":{"type":"number","maximum":180,"minimum":-180,"description":"Longitude in decimal degrees."},"days":{"type":"integer","minimum":1,"description":"Number of days to return. The ceiling is plan-dependent."},"step":{"enum":["1m","5m","10m","15m","30m","1h"],"type":"string","description":"Sampling interval. Finer steps need a higher plan."},"start_date":{"type":"string","description":"First day as YYYY-MM-DD. Defaults to today."}}},"output_schema":null,"annotations":{"title":"Tide height series","readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T21:53:28.167Z"},{"name":"get_tide_window","title":"Coastal planning window","description":"Per day: high and low waters together with sunrise, sunset, golden and blue hour, twilight and moon phase in a single call. The planning tool for coastal photography, fishing and shore work; use it instead of calling get_tide_extremes and get_sun_moon_times separately. Pass elevation when you know it: it shifts the sun and moon times — roughly three minutes at clifftop height — but never the tide heights, which do not depend on where the observer stands. Defaults: from today, 2 days or the plan's limit if lower. Requires an API key on a paid Tides plan.","input_schema":{"type":"object","required":["lat","lon"],"properties":{"tz":{"type":"string","description":"IANA timezone for output timestamps, e.g. Europe/Dublin. Defaults to UTC."},"lat":{"type":"number","maximum":90,"minimum":-90,"description":"Latitude in decimal degrees."},"lon":{"type":"number","maximum":180,"minimum":-180,"description":"Longitude in decimal degrees."},"days":{"type":"integer","minimum":1,"description":"Number of days to return. The ceiling is plan-dependent."},"elevation":{"type":"number","maximum":9000,"minimum":-500,"description":"Metres above sea level. Supply it when known: at altitude the sun rises measurably earlier than the sea-level answer. Omit only if the elevation is genuinely unknown."},"start_date":{"type":"string","description":"First day as YYYY-MM-DD. Defaults to today."}}},"output_schema":null,"annotations":{"title":"Coastal planning window","readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T21:53:28.167Z"}],"next_cursor":null,"next_actions":[{"action":"get_connection","description":"Connection block to call these tools","href":"/v1/servers/io.github.thirdtrail%2Fthirdtrail/connection?target=mcpServers","arguments":{"name":"io.github.thirdtrail/thirdtrail","target":"mcpServers"}},{"action":"get_server","description":"Full descriptor with trust and connectability","href":"/v1/servers/io.github.thirdtrail%2Fthirdtrail","arguments":{"name":"io.github.thirdtrail/thirdtrail"}}]}