Make a printable weekly schedule from a list of classes, shifts or time blocks.
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 wants a weekly schedule maker, class schedule maker, college schedule builder, time blocking template or work schedule template: a printable week grid PDF from a list of recurring blocks (title, days, start-end time, optional location and colour), with each overlap listed (day and minutes overlapped), hours per title and per day, free gaps of 30+ minutes, and an .ics calendar file with one weekly repeating event per block (term start to term end, time zone aware, skip dates). Accepts sloppy text such as "Calc MWF 9-10:15am" or "Gym Tuesdays and Thursdays 7-8am". Does not handle alternate-week or one-off events, does not read files or screenshots, and does not plan shift rotations between people.
The weekly blocks: classes, shifts, workouts, focus time. Either one line per block as text, e.g. "Calculus MWF 9-10:15am Room 204\nBiology Lab Tue 2-5pm\nGym Tuesdays and Thursdays 7-8am", or a list of objects like {"title":"Calculus","days":"MWF","start":"9:00","end":"10:15am","location":"Room 204","color":"blue"}. Days accept MWF, M/W/F, TTh, TR, Tue Thu, Tuesdays and Thursdays, weekdays, Mon-Fri, weekends, daily. Times accept 9-10:15am, 9am to 10.15, 14:00-15:30, noon-1pm, 10pm-6am (overnight).
Time format: 12h (default, 9:00 AM) or 24h (09:00), e.g. 24h. Default follows the input style.
Paper size for the PDF: letter (default in the US and Canada) or A4, e.g. A4.
Heading on the printout, e.g. Fall 2026 classes. Default: Weekly schedule.
Optional end of the day window used for free time, e.g. 6pm. Default: the latest block end.
For the calendar file: last day of the term, e.g. 2026-12-11. Each block repeats weekly until this day. Default: repeats with no end date.
Optional start of the day window used for free time, e.g. 8am. Default: the earliest block start.
For the calendar file: the time zone or city of the schedule, e.g. America/New_York or Chicago. Default: floating local times (no zone).
Which days get a column: auto (default: Mon-Fri, plus the weekend when a block falls on it), weekdays, or all, e.g. all.
Dates with no sessions (holidays, breaks), left out of the calendar file, e.g. "Nov 25 - Nov 27, Sep 7" or ["2026-11-26","2026-11-27"].
For the calendar file: first day of the term or schedule, e.g. 2026-08-24 or Aug 24 2026. Default: today.
First day of the week in the grid: Monday (default) or Sunday, e.g. Sunday.
Page orientation: landscape (default) or portrait, e.g. portrait.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http weekly-schedule https://weekly-schedule.zovo.one/mcp
Use this when the user wants a weekly schedule maker, class schedule maker, college schedule builder, time blocking template or work schedule template: a printable week grid PDF from a list of recurring blocks (title, days, start-end time, optional location and colour), with each overlap listed (day and minutes overlapped), hours per title and per day, free gaps of 30+ minutes, and an .ics calendar file with one weekly repeating event per block (term start to term end, time zone aware, skip dates). Accepts sloppy text such as "Calc MWF 9-10:15am" or "Gym Tuesdays and Thursdays 7-8am". Does not handle alternate-week or one-off events, does not read files or screenshots, and does not plan shift rotations between people.
| Argument | Type | Description |
|---|---|---|
| clock | string | number | boolean | null | Time format: 12h (default, 9:00 AM) or 24h (09:00), e.g. 24h. Default follows the input style. |
| paper | string | number | boolean | null | Paper size for the PDF: letter (default in the US and Canada) or A4, e.g. A4. |
| title | any | Heading on the printout, e.g. Fall 2026 classes. Default: Weekly schedule. |
| blocks* | any | The weekly blocks: classes, shifts, workouts, focus time. Either one line per block as text, e.g. "Calculus MWF 9-10:15am Room 204\nBiology Lab Tue 2-5pm\nGym Tuesdays and Thursdays 7-8am", or a list of objects like {"title":"Calculus","days":"MWF","start":"9:00","end":"10:15am","location":"Room 204","color":"blue"}. Days accept MWF, M/W/F, TTh, TR, Tue Thu, Tuesdays and Thursdays, weekdays, Mon-Fri, weekends, daily. Times accept 9-10:15am, 9am to 10.15, 14:00-15:30, noon-1pm, 10pm-6am (overnight). |
| day_end | string | number | boolean | null | Optional end of the day window used for free time, e.g. 6pm. Default: the latest block end. |
| term_end | string | number | boolean | null | For the calendar file: last day of the term, e.g. 2026-12-11. Each block repeats weekly until this day. Default: repeats with no end date. |
| day_start | string | number | boolean | null | Optional start of the day window used for free time, e.g. 8am. Default: the earliest block start. |
| time_zone | string | number | boolean | null | For the calendar file: the time zone or city of the schedule, e.g. America/New_York or Chicago. Default: floating local times (no zone). |
| days_shown | string | number | boolean | null | Which days get a column: auto (default: Mon-Fri, plus the weekend when a block falls on it), weekdays, or all, e.g. all. |
| skip_dates | any | Dates with no sessions (holidays, breaks), left out of the calendar file, e.g. "Nov 25 - Nov 27, Sep 7" or ["2026-11-26","2026-11-27"]. |
| term_start | string | number | boolean | null | For the calendar file: first day of the term or schedule, e.g. 2026-08-24 or Aug 24 2026. Default: today. |
| week_start | string | number | boolean | null | First day of the week in the grid: Monday (default) or Sunday, e.g. Sunday. |
| orientation | string | number | boolean | null | Page orientation: landscape (default) or portrait, e.g. portrait. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"blocks"
],
"properties": {
"clock": {
"type": [
"string",
"number",
"boolean",
"null"
],
"description": "Time format: 12h (default, 9:00 AM) or 24h (09:00), e.g. 24h. Default follows the input style."
},
"paper": {
"type": [
"string",
"number",
"boolean",
"null"
],
"description": "Paper size for the PDF: letter (default in the US and Canada) or A4, e.g. A4."
},
"title": {
"anyOf": [
{
"type": "string",
"maxLength": 120
},
{
"type": "null"
}
],
"description": "Heading on the printout, e.g. Fall 2026 classes. Default: Weekly schedule."
},
"blocks": {
"anyOf": [
{
"type": "string",
"maxLength": 12000
},
{
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"maxLength": 400
},
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
]
},
"maxItems": 80
},
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
],
"description": "The weekly blocks: classes, shifts, workouts, focus time. Either one line per block as text, e.g. \"Calculus MWF 9-10:15am Room 204\\nBiology Lab Tue 2-5pm\\nGym Tuesdays and Thursdays 7-8am\", or a list of objects like {\"title\":\"Calculus\",\"days\":\"MWF\",\"start\":\"9:00\",\"end\":\"10:15am\",\"location\":\"Room 204\",\"color\":\"blue\"}. Days accept MWF, M/W/F, TTh, TR, Tue Thu, Tuesdays and Thursdays, weekdays, Mon-Fri, weekends, daily. Times accept 9-10:15am, 9am to 10.15, 14:00-15:30, noon-1pm, 10pm-6am (overnight)."
},
"day_end": {
"type": [
"string",
"number",
"boolean",
"null"
],
"description": "Optional end of the day window used for free time, e.g. 6pm. Default: the latest block end."
},
"term_end": {
"type": [
"string",
"number",
"boolean",
"null"
],
"description": "For the calendar file: last day of the term, e.g. 2026-12-11. Each block repeats weekly until this day. Default: repeats with no end date."
},
"day_start": {
"type": [
"string",
"number",
"boolean",
"null"
],
"description": "Optional start of the day window used for free time, e.g. 8am. Default: the earliest block start."
},
"time_zone": {
"type": [
"string",
"number",
"boolean",
"null"
],
"description": "For the calendar file: the time zone or city of the schedule, e.g. America/New_York or Chicago. Default: floating local times (no zone)."
},
"days_shown": {
"type": [
"string",
"number",
"boolean",
"null"
],
"description": "Which days get a column: auto (default: Mon-Fri, plus the weekend when a block falls on it), weekdays, or all, e.g. all."
},
"skip_dates": {
"anyOf": [
{
"anyOf": [
{
"type": "string",
"maxLength": 1000
},
{
"type": "array",
"items": {
"type": [
"string",
"number",
"boolean"
]
},
"maxItems": 60
}
]
},
{
"type": "null"
}
],
"description": "Dates with no sessions (holidays, breaks), left out of the calendar file, e.g. \"Nov 25 - Nov 27, Sep 7\" or [\"2026-11-26\",\"2026-11-27\"]."
},
"term_start": {
"type": [
"string",
"number",
"boolean",
"null"
],
"description": "For the calendar file: first day of the term or schedule, e.g. 2026-08-24 or Aug 24 2026. Default: today."
},
"week_start": {
"type": [
"string",
"number",
"boolean",
"null"
],
"description": "First day of the week in the grid: Monday (default) or Sunday, e.g. Sunday."
},
"orientation": {
"type": [
"string",
"number",
"boolean",
"null"
],
"description": "Page orientation: landscape (default) or portrait, e.g. portrait."
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 8, 2026.