UTMAX MCP
A local stdio server that gives supported agents versioned UT Austin catalog, schedule-planning, professor, grade-history, calendar, and campus-travel tools. It is independent of the UTMAX React UI and browser storage.
Install and setup
Run the wizard once, review the detected clients, and restart each configured client.
npx -y @utmax/mcp init- Install Node.js 20 or newer.
- Run the installer and confirm the detected clients and Agent Skill destinations.
- Restart the clients, approve the local MCP server when prompted, and ask for a bounded UT course search.
Use --dry-run to preview, --client codex,cursor to choose targets, or --no-skills to install MCP configuration only. Existing conflicting utmax entries and customized skills are left unchanged.
Supported clients
The installer writes user-scoped configuration and uses each client's current native MCP shape.
| Client | MCP configuration | Skill destination |
|---|---|---|
| Codex | ~/.codex/config.toml | ~/.agents/skills/utmax/SKILL.md |
| Claude Desktop | Claude Desktop user config | MCP only |
| Cursor | ~/.cursor/mcp.json | ~/.cursor/skills/utmax/SKILL.md |
| VS Code | User profile mcp.json | ~/.copilot/skills/utmax/SKILL.md |
| Windsurf | ~/.codeium/windsurf/mcp_config.json | ~/.codeium/windsurf/skills/utmax/SKILL.md |
| Gemini CLI | ~/.gemini/settings.json | ~/.gemini/skills/utmax/SKILL.md |
Claude Desktop supports the MCP server but does not load a user filesystem Agent Skill from this installer. On Windows, its config is under %APPDATA%\Claude; on macOS it is under ~/Library/Application Support/Claude.
17 tools
Every result uses the same schemaVersion 1.0 success or error envelope.
utmax_resolve_departmentResolve a registrar code, shorthand, or department name locally.
utmax_search_coursesSearch a bounded catalog term with course and section filters.
utmax_get_course_detailsFetch exact course or unique-number section details.
utmax_lookup_professorLook up one professor through UTMAX's RMP name matcher.
utmax_compare_professorsCompare matched professor-rating summaries.
utmax_generate_schedulesGenerate bounded, conflict-free schedules with UTMAX scoring.
utmax_get_backup_sectionsRank backup sections against a supplied schedule.
utmax_simulate_registration_strategySimulate primary, backup, conflict, and fallback choices.
utmax_export_registration_payloadOrder registration choices without submitting registration.
utmax_evaluate_travelEstimate walking time between resolvable campus buildings.
utmax_optimize_travel_dayEvaluate consecutive per-occurrence schedule transitions.
utmax_find_hidden_gemsFind offered courses meeting bounded grade-history thresholds.
utmax_audit_degree_progressEstimate Core and caller-supplied course or credit progress.
utmax_add_custom_blockCreate a deterministic, non-persisted personal time block.
utmax_analyze_life_balanceAnalyze meetings and personal blocks for load and conflicts.
utmax_export_ics_to_downloadsWrite a new schedule ICS file to Downloads.
utmax_import_user_icsParse one local ICS file without changing the UTMAX planner.
7 resources
Agents can read these versioned JSON knowledge bundles without invoking a planning operation.
utmax://personaAccuracy, uncertainty, privacy, and student-centered planning rules.
utmax://playbookRecommended sequence for catalog research and schedule recommendations.
utmax://departmentsRegistrar department codes, names, and common aliases.
utmax://preferences-guideSupported schedule-scoring preferences and ranges.
utmax://core-requirementsBundled course-to-UT-Core category mappings.
utmax://buildingsCommon building codes and location-resolution behavior.
utmax://personal-routine-guideNeutral input format for personal time constraints.
Examples
Ask naturally or call a tool with explicit, bounded arguments.
Example prompts
- “Find five Fall 2026 CS 314 sections and compare their meeting times.”
- “Build schedules for CS 314, M 408C, and UGS 303 with no Friday classes.”
- “Check the walking transitions and life balance for these unique numbers.”
- “Estimate my UT Core progress, and clearly label anything unofficial.”
Direct tool call
{
"name": "utmax_search_courses",
"arguments": {
"term": "20269",
"query": "CS 314",
"limit": 5
}
}Limitations
UTMAX supports planning decisions, not official registration or academic certification.
- Catalog, seat, professor, grade-history, and route data can be unavailable, incomplete, or stale.
- Rate My Professors data is unofficial and limited to summary information returned by UTMAX.
- Degree progress is an estimate from bundled Core mappings and caller-supplied requirements, not an official IDA audit.
- Schedule generation does not guarantee enrollment, satisfy prerequisites, or resolve reserved-seat restrictions.
- Custom blocks and registration payloads are proposals only; tools do not mutate the UTMAX planner or browser storage.
- ICS export writes a new local file, while ICS import reads a caller-selected local file. Hosts should request approval.
- Most hosted tools require network access to
https://utmax.techand are subject to API rate limits.
