Tool tree
gradeNot graded
page: Every page
get_term_infoAnswer
Get the semester this QuACS page covers (QuACS is the RPI course scheduler), its registration dates, when the course data was last updated, and the other semesters available. Every other tool only sees this semester; use switch_semester to work with another one.
View tool JSON
{
"name": "get_term_info",
"kind": "answer",
"impl": "imperative",
"description": "Get the semester this QuACS page covers (QuACS is the RPI course scheduler), its registration dates, when the course data was last updated, and the other semesters available. Every other tool only sees this semester; use switch_semester to work with another one.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/spring2027/"
}switch_semesterAction
Move this tab to another semester's QuACS page. Each semester is a separate page with its own course data, saved schedules and tools, so the page reloads: wait a moment, then list the tools again before calling them.
View tool JSON
{
"name": "switch_semester",
"kind": "act",
"impl": "imperative",
"description": "Move this tab to another semester's QuACS page. Each semester is a separate page with its own course data, saved schedules and tools, so the page reloads: wait a moment, then list the tools again before calling them.",
"inputSchema": {
"type": "object",
"properties": {
"semester": {
"type": "string",
"description": "Semester such as \"Fall 2026\" (see get_term_info)"
}
},
"required": [
"semester"
]
},
"page": "/spring2027/"
}list_departmentsAnswer
List the schools and departments at RPI with their 4 letter subject codes (e.g. CSCI) and how many courses each offers this semester.
View tool JSON
{
"name": "list_departments",
"kind": "answer",
"impl": "imperative",
"description": "List the schools and departments at RPI with their 4 letter subject codes (e.g. CSCI) and how many courses each offers this semester.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/spring2027/"
}search_coursesAnswer
Fuzzy search this semester's courses by title, course id (CSCI-1200), CRN, instructor, location or attribute (e.g. 'Communication Intensive'). Returns course summaries; use get_course for sections and prerequisites.
View tool JSON
{
"name": "search_courses",
"kind": "answer",
"impl": "imperative",
"description": "Fuzzy search this semester's courses by title, course id (CSCI-1200), CRN, instructor, location or attribute (e.g. 'Communication Intensive'). Returns course summaries; use get_course for sections and prerequisites.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Search text"
},
"limit": {
"type": "integer",
"description": "Max results (default 20, max 100)"
}
},
"required": [
"query"
]
},
"page": "/spring2027/"
}list_department_coursesAnswer
List every course a department offers this semester, given its 4 letter subject code (e.g. CSCI, MATH).
View tool JSON
{
"name": "list_department_courses",
"kind": "answer",
"impl": "imperative",
"description": "List every course a department offers this semester, given its 4 letter subject code (e.g. CSCI, MATH).",
"inputSchema": {
"type": "object",
"properties": {
"department": {
"type": "string",
"description": "Subject code, e.g. CSCI"
}
},
"required": [
"department"
]
},
"page": "/spring2027/"
}get_courseAnswer
Get full details for a course: catalog description, every section with CRN, meeting times, instructors, locations and open seats, plus prerequisites, corequisites, restrictions, the full prerequisite chain and which courses it unlocks.
View tool JSON
{
"name": "get_course",
"kind": "answer",
"impl": "imperative",
"description": "Get full details for a course: catalog description, every section with CRN, meeting times, instructors, locations and open seats, plus prerequisites, corequisites, restrictions, the full prerequisite chain and which courses it unlocks.",
"inputSchema": {
"type": "object",
"properties": {
"course_id": {
"type": "string",
"description": "Course id such as CSCI-1200"
}
},
"required": [
"course_id"
]
},
"page": "/spring2027/"
}get_sectionAnswer
Look up a single section by its CRN (5 digit course registration number).
View tool JSON
{
"name": "get_section",
"kind": "answer",
"impl": "imperative",
"description": "Look up a single section by its CRN (5 digit course registration number).",
"inputSchema": {
"type": "object",
"properties": {
"crn": {
"type": "integer",
"description": "Section CRN"
}
},
"required": [
"crn"
]
},
"page": "/spring2027/"
}find_sectionsAnswer
Filter this semester's sections by department, course level, days, time of day, open seats, credits, attribute or instructor. Can also hide sections that conflict with the user's current schedule. All filters are optional and combined with AND.
View tool JSON
{
"name": "find_sections",
"kind": "answer",
"impl": "imperative",
"description": "Filter this semester's sections by department, course level, days, time of day, open seats, credits, attribute or instructor. Can also hide sections that conflict with the user's current schedule. All filters are optional and combined with AND.",
"inputSchema": {
"type": "object",
"properties": {
"department": {
"type": "string",
"description": "Subject code, e.g. CSCI"
},
"course_level": {
"type": "integer",
"description": "Course level such as 1000, 2000, 4000 or 6000"
},
"only_on_days": {
"type": "array",
"items": {
"type": "string",
"enum": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
"Sunday"
]
},
"description": "Every meeting must fall on one of these days"
},
"not_on_days": {
"type": "array",
"items": {
"type": "string",
"enum": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
"Sunday"
]
},
"description": "No meeting may fall on these days"
},
"start_after": {
"type": "string",
"description": "Earliest allowed start time, 24 hour HH:MM"
},
"end_before": {
"type": "string",
"description": "Latest allowed end time, 24 hour HH:MM"
},
"open_seats_only": {
"type": "boolean"
},
"min_credits": {
"type": "number"
},
"max_credits": {
"type": "number"
},
"attribute": {
"type": "string",
"description": "Substring of the section attribute, e.g. 'Communication Intensive', 'HASS Inquiry', 'Data Intensive'"
},
"instructor": {
"type": "string",
"description": "Substring of the instructor name"
},
"no_conflict_with_my_schedule": {
"type": "boolean",
"description": "Only return sections that fit alongside the user's selected sections"
},
"limit": {
"type": "integer",
"description": "Max results (default 20, max 100)"
}
}
},
"page": "/spring2027/"
}get_my_scheduleAnswer
Get the user's current course set: selected sections, total credits, how many conflict-free schedules can be built from them, and any courses whose prerequisites the user has not marked as taken. Selections are stored only in this browser.
View tool JSON
{
"name": "get_my_schedule",
"kind": "answer",
"impl": "imperative",
"description": "Get the user's current course set: selected sections, total credits, how many conflict-free schedules can be built from them, and any courses whose prerequisites the user has not marked as taken. Selections are stored only in this browser.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/spring2027/"
}get_generated_scheduleAnswer
QuACS builds every conflict-free schedule that picks one selected section per course. Get one of them by index (0 based, see num_possible_schedules from get_my_schedule), laid out by day.
View tool JSON
{
"name": "get_generated_schedule",
"kind": "answer",
"impl": "imperative",
"description": "QuACS builds every conflict-free schedule that picks one selected section per course. Get one of them by index (0 based, see num_possible_schedules from get_my_schedule), laid out by day.",
"inputSchema": {
"type": "object",
"properties": {
"index": {
"type": "integer",
"description": "Schedule index, default 0"
}
}
},
"page": "/spring2027/"
}select_sectionsAction
Add sections to (or remove them from) the user's current course set by CRN, then regenerate schedules. Pass a course_id instead to toggle all of its sections, letting QuACS pick whichever fits. This only changes the plan saved in this browser; it does not register for classes.
View tool JSON
{
"name": "select_sections",
"kind": "act",
"impl": "imperative",
"description": "Add sections to (or remove them from) the user's current course set by CRN, then regenerate schedules. Pass a course_id instead to toggle all of its sections, letting QuACS pick whichever fits. This only changes the plan saved in this browser; it does not register for classes.",
"inputSchema": {
"type": "object",
"properties": {
"crns": {
"type": "array",
"items": {
"type": "integer"
},
"description": "Section CRNs"
},
"course_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Course ids (e.g. CSCI-1200); applies to all sections"
},
"selected": {
"type": "boolean",
"description": "true to add (default), false to remove"
}
}
},
"page": "/spring2027/"
}switch_course_setAction
Switch the user's active course set (a named alternative schedule), optionally creating it. Useful for drafting a new plan without touching the user's existing selections.
View tool JSON
{
"name": "switch_course_set",
"kind": "act",
"impl": "imperative",
"description": "Switch the user's active course set (a named alternative schedule), optionally creating it. Useful for drafting a new plan without touching the user's existing selections.",
"inputSchema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Course set name"
},
"create_if_missing": {
"type": "boolean"
}
},
"required": [
"name"
]
},
"page": "/spring2027/"
}set_prior_coursesAction
Record courses the user has already taken (or remove them) and optionally turn on prerequisite checking, which flags selected courses whose prerequisites are not met. Returns the full list of prior courses.
View tool JSON
{
"name": "set_prior_courses",
"kind": "act",
"impl": "imperative",
"description": "Record courses the user has already taken (or remove them) and optionally turn on prerequisite checking, which flags selected courses whose prerequisites are not met. Returns the full list of prior courses.",
"inputSchema": {
"type": "object",
"properties": {
"add": {
"type": "array",
"items": {
"type": "string"
},
"description": "Course ids to mark as taken, e.g. CSCI-1100"
},
"remove": {
"type": "array",
"items": {
"type": "string"
},
"description": "Course ids to unmark"
},
"enable_prerequisite_checking": {
"type": "boolean"
}
}
},
"page": "/spring2027/"
}get_help_and_feedbackAnswer
Call this whenever the user has a problem with QuACS, sees course data that looks wrong or missing, hits a tool error that looks like a QuACS bug, or wants to give feedback or request a feature. Returns where to reach the QuACS team; please share the Discord invite with the user.
View tool JSON
{
"name": "get_help_and_feedback",
"kind": "answer",
"impl": "imperative",
"description": "Call this whenever the user has a problem with QuACS, sees course data that looks wrong or missing, hits a tool error that looks like a QuACS bug, or wants to give feedback or request a feature. Returns where to reach the QuACS team; please share the Discord invite with the user.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/spring2027/"
}