← WebMCP Directory

Tool tree

brocktimetable.com

Health & EducationTools verified
Website
Generate conflict-free Brock University timetables, compare schedule options, block unavailable times, pin classes, and export your calendar.
Explore capabilities
    searchCoursesAnswer

    Search the selected Brock timetable for course offerings. This does not change the schedule.

    View tool JSON
    {
      "name": "searchCourses",
      "kind": "answer",
      "impl": "imperative",
      "description": "Search the selected Brock timetable for course offerings. This does not change the schedule.",
      "inputSchema": {
        "type": "object",
        "required": [
          "query"
        ],
        "properties": {
          "query": {
            "type": "string"
          },
          "timetableType": {
            "type": "string",
            "enum": [
              "UG",
              "AD",
              "PS",
              "GR"
            ]
          },
          "term": {
            "type": "string",
            "enum": [
              "FW",
              "SP",
              "SU"
            ]
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 30
          }
        }
      },
      "page": "/"
    }
    createScheduleAction

    Replace the current schedule with the requested courses and generate the best options.

    View tool JSON
    {
      "name": "createSchedule",
      "kind": "act",
      "impl": "imperative",
      "description": "Replace the current schedule with the requested courses and generate the best options.",
      "inputSchema": {
        "type": "object",
        "required": [
          "courses",
          "timetableType",
          "term"
        ],
        "properties": {
          "courses": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "Course label such as COSC 1P02 D2."
            },
            "minItems": 1
          },
          "timetableType": {
            "type": "string",
            "enum": [
              "UG",
              "AD",
              "PS",
              "GR"
            ]
          },
          "term": {
            "type": "string",
            "enum": [
              "FW",
              "SP",
              "SU"
            ]
          },
          "preferences": {
            "type": "object",
            "description": "Use hard constraints to eliminate options and soft preferences to rank them.",
            "properties": {
              "hard": {
                "type": "object",
                "properties": {
                  "notBefore": {
                    "type": "string",
                    "description": "Earliest allowed class time, HH:MM."
                  },
                  "notAfter": {
                    "type": "string",
                    "description": "Latest allowed class end time, HH:MM."
                  },
                  "avoidDays": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "M",
                        "T",
                        "W",
                        "R",
                        "F",
                        "S",
                        "U"
                      ]
                    }
                  },
                  "maxCampusDays": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 7
                  },
                  "maxGapMinutes": {
                    "type": "integer",
                    "minimum": 0
                  }
                }
              },
              "soft": {
                "type": "object",
                "properties": {
                  "avoidBefore": {
                    "type": "string",
                    "description": "Prefer schedules without earlier classes, HH:MM."
                  },
                  "preferAfter": {
                    "type": "string",
                    "description": "Prefer later starts, HH:MM."
                  },
                  "avoidDays": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "M",
                        "T",
                        "W",
                        "R",
                        "F",
                        "S",
                        "U"
                      ]
                    }
                  },
                  "preferCompactDays": {
                    "type": "boolean"
                  },
                  "preferFewerDays": {
                    "type": "boolean"
                  }
                }
              }
            }
          },
          "unavailableTimes": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "days",
                "start",
                "end"
              ],
              "properties": {
                "days": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "M",
                      "T",
                      "W",
                      "R",
                      "F",
                      "S",
                      "U"
                    ]
                  }
                },
                "start": {
                  "type": "string",
                  "description": "HH:MM"
                },
                "end": {
                  "type": "string",
                  "description": "HH:MM"
                },
                "label": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "page": "/"
    }
    addCoursesAction

    Add courses to the current schedule and regenerate its options.

    View tool JSON
    {
      "name": "addCourses",
      "kind": "act",
      "impl": "imperative",
      "description": "Add courses to the current schedule and regenerate its options.",
      "inputSchema": {
        "type": "object",
        "required": [
          "courses"
        ],
        "properties": {
          "courses": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "Course label such as COSC 1P02 D2."
            },
            "minItems": 1
          }
        }
      },
      "page": "/"
    }
    previewCourseAdditionAnswer

    Read-only what-if: test adding courses to the current schedule without changing it.

    View tool JSON
    {
      "name": "previewCourseAddition",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read-only what-if: test adding courses to the current schedule without changing it.",
      "inputSchema": {
        "type": "object",
        "required": [
          "courses"
        ],
        "properties": {
          "courses": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "Course label such as COSC 1P02 D2."
            },
            "minItems": 1
          },
          "preferences": {
            "type": "object",
            "description": "Use hard constraints to eliminate options and soft preferences to rank them.",
            "properties": {
              "hard": {
                "type": "object",
                "properties": {
                  "notBefore": {
                    "type": "string",
                    "description": "Earliest allowed class time, HH:MM."
                  },
                  "notAfter": {
                    "type": "string",
                    "description": "Latest allowed class end time, HH:MM."
                  },
                  "avoidDays": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "M",
                        "T",
                        "W",
                        "R",
                        "F",
                        "S",
                        "U"
                      ]
                    }
                  },
                  "maxCampusDays": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 7
                  },
                  "maxGapMinutes": {
                    "type": "integer",
                    "minimum": 0
                  }
                }
              },
              "soft": {
                "type": "object",
                "properties": {
                  "avoidBefore": {
                    "type": "string",
                    "description": "Prefer schedules without earlier classes, HH:MM."
                  },
                  "preferAfter": {
                    "type": "string",
                    "description": "Prefer later starts, HH:MM."
                  },
                  "avoidDays": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "M",
                        "T",
                        "W",
                        "R",
                        "F",
                        "S",
                        "U"
                      ]
                    }
                  },
                  "preferCompactDays": {
                    "type": "boolean"
                  },
                  "preferFewerDays": {
                    "type": "boolean"
                  }
                }
              }
            }
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 20
          }
        }
      },
      "page": "/"
    }
    removeCoursesAction

    Remove course labels or course codes from the current schedule and regenerate.

    View tool JSON
    {
      "name": "removeCourses",
      "kind": "act",
      "impl": "imperative",
      "description": "Remove course labels or course codes from the current schedule and regenerate.",
      "inputSchema": {
        "type": "object",
        "required": [
          "courses"
        ],
        "properties": {
          "courses": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "Course label such as COSC 1P02 D2."
            },
            "minItems": 1
          }
        }
      },
      "page": "/"
    }
    setSchedulePreferencesAction

    Set hard requirements and soft timetable preferences, then regenerate and rank options.

    View tool JSON
    {
      "name": "setSchedulePreferences",
      "kind": "act",
      "impl": "imperative",
      "description": "Set hard requirements and soft timetable preferences, then regenerate and rank options.",
      "inputSchema": {
        "type": "object",
        "required": [
          "preferences"
        ],
        "properties": {
          "preferences": {
            "type": "object",
            "description": "Use hard constraints to eliminate options and soft preferences to rank them.",
            "properties": {
              "hard": {
                "type": "object",
                "properties": {
                  "notBefore": {
                    "type": "string",
                    "description": "Earliest allowed class time, HH:MM."
                  },
                  "notAfter": {
                    "type": "string",
                    "description": "Latest allowed class end time, HH:MM."
                  },
                  "avoidDays": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "M",
                        "T",
                        "W",
                        "R",
                        "F",
                        "S",
                        "U"
                      ]
                    }
                  },
                  "maxCampusDays": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 7
                  },
                  "maxGapMinutes": {
                    "type": "integer",
                    "minimum": 0
                  }
                }
              },
              "soft": {
                "type": "object",
                "properties": {
                  "avoidBefore": {
                    "type": "string",
                    "description": "Prefer schedules without earlier classes, HH:MM."
                  },
                  "preferAfter": {
                    "type": "string",
                    "description": "Prefer later starts, HH:MM."
                  },
                  "avoidDays": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "M",
                        "T",
                        "W",
                        "R",
                        "F",
                        "S",
                        "U"
                      ]
                    }
                  },
                  "preferCompactDays": {
                    "type": "boolean"
                  },
                  "preferFewerDays": {
                    "type": "boolean"
                  }
                }
              }
            }
          },
          "replace": {
            "type": "boolean"
          }
        }
      },
      "page": "/"
    }
    setUnavailableTimesAction

    Replace or add recurring unavailable class times, then regenerate. Days use M, T, W, R, F, S, U.

    View tool JSON
    {
      "name": "setUnavailableTimes",
      "kind": "act",
      "impl": "imperative",
      "description": "Replace or add recurring unavailable class times, then regenerate. Days use M, T, W, R, F, S, U.",
      "inputSchema": {
        "type": "object",
        "required": [
          "blocks"
        ],
        "properties": {
          "blocks": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "days",
                "start",
                "end"
              ],
              "properties": {
                "days": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "M",
                      "T",
                      "W",
                      "R",
                      "F",
                      "S",
                      "U"
                    ]
                  }
                },
                "start": {
                  "type": "string",
                  "description": "HH:MM"
                },
                "end": {
                  "type": "string",
                  "description": "HH:MM"
                },
                "label": {
                  "type": "string"
                }
              }
            }
          },
          "replace": {
            "type": "boolean"
          }
        }
      },
      "page": "/"
    }
    pinSectionsAction

    Require specific course sections in generated schedules.

    View tool JSON
    {
      "name": "pinSections",
      "kind": "act",
      "impl": "imperative",
      "description": "Require specific course sections in generated schedules.",
      "inputSchema": {
        "type": "object",
        "required": [
          "sections"
        ],
        "properties": {
          "sections": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "courseCode",
                "type",
                "id"
              ],
              "properties": {
                "courseCode": {
                  "type": "string"
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "MAIN",
                    "LAB",
                    "TUT",
                    "SEM"
                  ]
                },
                "id": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "page": "/"
    }
    unpinSectionsAction

    Remove requirements for specific course sections and regenerate.

    View tool JSON
    {
      "name": "unpinSections",
      "kind": "act",
      "impl": "imperative",
      "description": "Remove requirements for specific course sections and regenerate.",
      "inputSchema": {
        "type": "object",
        "required": [
          "sections"
        ],
        "properties": {
          "sections": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "courseCode",
                "type",
                "id"
              ],
              "properties": {
                "courseCode": {
                  "type": "string"
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "MAIN",
                    "LAB",
                    "TUT",
                    "SEM"
                  ]
                },
                "id": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "page": "/"
    }
    searchScheduleOptionsAnswer

    Search and rank generated schedule options without changing the selected option.

    View tool JSON
    {
      "name": "searchScheduleOptions",
      "kind": "answer",
      "impl": "imperative",
      "description": "Search and rank generated schedule options without changing the selected option.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "preferences": {
            "type": "object",
            "description": "Use hard constraints to eliminate options and soft preferences to rank them.",
            "properties": {
              "hard": {
                "type": "object",
                "properties": {
                  "notBefore": {
                    "type": "string",
                    "description": "Earliest allowed class time, HH:MM."
                  },
                  "notAfter": {
                    "type": "string",
                    "description": "Latest allowed class end time, HH:MM."
                  },
                  "avoidDays": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "M",
                        "T",
                        "W",
                        "R",
                        "F",
                        "S",
                        "U"
                      ]
                    }
                  },
                  "maxCampusDays": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 7
                  },
                  "maxGapMinutes": {
                    "type": "integer",
                    "minimum": 0
                  }
                }
              },
              "soft": {
                "type": "object",
                "properties": {
                  "avoidBefore": {
                    "type": "string",
                    "description": "Prefer schedules without earlier classes, HH:MM."
                  },
                  "preferAfter": {
                    "type": "string",
                    "description": "Prefer later starts, HH:MM."
                  },
                  "avoidDays": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "M",
                        "T",
                        "W",
                        "R",
                        "F",
                        "S",
                        "U"
                      ]
                    }
                  },
                  "preferCompactDays": {
                    "type": "boolean"
                  },
                  "preferFewerDays": {
                    "type": "boolean"
                  }
                }
              }
            }
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 20
          },
          "cursor": {
            "type": "integer",
            "minimum": 0
          }
        }
      },
      "page": "/"
    }
    getScheduleOptionDetailsAnswer

    Get meeting-by-meeting details for a generated schedule option.

    View tool JSON
    {
      "name": "getScheduleOptionDetails",
      "kind": "answer",
      "impl": "imperative",
      "description": "Get meeting-by-meeting details for a generated schedule option.",
      "inputSchema": {
        "type": "object",
        "required": [
          "optionId"
        ],
        "properties": {
          "optionId": {
            "type": "string"
          }
        }
      },
      "page": "/"
    }
    compareScheduleOptionsAction

    Compare two to five generated schedule options.

    View tool JSON
    {
      "name": "compareScheduleOptions",
      "kind": "act",
      "impl": "imperative",
      "description": "Compare two to five generated schedule options.",
      "inputSchema": {
        "type": "object",
        "required": [
          "optionIds"
        ],
        "properties": {
          "optionIds": {
            "type": "array",
            "minItems": 2,
            "maxItems": 5,
            "items": {
              "type": "string"
            }
          }
        }
      },
      "page": "/"
    }
    selectScheduleOptionAction

    Make a generated timetable option the visible selected schedule.

    View tool JSON
    {
      "name": "selectScheduleOption",
      "kind": "act",
      "impl": "imperative",
      "description": "Make a generated timetable option the visible selected schedule.",
      "inputSchema": {
        "type": "object",
        "required": [
          "optionId"
        ],
        "properties": {
          "optionId": {
            "type": "string"
          }
        }
      },
      "page": "/"
    }
    getCurrentScheduleAnswer

    Read the current schedule, preferences, and selected option.

    View tool JSON
    {
      "name": "getCurrentSchedule",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read the current schedule, preferences, and selected option.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "page": "/"
    }
    exportScheduleAction

    Download the selected schedule as an iCalendar (.ics) file or return its share link.

    View tool JSON
    {
      "name": "exportSchedule",
      "kind": "act",
      "impl": "imperative",
      "description": "Download the selected schedule as an iCalendar (.ics) file or return its share link.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "optionId": {
            "type": "string"
          },
          "format": {
            "type": "string",
            "enum": [
              "ics",
              "shareLink"
            ]
          }
        }
      },
      "page": "/"
    }