{"$schema":"https://static.modelcontextprotocol.io/schemas/mcp-server-card/v1.json","version":"1.0","protocolVersion":"2025-06-18","serverInfo":{"name":"crn0","title":"CRN0 Cron Timezone Converter","version":"1.0.0","websiteUrl":"https://crn0.com"},"description":"Convert cron expressions between timezones (DST-aware), explain them in plain English and list next run times.","documentationUrl":"https://crn0.com/agents","transport":{"type":"streamable-http","endpoint":"/mcp"},"capabilities":{"tools":{"listChanged":false}},"authentication":{"required":false},"tools":[{"name":"convert_cron","title":"Convert cron between timezones","description":"Convert a cron expression from one timezone to another so it fires at the same real-world instants. Returns the converted cron line(s), plain-English descriptions, offsets, warnings (day shifts, multi-line results, DST) and the next run times in both zones.","inputSchema":{"type":"object","properties":{"cron":{"type":"string","description":"Standard 5-field cron, e.g. \"0 9 * * 1-5\", or a macro like \"@daily\"."},"from":{"type":"string","description":"Timezone the schedule is written in (IANA id, abbreviation, offset or city). Default \"UTC\"."},"to":{"type":"string","description":"Timezone of the machine/scheduler that will run it, e.g. \"UTC\" for most cloud schedulers."},"at":{"type":"string","description":"ISO 8601 date used to evaluate DST offsets. Defaults to now."},"count":{"type":"integer","minimum":1,"maximum":50,"description":"How many upcoming runs to list (default 3)."}},"required":["cron","to"]},"annotations":{"title":"Convert cron between timezones","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"describe_cron","title":"Explain a cron expression","description":"Validate a cron expression and explain it in plain English, with the expanded values of each field.","inputSchema":{"type":"object","properties":{"cron":{"type":"string","description":"Standard 5-field cron, e.g. \"0 9 * * 1-5\", or a macro like \"@daily\"."}},"required":["cron"]},"annotations":{"title":"Explain a cron expression","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"next_cron_runs","title":"Next run times","description":"List the next run times of a cron expression evaluated in a given timezone (DST-aware), in UTC and local wall time.","inputSchema":{"type":"object","properties":{"cron":{"type":"string","description":"Standard 5-field cron, e.g. \"0 9 * * 1-5\", or a macro like \"@daily\"."},"timezone":{"type":"string","description":"Timezone the cron is evaluated in. Default \"UTC\"."},"count":{"type":"integer","minimum":1,"maximum":50,"description":"Number of runs (default 5)."},"from":{"type":"string","description":"ISO 8601 start instant. Defaults to now."}},"required":["cron"]},"annotations":{"title":"Next run times","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"search_timezones","title":"Find a timezone","description":"Look up IANA timezone ids and current UTC offsets by city, country, abbreviation or IANA name.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"e.g. \"Melbourne\", \"IST\", \"Europe/\""},"limit":{"type":"integer","minimum":1,"maximum":50,"description":"Max results (default 10)."}},"required":["query"]},"annotations":{"title":"Find a timezone","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}}]}