osiris-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OSIRIS_TIMEOUT | No | HTTP timeout in seconds | 30 |
| OSIRIS_LANGUAGE | No | Content language (NL or EN) | EN |
| OSIRIS_MANIFEST | No | Optional search-index header | unset |
| OSIRIS_RELEASE_VERSION | No | Optional search-index header | unset |
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 |
|---|---|
| list_facultiesC | List faculties (code + name). |
| list_course_typesC | List course types (e.g. Bachelor College, Graduate School). |
| get_available_yearsC | List academic years in the catalog. |
| get_categoriesC | List course categories/levels. |
| get_course_structureB | Describe the sections and fields a course can contain. |
| list_coursesA | List course codes for a faculty and course type. |
| get_courseB | Get the header for a course code. |
| get_course_detailsB | Get full course details (content, exams, lecturers, materials, ...). |
| get_course_details_by_idA | Get full course details by internal Osiris course id. |
| search_coursesB | Search courses with optional filters. |
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 10 tools
Most tools are clearly distinct: list/get operations separate by resource (years, categories, faculties, course_types, courses). The main ambiguity is between get_course (header), get_course_details (full details), and get_course_details_by_id (full details by internal id) — get_course_details and get_course_details_by_id return the same data but keyed differently, and get_course's 'header' vs details boundary could cause misselection.
The set follows a consistent get_/list_ verb prefix pattern (get_available_years, get_categories, list_courses, get_course, search_courses). Minor deviations exist: search_courses uses a different verb while other exploration tools use get_/list_, and get_course_details_by_id introduces the '_by_id' suffix that isn't used elsewhere.
Ten tools is within the ideal range for a catalog/query server. Each tool earns a place: three discovery tools (years, categories, faculties/course_types), course listing/search, and course retrieval at different granularities.
The tool surface is strong for a read-only catalog: discovery (faculties, years, course types, categories), search, listing, and multi-level retrieval (header vs full details). The main gap is that get_course_details_by_id is redundant with get_course_by_code — agents could hit dead ends if they don't know which lookup path to use; a by-code variant of full details is also missing from the direct route.