ufind-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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 |
|---|---|
| search_coursesA | Free-text search over all u:find courses (Lehrveranstaltungen). Matches titles, LV numbers, lecturer names and semester codes. Use for "is there a course about X" or "what does lecturer Y teach". |
| get_courseA | Everything about one course: type, ECTS, groups, lecturers, all dates with rooms, curriculum placement, plus description, assessment, registration window and exam dates. |
| get_course_scheduleA | Dates, times and rooms of a course group, as a weekday summary plus every single date, or as an iCal feed to subscribe to. |
| list_departmentsA | All top-level units of the Vorlesungsverzeichnis for a semester: the 'Studienprogrammleitung' (SPL) departments plus special categories, each with the VVZ path needed to list its courses. |
| list_programsA | Degree programmes and extension curricula (Bachelor, Master, Doktorat, Erweiterungscurriculum) offered in a semester, optionally filtered by department or name. |
| get_program_coursesA | The complete course list a department or degree programme offers in one semester, grouped by curriculum module, in one request. Use this for "what does department/programme X offer in semester Y". |
| get_program_modulesA | Module tree of a programme or department without any courses, a cheap overview of how a curriculum is structured. |
| search_staffA | Find university staff by name; returns ids, unit, email and room where published. |
| get_staffA | Contact details, room and affiliations of one person. |
| search_unitsB | Find institutes, departments and faculties (addresses, website, hierarchy). |
| get_unitB | One institute/department: name, website, locations and place in the university hierarchy. |
| search_examsA | Courses with matching exam records (Prüfungstermine). Returns the courses; call get_course for the concrete exam dates. |
| list_semestersA | Which semester codes to use, and which one counts as 'current'. Past semesters are archived; a semester more than one term ahead is usually still empty. |
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 13 tools
Most tools are clearly separated by resource and action (courses, programs, staff, units, exams), and descriptions clarify purpose. The main overlap is get_course and get_course_schedule, since get_course already includes dates and rooms, though the schedule tool's iCal/group focus gives it a distinct use case.
All tool names follow a consistent verb_noun pattern using search_, get_, and list_. The verbs align predictably with behavior: search for discovery, get for details, list for enumerations.
13 tools is well-scoped for a university course and directory server. Each tool covers a meaningful part of the domain without redundancy or bloat.
The surface covers the full browse-and-search lifecycle for courses, schedules, programs, staff, units, exams, and semester metadata. Since this is a read-only university directory, CRUD gaps are not applicable, and the available operations support realistic queries without dead ends.