Anteater MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HOST | No | Host/interface to bind when running in HTTP mode. Equivalent to --host. | |
| PORT | No | Port to listen on when running in HTTP mode. Equivalent to --port. Defaults to 8787. | 8787 |
| ANTEATER_API_KEY | No | Your secret Anteater API key. Optional but recommended to avoid shared rate limits. Must be a 'secret' key, not 'publishable'. | |
| ANTEATER_API_BASE | No | Base URL of the Anteater API. Defaults to https://anteaterapi.com. | https://anteaterapi.com |
| ANTEATER_ALLOWED_ORIGINS | No | Comma-separated list of additional allowed origins for HTTP mode. Only used when the server is run as an HTTP server. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"listChanged": false
} |
| completions | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_termsA | List the UCI terms (quarters) that have schedule-of-classes data, plus the current week of instruction. Optionally pass a term to get that term's academic calendar (instruction begins/ends, finals week, holidays). Call this first when the user says 'next quarter' or doesn't name a term. |
| list_departmentsA | List UCI department codes used by the schedule of classes (e.g. COMPSCI, I&C SCI, BIO SCI). Use when you are unsure of the exact code for a subject. Optionally filter by a substring. |
| search_coursesA | Search the UCI course catalogue (all courses that exist, not term-specific offerings). Use a free-text |
| get_courseA | Full catalogue detail for one course: description, units, prerequisites (text and structure), courses that unlock from it, enrollment restrictions, GE credit, repeatability, and which terms it has been offered. Use this before advising someone to take a course. |
| find_sectionsA | The main course-finding tool. Queries UCI's live schedule of classes for one term and returns matching sections with meeting times, instructor, location, seats taken, waitlist and final exam. Filter by department, course number, GE category, instructor, days of week, time window, and seat availability. At least one narrowing filter besides the term is required. |
| course_gradesA | Historical grade distributions and average GPA for a course, broken down by instructor (default) or by term. Use this to answer 'which professor should I take?' or 'how hard is this class?'. Data is from UCI's public records; recent quarters may be missing. |
| instructor_infoA | Find a UCI instructor and see their title, department, the courses they have taught, and their average GPA given across all courses. Use to evaluate a professor before enrolling. |
| enrollment_historyA | Historical enrollment for a course: final enrollment vs capacity, waitlist size, and (for recent terms) the day-by-day fill curve. Use this to judge registration risk — 'will I get in?', 'do I need to enroll at 7am?', 'does the waitlist clear?'. |
| check_prerequisitesA | Evaluate a course's prerequisite tree against the courses a student has already completed, showing exactly which requirements are met and which are missing. Also reports enrollment restrictions (major-only, etc.), which the API cannot verify automatically. |
| check_scheduleA | Given a term and a list of 5-digit section codes, build the weekly timetable, total the units, and report any meeting-time or final-exam conflicts. Use this to validate a proposed schedule before registration. |
| recommend_coursesA | The 'find me a class' tool. Combines the live schedule with historical grade data to rank candidate courses for a term. Filter by GE category, department, level, days of week, time window and seat availability; results are ranked by historical average GPA (or by open seats). Ideal for 'find me an easy GE-2 with open seats that doesn't meet before 10am'. |
| list_programsA | List UCI degree programs. Use to find the program id needed by get_program_requirements. |
| get_program_requirementsA | The full requirement tree for a major, minor or specialization, or the university's general undergraduate requirements (GE categories, unit minimums). Use for degree planning — 'what do I still need?'. |
| get_syllabiA | Links to syllabi from previous offerings of a course, by term and instructor. Use to show a student what the workload, grading breakdown and topics actually look like before they enroll. Links point at UCI Canvas and may require a UCInetID login. |
| ap_creditA | Look up what AP exam scores earn at UCI: units, elective units, GE categories and specific courses cleared. Use for incoming students planning a first quarter, or to work out whether an exam score already satisfies a prerequisite. The |
| sample_programA | The catalogue's recommended quarter-by-quarter course sequence for a major. Use to answer 'what should I take first year?' or to sanity-check whether a student is on track. Call with no argument to list the majors that have a published plan. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| plan-quarter | Build a full, conflict-free schedule for one term from scratch. |
| pick-professor | Compare the instructors who teach a course, by grades given and by who is actually teaching it. |
| find-easy-ge | Find a GE course that fits your schedule and has a realistic grade distribution. |
| check-my-schedule | Check a set of section codes for conflicts, unit count and enrollment risk. |
| can-i-take | Check whether your completed coursework satisfies a course's prerequisites. |
| degree-check | Compare completed coursework against a major's requirements and plan what is left. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| departments | Every department code used by the schedule of classes, with its full name. |
| terms | Every term that has schedule-of-classes data, newest first. |
| ge-categories | UCI GE category codes and what each one means. |
| restriction-codes | WebSoc restriction codes and their meaning, per the University Registrar. |
TDQS
Scored across 16 tools
Most tools target distinct resources and workflows; course lookup is split between catalogue search, live section search, and ranked recommendation, but descriptions explicitly steer usage. A few adjacent tools (course_grades vs instructor_info, sample_program vs get_program_requirements) could be confused in edge cases.
The dominant verb_noun pattern (list_, search_, get_, find_, check_, recommend_) is clear and predictable. Four noun_noun names (ap_credit, course_grades, instructor_info, enrollment_history) are minor deviations rather than a break in readability.
16 tools is at the high end, but each maps to a distinct aspect of UCI course planning: catalogue, sections, grades, instructors, prerequisites, schedules, syllabi, and degree requirements. It feels broad rather than padded, though a slightly leaner set might combine some grade/enrollment lookups.
For a read-only academic-advising server, the surface covers the main workflows: discovering programs/requirements, searching and validating courses, checking prerequisites and schedules, and evaluating instructors via grades and history. There are no obvious dead ends; list_programs and list_terms feed the tools that need IDs and terms.