UTMAX
Model Context Protocol

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
  1. Install Node.js 20 or newer.
  2. Run the installer and confirm the detected clients and Agent Skill destinations.
  3. 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.

ClientMCP configurationSkill destination
Codex~/.codex/config.toml~/.agents/skills/utmax/SKILL.md
Claude DesktopClaude Desktop user configMCP only
Cursor~/.cursor/mcp.json~/.cursor/skills/utmax/SKILL.md
VS CodeUser 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.

Catalogutmax_resolve_department

Resolve a registrar code, shorthand, or department name locally.

Catalogutmax_search_courses

Search a bounded catalog term with course and section filters.

Catalogutmax_get_course_details

Fetch exact course or unique-number section details.

Facultyutmax_lookup_professor

Look up one professor through UTMAX's RMP name matcher.

Facultyutmax_compare_professors

Compare matched professor-rating summaries.

Planningutmax_generate_schedules

Generate bounded, conflict-free schedules with UTMAX scoring.

Planningutmax_get_backup_sections

Rank backup sections against a supplied schedule.

Planningutmax_simulate_registration_strategy

Simulate primary, backup, conflict, and fallback choices.

Planningutmax_export_registration_payload

Order registration choices without submitting registration.

Travelutmax_evaluate_travel

Estimate walking time between resolvable campus buildings.

Travelutmax_optimize_travel_day

Evaluate consecutive per-occurrence schedule transitions.

Insightsutmax_find_hidden_gems

Find offered courses meeting bounded grade-history thresholds.

Insightsutmax_audit_degree_progress

Estimate Core and caller-supplied course or credit progress.

Routineutmax_add_custom_block

Create a deterministic, non-persisted personal time block.

Routineutmax_analyze_life_balance

Analyze meetings and personal blocks for load and conflicts.

Calendarutmax_export_ics_to_downloads

Write a new schedule ICS file to Downloads.

Calendarutmax_import_user_ics

Parse 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://persona

Accuracy, uncertainty, privacy, and student-centered planning rules.

utmax://playbook

Recommended sequence for catalog research and schedule recommendations.

utmax://departments

Registrar department codes, names, and common aliases.

utmax://preferences-guide

Supported schedule-scoring preferences and ranges.

utmax://core-requirements

Bundled course-to-UT-Core category mappings.

utmax://buildings

Common building codes and location-resolution behavior.

utmax://personal-routine-guide

Neutral 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.tech and are subject to API rate limits.