{"ok":true,"site":{"host":"quacs.org","url":"https://quacs.org/spring2027/#/","type":"live","desc":"QuACS is the new and improved course scheduler for Rensselaer Polytechnic Institute students. We're always up to date, and always accurate.","tools":[{"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.","title":"Get term info","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/spring2027/","pages":["/spring2027/","/fall2026","/summer2026","/spring2026","/fall2025","/summer2025"]},{"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.","title":"Switch semester","inputSchema":{"type":"object","properties":{"semester":{"type":"string","description":"Semester such as \"Fall 2026\" (see get_term_info)"}},"required":["semester"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/spring2027/","pages":["/spring2027/","/fall2026","/summer2026","/spring2026","/fall2025","/summer2025"]},{"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.","title":"List departments","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/spring2027/","pages":["/spring2027/","/fall2026","/summer2026","/spring2026","/fall2025","/summer2025"]},{"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.","title":"Search courses","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Search text"},"limit":{"type":"integer","description":"Max results (default 20, max 100)"}},"required":["query"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/spring2027/","pages":["/spring2027/","/fall2026","/summer2026","/spring2026","/fall2025","/summer2025"]},{"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).","title":"List department courses","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"department":{"type":"string","description":"Subject code, e.g. CSCI"}},"required":["department"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/spring2027/","pages":["/spring2027/","/fall2026","/summer2026","/spring2026","/fall2025","/summer2025"]},{"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.","title":"Get course details","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"course_id":{"type":"string","description":"Course id such as CSCI-1200"}},"required":["course_id"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/spring2027/","pages":["/spring2027/","/fall2026","/summer2026","/spring2026","/fall2025","/summer2025"]},{"name":"get_section","kind":"answer","impl":"imperative","description":"Look up a single section by its CRN (5 digit course registration number).","title":"Get section by CRN","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"crn":{"type":"integer","description":"Section CRN"}},"required":["crn"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/spring2027/","pages":["/spring2027/","/fall2026","/summer2026","/spring2026","/fall2025","/summer2025"]},{"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.","title":"Find sections","annotations":{"readOnlyHint":true},"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)"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/spring2027/","pages":["/spring2027/","/fall2026","/summer2026","/spring2026","/fall2025","/summer2025"]},{"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.","title":"Get my schedule","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/spring2027/","pages":["/spring2027/","/fall2026","/summer2026","/spring2026","/fall2025","/summer2025"]},{"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.","title":"Get a generated schedule","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"index":{"type":"integer","description":"Schedule index, default 0"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/spring2027/","pages":["/spring2027/","/fall2026","/summer2026","/spring2026","/fall2025","/summer2025"]},{"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.","title":"Select or deselect sections","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"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/spring2027/","pages":["/spring2027/","/fall2026","/summer2026","/spring2026","/fall2025","/summer2025"]},{"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.","title":"Switch course set","inputSchema":{"type":"object","properties":{"name":{"type":"string","description":"Course set name"},"create_if_missing":{"type":"boolean"}},"required":["name"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/spring2027/","pages":["/spring2027/","/fall2026","/summer2026","/spring2026","/fall2025","/summer2025"]},{"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.","title":"Set 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"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/spring2027/","pages":["/spring2027/","/fall2026","/summer2026","/spring2026","/fall2025","/summer2025"]},{"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.","title":"Get help and give feedback","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/spring2027/","pages":["/spring2027/","/fall2026","/summer2026","/spring2026","/fall2025","/summer2025"]}],"category":"Health & Education","favicon":"/favicons/quacs.org.png","apiSurface":"spec","toolCount":14}}