usp-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HEIDY_BASE_URL | No | Backend alternativo (padrão: https://heidy-backend.fly.dev) | https://heidy-backend.fly.dev |
| HEIDY_PASSWORD | No | Senha Única para login automático | |
| HEIDY_USERNAME | No | Número USP para login automático na primeira ferramenta | |
| HEIDY_DOWNLOAD_DIR | No | Pasta padrão para moodle_download_file (padrão: ./downloads) | ./downloads |
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 | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| usp_loginA | Log in to USP with the USP number and Senha Única. The password is encrypted to the backend's login key before leaving this process and is never stored. Returns the student's profile. |
| usp_logoutA | Log out, revoking the current session token. |
| get_profileA | The logged-in student's profile (name, USP number, email, course). |
| moodle_coursesB | List the student's current Moodle (e-Disciplinas) courses. |
| moodle_courseB | A Moodle course's contents: its sections and activities (id, title, kind, url). |
| moodle_activityA | Open a Moodle activity by URL: page content, links and attached file, if any. For file activities (PDFs, slides, ...) this returns the file's name, type and size — use moodle_download_file to save the bytes to disk. |
| moodle_download_fileA | Download a Moodle file activity (PDF, slides, ...) to local disk.
|
| usp_syncA | Start a background sync pulling data from USP systems into the planner. Sources default to all of schedule, grades, absences and moodle. Returns the sync run; poll usp_sync_status with its id until it succeeds or fails. |
| usp_sync_statusC | A sync run's status, per-source counts and error, if any. |
| usp_sync_historyC | Past sync runs, optionally filtered by status. |
| list_semestersA | The student's semesters (label, start/end dates, which one is active). |
| get_scheduleC | The weekly class schedule for a semester: day -> time slots with locations. |
| list_enrollmentsC | The student's enrollments (classes), with meetings, professor and credits. |
| list_gradesC | Grades recorded for one enrollment (label, score, max score, weight). |
| grade_summaryC | Weighted average, graded/remaining weight and passing status for an enrollment. |
| list_absencesC | Absences recorded for one enrollment. |
| absence_summaryC | Absences used vs. the enrollment's limit, with a risk status. |
| list_tasksB | The student's tasks (assignments, exams, ...), filterable and sortable.
|
| create_taskC | Create a task in the student's planner. |
| update_task_statusB | Move a task between todo, doing and done. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 20 tools
Each tool has a distinctly clear purpose. For example, absence_summary provides a risk overview while list_absences returns individual records; moodle_activity, moodle_course, and moodle_download_file each cover different aspects of Moodle interaction. No overlapping functionality that would confuse an agent.
All tool names use a consistent lowercase_with_underscores pattern, predominantly verb_noun (list_*, create_*, get_*, update_*, moodle_*, usp_*). Even summary tools like absence_summary and grade_summary follow a predictable noun_noun pattern without deviating from the overall style.
With 20 tools covering student profile, enrollments, grades, absences, schedule, tasks, Moodle, and sync/login/logout, the count is slightly high but justifiable given the breadth of integrated USP systems. It remains manageable and each tool is focused.
The tool surface is largely complete for the domain: CRUD for tasks (create, list, status update, but missing delete and full update), read-only access to grades/absences/schedule, comprehensive Moodle interaction, and sync management. Minor gaps exist (e.g., no task deletion, no per-semester enrollment filtering), but agents can work around them.