STUSYM MCP Server - Documentation

STUSYM provides an MCP (Model Context Protocol) server that gives AI assistants access to school timetable data: teachers, classes, subjects, rooms, and timetable events. This page describes the available tools and how to connect.

MCP URL: https://mcp.stusym.com
Protocol: MCP 2025-03-26, JSON-RPC 2.0, Streamable HTTP
Authentication: OAuth 2.0 Authorization Code Flow + PKCE, bearer-token only
Authorization model: Open client registration, validated redirect_uri, instance-admin authorization boundary, and per-tool OAuth scopes.

Available Tools

Tool Description Type
System
get_instance_infoSchool metadata, active days, and time slotsread
Teachers and Users
list_usersList teachers and users with filtersread
get_userUser detailread
create_userCreate a user or teacherwrite
update_userUpdate a userwrite
delete_userDelete a userdestructive
Classes
list_classesList classes with filtersread
get_classClass detailread
create_classCreate a classwrite
update_classUpdate a classwrite
delete_classDelete a classdestructive
Subjects
list_subjectsList subjects with filtersread
get_subjectSubject detailread
create_subjectCreate a subjectwrite
update_subjectUpdate a subjectwrite
delete_subjectDelete a subjectdestructive
Rooms
list_roomsList rooms with filtersread
get_roomRoom detailread
create_roomCreate a roomwrite
update_roomUpdate a roomwrite
delete_roomDelete a roomdestructive
Timetable
list_timetablesTimetable events with filters by teacher, class, room, or dayread
get_timetableTimetable event detailread
create_timetableCreate an event with automatic conflict detectionwrite
update_timetableUpdate an event with automatic conflict detectionwrite
delete_timetableDelete a timetable eventdestructive

Usage Examples

Example 1 - Reading the timetable
Prompt: "Who teaches Maths in class 2.A and when is their next lesson?"
Result: AI calls list_timetables filtered by class and subject and returns the teacher name, day, and period.
Example 2 - Conflict detection
Prompt: "Schedule Maths for class 1.A on Monday at 8:00 in room 101 with teacher Novak."
Result: AI calls create_timetable. The server automatically checks teacher, class, and room conflicts and returns a warning if a conflict exists.
Example 3 - Data administration
Prompt: "Create a new teacher named Peter Kral with code KRL and email [email protected]."
Result: AI calls create_user with the teacher role and returns a confirmation with the assigned ID.

Integration questions: [email protected]