{"data":{"name":"dev.workers.mike-tusa.cronspell/cronspell","title":"CronSpell","description":"Validate and explain cron expressions; list next/previous run times in any time zone, DST-aware.","version":"0.1.0","websiteUrl":"https://cronspell.mike-tusa.workers.dev/","repositoryUrl":null,"remotes":[{"url":"https://cronspell.mike-tusa.workers.dev/mcp","type":"streamable-http"}],"packages":[],"status":"active","isLatest":true,"publishedAt":"2026-10-22T05:51:17.166Z","updatedAt":"2026-10-22T05:51:17.166Z","source":"official-registry","verification":"official","confidence":100,"stars":null,"sources":[{"stars":null,"title":"CronSpell","source":"official-registry","sourceId":"dev.workers.mike-tusa.cronspell/cronspell","updatedAt":"2026-10-22T05:51:17.166Z","confidence":100,"websiteUrl":"https://cronspell.mike-tusa.workers.dev/","description":"Validate and explain cron expressions; list next/previous run times in any time zone, DST-aware.","verification":"official","repositoryUrl":null}],"toolIndex":{"tools":[{"serverName":"dev.workers.mike-tusa.cronspell/cronspell","endpointFingerprint":"9950bf2924da5928207627e604eb11b9d860951593aa243f254055bce5008a42","name":"cron_runs_between","title":"List cron runs between two times","description":"List every run of a cron expression between start and end (both inclusive) in an IANA time zone, DST-aware, oldest first. Default limit 20, max 100; truncated is true when there are more. Read-only. Same engine as GET /api/between.","inputSchema":{"type":"object","properties":{"expression":{"type":"string","minLength":1,"maxLength":200,"description":"Cron expression, e.g. \"0 9 * * 1-5\", \"*/15 * * * *\", \"0 30 8 * * *\" (6 fields = leading seconds) or \"@daily\"."},"timezone":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_+\\-/]+$","default":"UTC","description":"IANA time zone the schedule runs in, e.g. \"America/Denver\", \"Europe/London\". Default UTC."},"start":{"type":"string","minLength":1,"maxLength":40,"description":"Window start (inclusive). ISO 8601 with Z or an offset (2026-11-01T09:00:00Z), a local time read in the time zone (2026-11-01T09:00), or unix seconds."},"end":{"type":"string","minLength":1,"maxLength":40,"description":"Window end (inclusive). ISO 8601 with Z or an offset (2026-11-01T09:00:00Z), a local time read in the time zone (2026-11-01T09:00), or unix seconds."},"limit":{"type":"integer","minimum":1,"maximum":100,"default":20,"description":"Max runs to return (1-100)."}},"required":["expression","start","end"],"additionalProperties":false},"annotations":{"title":"List cron runs in a window","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"bf15cf1b950354f0adc4c45e23f34b1f395161aeef9a19dd8ff1633e59678410","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T07:46:32.412Z","metadataTrust":"untrusted"},{"serverName":"dev.workers.mike-tusa.cronspell/cronspell","endpointFingerprint":"9950bf2924da5928207627e604eb11b9d860951593aa243f254055bce5008a42","name":"explain_cron","title":"Explain a cron expression","description":"Explain a cron expression in plain English, e.g. \"0 9 * * 1-5\" → \"At 09:00, on Monday through Friday.\" Also returns notes on cron rules that often surprise people (day-of-month OR day-of-week, seconds field, shorthand expansion). Invalid expressions return isError with the reason. Read-only. Same engine as GET /api/explain.","inputSchema":{"type":"object","properties":{"expression":{"type":"string","minLength":1,"maxLength":200,"description":"Cron expression, e.g. \"0 9 * * 1-5\", \"*/15 * * * *\", \"0 30 8 * * *\" (6 fields = leading seconds) or \"@daily\"."}},"required":["expression"],"additionalProperties":false},"annotations":{"title":"Explain a cron expression","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"2b3d4f0037aaf66802232f44d29116bad26362266562c417bda7a0f3edaa994d","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T07:46:32.412Z","metadataTrust":"untrusted"},{"serverName":"dev.workers.mike-tusa.cronspell/cronspell","endpointFingerprint":"9950bf2924da5928207627e604eb11b9d860951593aa243f254055bce5008a42","name":"next_cron_runs","title":"List next (or previous) cron run times","description":"List the next (or, with direction \"previous\", the most recent past) run times of a cron expression in an IANA time zone, DST-aware. Each run has the local time with its UTC offset, the UTC time, unix seconds and weekday. Default 5 runs, max 20; searches up to 50 years. Read-only. Same engine as GET /api/next and GET /api/previous.","inputSchema":{"type":"object","properties":{"expression":{"type":"string","minLength":1,"maxLength":200,"description":"Cron expression, e.g. \"0 9 * * 1-5\", \"*/15 * * * *\", \"0 30 8 * * *\" (6 fields = leading seconds) or \"@daily\"."},"timezone":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_+\\-/]+$","default":"UTC","description":"IANA time zone the schedule runs in, e.g. \"America/Denver\", \"Europe/London\". Default UTC."},"count":{"type":"integer","minimum":1,"maximum":20,"default":5,"description":"How many runs (1-20)."},"from":{"type":"string","maxLength":40,"description":"Start point (exclusive); default now. ISO 8601 with Z or an offset (2026-11-01T09:00:00Z), a local time read in the time zone (2026-11-01T09:00), or unix seconds."},"direction":{"type":"string","enum":["next","previous"],"default":"next","description":"\"next\" (default) or \"previous\" (most recent first)."}},"required":["expression"],"additionalProperties":false},"annotations":{"title":"List cron run times","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"130232e0a6e67aa1f460ea28b9d8527bebf01fcb306a63a99c52a215e75b5432","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T07:46:32.412Z","metadataTrust":"untrusted"},{"serverName":"dev.workers.mike-tusa.cronspell/cronspell","endpointFingerprint":"9950bf2924da5928207627e604eb11b9d860951593aa243f254055bce5008a42","name":"validate_cron","title":"Validate a cron expression","description":"Check whether a cron expression is valid. Returns valid true with the expanded values of every field (minute, hour, day of month, month, day of week, and seconds for 6-field expressions), or valid false with an error code, the field at fault and a message. Detects schedules that can never run (e.g. February 30). Read-only. Same engine as GET /api/validate.","inputSchema":{"type":"object","properties":{"expression":{"type":"string","minLength":1,"maxLength":200,"description":"Cron expression, e.g. \"0 9 * * 1-5\", \"*/15 * * * *\", \"0 30 8 * * *\" (6 fields = leading seconds) or \"@daily\"."}},"required":["expression"],"additionalProperties":false},"annotations":{"title":"Validate a cron expression","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"3777bd531858e9e848b17afc0dba008f28fb6a1093daf9a55ca4930ec800a837","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T07:46:32.412Z","metadataTrust":"untrusted"}],"endpoints":[{"endpointFingerprint":"9950bf2924da5928207627e604eb11b9d860951593aa243f254055bce5008a42","protocol":"streamable-http","status":"indexed","toolCount":4,"observedAt":"2026-10-31T07:46:32.412Z"}],"authentication":"unknown"},"connectionConfigurations":{"status":"ready","authentication":"not embedded","clients":{"Claude Desktop":{"mcpServers":{"dev.workers.mike-tusa.cronspell/cronspell":{"url":"https://cronspell.mike-tusa.workers.dev/mcp"}}},"Cursor":{"mcpServers":{"dev.workers.mike-tusa.cronspell/cronspell":{"url":"https://cronspell.mike-tusa.workers.dev/mcp"}}},"VS Code":{"servers":{"dev.workers.mike-tusa.cronspell/cronspell":{"type":"http","url":"https://cronspell.mike-tusa.workers.dev/mcp"}}}}},"resourceType":"mcp-server","callable":true,"runtime":{"callable":true,"protocols":["mcp"]},"interfaces":[{"protocol":"mcp","transport":"streamable-http","url":"https://cronspell.mike-tusa.workers.dev/mcp"}],"profile":{"apiVersion":"1","schemaVersion":"1","id":"mcp-server:dev.workers.mike-tusa.cronspell%2Fcronspell","resourceType":"mcp-server","canonicalUrl":"https://www.agentsjunction.com/api/v1/servers/dev.workers.mike-tusa.cronspell%2Fcronspell","name":"dev.workers.mike-tusa.cronspell/cronspell","description":"Validate and explain cron expressions; list next/previous run times in any time zone, DST-aware.","interfaces":[{"protocol":"mcp","transport":"streamable-http","url":"https://cronspell.mike-tusa.workers.dev/mcp"}],"capabilities":[],"identity":{"source":"official-registry","websiteUrl":"https://cronspell.mike-tusa.workers.dev/","repositoryUrl":null,"version":"0.1.0"},"verification":{"state":"official","confidence":100},"operations":{"resourceType":"mcp-server","name":"dev.workers.mike-tusa.cronspell/cronspell","status":"online","lastCheckedAt":"2026-11-03T17:19:09.169Z","lastSuccessfulCheck":"2026-11-03T17:19:09.169Z","latencyMs":360,"consecutiveFailures":0,"isStale":false,"checks":{"endpointReachable":true,"protocolValid":true,"agentCardValid":null,"mcpHandshakeValid":true},"lastSeen":null,"lastSuccessfulInteraction":null,"lastHealthCheck":"2026-11-03T17:19:09.169Z","source":{"type":"health-check","url":null},"observedAt":"2026-11-03T17:19:09.169Z"},"security":null,"timestamps":{"createdAt":"2026-10-22T05:51:17.166Z","updatedAt":"2026-10-22T05:51:17.166Z","observedAt":"2026-11-03T17:19:09.169Z"},"compatibility":{"serverVersion":"0.1.0","protocolVersions":[{"protocol":"mcp","version":null}]}}}}