moses-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": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_degree_programsA | Search TU Berlin Moses degree programs (Studiengänge) by name, e.g. 'Informatik' or 'Computer Science'. Returns each program's id (needed by get_degree_program_structure), short name, degree type (e.g. Bachelor of Science), and faculty. |
| get_degree_program_structureA | Get a degree program's curriculum areas (Pflichtbereich, Wahlpflichtbereich , Wahlbereich, Bachelorarbeit, ...) for a given StuPO + semester snapshot, with module/credit counts per area. If stupo/semester are omitted, resolves the newest StuPO+semester Moses actually has curriculum data for. Use the returned stupo/semester values with list_area_modules to see the actual modules in an area. |
| list_area_modulesA | List the modules assigned to one curriculum area of a degree program (e.g. 'Pflichtbereich' or 'Wahlpflichtbereich Theoretische Informatik'), for a specific StuPO + semester (get these from get_degree_program_structure first). Each module includes credits (lp), whether it's graded, its exam type (examType, e.g. 'Schriftliche Prüfung' or 'Portfolioprüfung'), and Turnus. Filter the results client-side on examType to answer questions like 'which mandatory modules use a Portfolioprüfung'. |
| search_modulesA | Search TU Berlin Moses modules by title or exact module number, e.g. 'Computer Vision'. Useful for discovering/recommending modules by topic. Returns module number/version, title, language(s), credits, grading, responsible person, and organizational unit (Fachgebiet). Use get_module_details for the full description and which degree programs use a given module. |
| get_module_detailsA | Get a module version's full description: title, credits, exam type (Prüfungsform), grading, teaching language, faculty/institute/Fachgebiet, learning outcomes, content, and — critically — the list of degree programs (usedInPrograms) that use this module version. Use this to answer 'what other majors could take this module'. If version is omitted, resolves the current version. |
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 5 tools
Each tool targets a distinct entity and action: searching programs, getting program structure, listing modules in an area, searching modules, and getting module details. The workflow is clear, and there is no ambiguity between search functions for different entity types.
All tool names follow a consistent verb_noun pattern in snake_case: search_degree_programs, get_degree_program_structure, list_area_modules, search_modules, get_module_details. The verbs (search, get, list) accurately reflect the operations and are used consistently.
With exactly 5 tools, the server is well-scoped for its purpose of browsing degree programs and modules. Each tool covers a necessary step in the workflow without redundancy or bloat.
The tool set covers the core workflow of discovering degree programs, exploring their curriculum areas, listing modules in those areas, and retrieving module details. A minor gap is the lack of a direct 'get_degree_program' tool by ID, though search_degree_programs returns id and basic info, and get_degree_program_structure can be used with the id.