@jamestesting888/tum-mcp 0.11.0 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,96 @@
1
1
  # Changes
2
2
 
3
+ ## 0.14.0 — 2026-10-30
4
+
5
+ - Graph diagrams sit on a grid: each node takes a `row` and `col` instead of pixel
6
+ coordinates. The app sizes boxes from their labels (two lines, centred), spaces rows and
7
+ columns, crops to what is drawn, bends a blocked edge around nodes to the side where it
8
+ crosses fewest edges, draws self-loops and bows the two arrows of a two-way pair apart,
9
+ each with its own label, and places every edge label clear of lines and nodes.
10
+ - UML class and state diagrams and a new `flowchart` diagram are laid out by the bundled
11
+ Eclipse Layout Kernel (elkjs, EPL-2.0, loaded only on pages that show such a diagram)
12
+ in the order the author lists elements: an interface above its implementations with one
13
+ joined trunk, state machines with curved transitions and entry activities in a
14
+ compartment, flowcharts with questions inside the diamonds and labelled exits.
15
+ Sequence diagrams keep their renderer.
16
+ - Plots: a series can be a `function` of x that the build samples, split at poles and
17
+ jumps, or data drawn as lines, markers, points, connected steps or stems with their
18
+ values; plots add shaded `areas`, marked `notes`, explicit ticks, a logarithmic y
19
+ axis labelled with real values and labels at the line ends. Axis labels are Unicode.
20
+ - Drawings keep 12 px text on a phone: graphs and UML diagrams shrink only that far and
21
+ scroll sideways beyond it; plots redraw at their real width.
22
+ - `tum-mcp study visuals PROJECT` measures every drawn visual of lessons, practice
23
+ questions, exercise steps and Exam Prep at 390, 600 and 1280 px (lines through nodes,
24
+ clashing labels, small or clipped text, drawings that differ from their block), writes
25
+ contact sheets to `.tum-mcp/visuals/` and records the result; `study report` gains a
26
+ render section that lists missing, stale and failing checks.
27
+ - `review-course` reviews in five passes (logic, text, visuals, interaction and
28
+ intuition), scores a new intuition dimension and each drawn visual on a six-criterion
29
+ visual rubric, and calibrates against a gallery of rated examples
30
+ (`study visuals --gallery`). A review passes only when every visual is scored, and
31
+ representation never scores above the item's weakest visual.
32
+ - prepare-study gains guides for diagrams and plots, and the study skills run the render
33
+ check after each build. The component demo shows each new diagram and plot form.
34
+
35
+ ## 0.13.0 — 2026-10-29
36
+
37
+ - Lessons read as structure rather than prose: a `text` step or point that opens with a short `Label: ` shows the label in bold, and `study report` flags paragraphs over 45 words or three long sentences (`dense_paragraph`), calculations chained inside a sentence (`prose_calculation`) and mathematics typed as plain characters instead of inline LaTeX (`plain_math`). Arithmetic in inline LaTeX is recomputed like arithmetic in prose. prepare-study's writing guide gains the procedure, worked-example and notation rules behind them.
38
+ - Figures are checked for readable labels at build time: a label that touches a line, sits on a filled shape, overlaps another label or leaves the canvas is rejected with its text named, and the app draws labels on a page-coloured halo at the drawn size. prepare-study's figure guide adopts label and spacing rules from open-source diagram skills.
39
+ - Study lessons gain definitions that sit inside the section introducing them, as the
40
+ term in bold beside its meaning; a `{{term}}` mention anywhere in the app opens the
41
+ definition in place, and blocks can carry a `key` that links lead to.
42
+ - Text sections can give a hard idea as numbered `steps`, and a new `figure` block shows
43
+ a drawing (checked SVG that follows the light and dark theme, cropped to what is drawn)
44
+ or an image from the app's `figures/` folder, in lessons, questions, exercises and
45
+ published sites.
46
+ - Diagram labels never hide behind nodes: a label wider than its edge moves above the
47
+ shapes, and a single picture shows its caption once instead of a description and a
48
+ caption. The exercise outline drops its separators, and the completed mark stays on
49
+ the entry's line.
50
+ - Algorithm traces show the algorithm's state beside the drawing (a queue, the domains),
51
+ mark what changed at each step and highlight the edge being worked on.
52
+ - Practice questions that are about a situation show it (a graph, drawing, table,
53
+ formula or code) beside the question, and a question about a concept may stand alone;
54
+ options appear in a stable shuffled order and a question can offer one optional hint. A
55
+ question missed at the first attempt stays in To review after **Try again** until it
56
+ is answered correctly from a fresh start.
57
+ - Exercise solutions give one short, labelled answer per part, in the form the part asks
58
+ for; model answers can be tables, lists or formulas, and graph answers are drawn on the
59
+ graph. **Compare** is now the only reveal: hints stop after the last one, a step
60
+ without a check is compared too, and an explanation may not repeat its model answer.
61
+ - **Review** beside a prerequisite opens that Study passage next to the exercise without
62
+ losing your place; a unit links its Lecture Notes, the exercises that build on it and
63
+ the Exam Prep patterns that cite it, and Lecture Notes link back. In the local
64
+ preview, a citation opens the stored course file at the cited page.
65
+ - A new `review-course` skill scores each Study unit and exercise from 1 to 3 on
66
+ correctness, clarity, cognitive load, representation, practice and coverage, saves the
67
+ scores with their findings in `.tum-mcp/review.json` (`study schema review`) and fixes
68
+ what falls below the bar; `study report` lists unreviewed, stale and low items.
69
+ prepare-study and prepare-exercises finish with it.
70
+ - `tum-mcp study report` flags dense paragraphs, sections of more than about 90 words of
71
+ prose, sentences about the material instead of the subject ("the lecture groups…"),
72
+ question pictures that repeat the prompt, exercise statements pasted as one block,
73
+ thin lessons, untraced procedures, questions too long for a phone screen, slide
74
+ numbers left in titles instead of `pages`,
75
+ answer tables Compare never answers, wrong arithmetic, large steps with one hint and
76
+ feedback that names no mistake. A coverage ledger (`.tum-mcp/coverage.json`,
77
+ `study schema coverage`) records each source's stated outcomes, sheet problems and
78
+ course state, so the report lists what is not yet taught, read or prepared; learners
79
+ see which problems are not prepared yet. The study skills share one review gate and
80
+ one writing guide (plain, direct sentences after ASD-STE100, without AI phrasing), and
81
+ they show two-input rules as decision matrices and released exercise statements split
82
+ by part with their givens and setting drawn.
83
+ - The exercise outline names a category only when it adds to the set titles, and the
84
+ outline keeps its scroll position when you open a lesson.
85
+ - Codex picks up changed or newly enabled skills: the plugin version follows the
86
+ installed skills, and `tum-mcp doctor` names the refresh step when Codex still loads
87
+ an older copy.
88
+
89
+ ## 0.12.0 — 2026-10-29
90
+
91
+ - Remove the optional Studocu extension, its `sync-studocu` skill and `tum-mcp studocu`
92
+ commands. Download such material yourself and add it with `tum-mcp study import`.
93
+
3
94
  ## 0.11.0 — 2026-10-28
4
95
 
5
96
  - Add the base `prepare-exams` workflow and the local **Exam Prep** workspace: a
package/NOTICE CHANGED
@@ -1,4 +1,8 @@
1
1
  The project's original code and documentation are provided under the MIT License.
2
2
 
3
+ The course app ships third-party files under their own licenses, each beside it: the
4
+ interface fonts (`fonts-license.txt`) and elkjs, the Eclipse Layout Kernel compiled to
5
+ JavaScript, under the Eclipse Public License 2.0 (`elk-license.txt`).
6
+
3
7
  No TUM logo is distributed. TUM names and trademarks belong to their respective
4
8
  owners; no trademark rights or university endorsement are granted by this project.
package/README.md CHANGED
@@ -31,11 +31,13 @@ submissions, posting and exercise execution are unavailable.
31
31
  | `prepare-study` | “Build lessons, flashcards and practice in a study website.” |
32
32
  | `prepare-exercises` | “Add guided exercises from this week's released sheet.” |
33
33
  | `prepare-exams` | “Make a cheatsheet and practice exams from the past papers.” |
34
+ | `review-course` | “Score my lessons and exercises and fix what is hard to learn from.” |
34
35
  | `publish-course` | “Publish my reviewed study site for phone access.” |
35
36
 
36
37
  Each project holds one course. Run `tum-mcp study` in its folder to open the app.
37
38
  Ask the agent to refresh it when sources change or address comments left in the
38
- app. [Study guide and demo](docs/study.md).
39
+ app. Add files you downloaded yourself, such as past exams from other websites, with
40
+ `tum-mcp study import`. [Study guide and demo](docs/study.md).
39
41
 
40
42
  TUMonline currently provides study names/degrees, public course catalog metadata
41
43
  and partial course curriculum positions. The catalog does not show enrollments.
@@ -50,7 +52,6 @@ Run `tum-mcp install` to choose extensions, then reload your client.
50
52
  | Extension | Skill added | What it offers |
51
53
  | --- | --- | --- |
52
54
  | `lecture` | `prepare-lecture` | Lecture Notes with the professor's extra explanations, timestamps and selected critical visuals. Prefers transcripts and slides; local recognition is optional. |
53
- | `studocu` | `sync-studocu` | Search and collect selected supplementary PDFs saved in your browser. Personal use only; excluded from published sites. |
54
55
  | `audio-notes` | `audio-notes` | Turn prepared Study lessons into concise audio tracks, with resumable generation and coverage tracking. Voice setup happens when used. |
55
56
  | `video-notes` | `video-notes` | Turn prepared Study topics into short narrated, animated explainers that play inside the local app, with checked sync, captions and layout. The render runtime installs when first used. |
56
57
 
@@ -58,7 +59,6 @@ Use `tum-mcp doctor` to see installed workflows and `tum-mcp uninstall` to remov
58
59
  them.
59
60
 
60
61
  [Lecture and recognition](docs/lecture-notes.md) ·
61
- [Studocu collection](docs/study.md#studocu-materials) ·
62
62
  [Video Notes](docs/study.md#create-and-maintain-video-notes) · [Setup details](docs/setup.md)
63
63
 
64
64
  ## Course project
@@ -69,7 +69,6 @@ After initialization, a course project looks something like this:
69
69
  course/
70
70
  AGENTS.md Course instructions and inventory
71
71
  materials/ Course content, exams, exercises and other sources
72
- studocu/ Optional: summaries/, exams/ and other/ PDFs
73
72
  app/ Study, Exercises, Exam Prep and optional Lecture Notes website
74
73
  content.json Study lessons, flashcards and practice
75
74
  exercises.json Guided exercise content
@@ -22,9 +22,8 @@ npm run test:package-lifecycle
22
22
 
23
23
  Python 3.13 is the managed runtime. Install Tesseract for OCR tests. Default tests
24
24
  use synthetic sources and credentials. No language-server installation is needed.
25
- Studocu fixtures must likewise use synthetic documents and local transports, never
26
- browser cookies, personal account details or live downloaded PDFs. The extension
27
- is off by default; validate both selected and unselected skill packs.
25
+ Optional extensions are off by default; validate both selected and unselected skill
26
+ packs.
28
27
  Set `TUM_MOODLE_SYSTEM_KEYRING=1` for a unique synthetic native-store round trip.
29
28
  The ordinary campus runtime uses encrypted local files and owner-restricted keys.
30
29
  Set `TUM_MCP_BROWSER_INTEGRATION=1` to include the real HTTP static-export browser
package/docs/setup.md CHANGED
@@ -26,10 +26,7 @@ Antigravity setup installs all five base skills and MCP configuration; restart e
26
26
  client afterward. Existing MCP-only setups gain the skills through `tum-mcp update`
27
27
  or another setup run. Generic setup writes configuration for manual installation.
28
28
 
29
- Studocu is optional: run `tum-mcp install studocu`, then reload the client. The
30
- extension adds the `sync-studocu` skill and its tools. `tum-mcp doctor`
31
- reports the local selection; `tum-mcp uninstall studocu` disables it and
32
- preserves course materials and customized files. Generic clients use
29
+ Generic clients use
33
30
  `tum-mcp skills export DESTINATION` to install the active pack manually.
34
31
  Setup preserves unrelated settings and refuses to
35
32
  replace customized entries. It does not authenticate or fetch courses.
@@ -44,8 +41,7 @@ Its render runtime (about 320 MB) installs on first use; `tum-mcp video-notes ru
44
41
  status` lists any prerequisite (macOS: `brew install cairo`; Linux/WSL: Cairo and
45
42
  Pango development packages and a C compiler) without installing it. Course videos are
46
43
  retained when the extension is disabled. Clients pinned to a runtime generation older
47
- than this release cannot read the enabled Video Notes setting and would hide Studocu
48
- tools; refresh them with `tum-mcp update` or `setup --client NAME`.
44
+ than this release cannot read the enabled Video Notes setting; refresh them with `tum-mcp update` or `setup --client NAME`.
49
45
 
50
46
  ## Terminal output
51
47
 
@@ -61,8 +57,8 @@ label. `NO_COLOR` disables color; narrow terminals use stacked rows.
61
57
  Bare `tum-mcp setup`, `tum-mcp install` and `tum-mcp uninstall` share the same
62
58
  keyboard controls as login. Nothing is preselected; Ctrl+C cancels. Uninstall
63
59
  also offers **All — TUM MCP**, which removes the package and managed client setup.
64
- Personal notes, sessions and customized files are retained. Scripts can name one or both:
65
- `tum-mcp uninstall lecture studocu --json`.
60
+ Personal notes, sessions and customized files are retained. Scripts can name extensions:
61
+ `tum-mcp uninstall lecture audio-notes --json`.
66
62
 
67
63
  Use `--json` for machine-readable status, named extension removal/installation,
68
64
  skill listing/validation, lecture runtime status or TUMonline permissions.
@@ -81,15 +77,12 @@ retains its previous configuration format; new integrations should use `doctor -
81
77
 
82
78
  Run **`tum-mcp login`**, with no arguments, in an interactive terminal:
83
79
 
84
- 1. Use up/down to move and Space to select services. Installed Lecture adds TUM-Live;
85
- installed Studocu adds Studocu.
80
+ 1. Use up/down to move and Space to select services. Installed Lecture adds TUM-Live.
86
81
  2. Press Enter. If several browsers are installed, choose one and press Enter.
87
82
  3. Complete TUM sign-in/MFA in the opened window. Only selected service tabs open.
88
83
  4. Return to the terminal for the saved-connection result.
89
84
 
90
85
  Campus services use temporary-browser sign-in and encrypted session storage.
91
- Studocu opens your own default browser (the Windows browser from WSL); sign in
92
- there. Its browser session is neither copied nor claimed as verified.
93
86
  No API key or native credential-store prompt is needed. A temporary browser
94
87
  profile keeps the connection separate from your everyday browser. Ctrl+C closes it and preserves
95
88
  connections that already completed. A dumb terminal uses numbered prompts.
package/docs/study.md CHANGED
@@ -6,7 +6,6 @@ MCP tools to read course sources. The CLI validates and stores the resulting loc
6
6
  files; it does not run an AI model.
7
7
  The optional `prepare-lecture` skill adds a Lecture Notes workspace; install it with
8
8
  `tum-mcp install lecture`. See [Lecture Notes](lecture-notes.md).
9
- The optional `sync-studocu` skill collects selected student-uploaded material separately.
10
9
  The optional `audio-notes` skill turns prepared lessons into spoken tracks; install
11
10
  it with `tum-mcp install audio-notes`. The optional `video-notes` skill turns prepared
12
11
  topics into short narrated explainer videos; install it with `tum-mcp install video-notes`.
@@ -110,9 +109,19 @@ course's lecture or week sequence when useful, or consistent topics, with at mos
110
109
  one category level. Every unit has:
111
110
 
112
111
  - Content: a short lesson with objectives, source links, assumptions and worked
113
- examples, using formulas, tables, code, diagrams or line graphs where they help.
112
+ examples, using formulas, tables, code, graphs, UML diagrams, flowcharts, drawn figures
113
+ or plots where they help. Graphs keep the rows and columns the author chose; UML
114
+ diagrams and flowcharts are laid out automatically; plots draw functions from their
115
+ formula. On a phone a drawing shrinks only until its text reaches 12 px and scrolls
116
+ sideways beyond that. A hard idea comes as short numbered steps instead of a long paragraph. A
117
+ term to learn appears in bold beside its meaning, inside the section that introduces
118
+ it; a dotted term anywhere in the app opens its definition in place. Algorithm traces
119
+ step through one operation at a time and show the algorithm's state (a queue, the
120
+ domains) beside the drawing, marking what changed.
114
121
  - Flashcards for recall. On a keyboard, arrows move, Space flips and 1/2 rate a card.
115
- - Practice questions with plausible options and feedback for every option.
122
+ - Practice questions with options in a stable shuffled order, an optional hint and
123
+ feedback for every option. A question about a situation shows it (a graph, a
124
+ drawing, a table, a formula) beside the question and states each fact once.
116
125
 
117
126
  The agent uses stored material first, so local content edits work offline. Ask for
118
127
  an upstream refresh when you want new course content; an existing check is reused
@@ -123,9 +132,13 @@ short, direct sentences that keep necessary terms and conditions.
123
132
  The course home introduces the course, resumes where you left off and lists topics
124
133
  with progress. Each view ends with a Next link through cards and practice to the
125
134
  next unit. Revision pools cards and questions from the topics you choose (all topics
126
- until you choose) and can focus on cards marked Again and questions you missed. It
127
- reuses the original items and progress, so changing the topic selection never clears
128
- results, and it remembers your selection for this course. Formulas and inline
135
+ until you choose) and can focus on cards marked Again and questions you missed. A
136
+ question you missed stays there after **Try again**; it leaves once you answer it
137
+ correctly from a fresh start. Revision reuses the original items and progress, so
138
+ changing the topic selection never clears results, and it remembers your selection
139
+ for this course. A unit's header links the Lecture Notes, exercises and Exam Prep
140
+ patterns that build on it. In the local preview, a citation opens the stored course
141
+ file at the cited page. Formulas and inline
129
142
  notation such as `\(v_i\)` compile locally to native MathML; code and dollar signs
130
143
  stay literal. The app has light and dark themes and a phone layout.
131
144
 
@@ -138,8 +151,34 @@ and reported, so the agent must review compatibility when extending them.
138
151
  ```sh
139
152
  tum-mcp study inspect ./pse-ws26
140
153
  tum-mcp study build ./pse-ws26
154
+ tum-mcp study report ./pse-ws26 # review flags and what the sources leave uncovered
155
+ tum-mcp study visuals ./pse-ws26 # measure every drawn visual and draw contact sheets
141
156
  ```
142
157
 
158
+ The agent records what each lecture states students should learn, and which sheet
159
+ problems are prepared, in `.tum-mcp/coverage.json`. `study report` lists outcomes
160
+ that are not yet taught, sources not yet read and problems still pending, so a request
161
+ to cover a whole course is judged against the course's own outcomes.
162
+
163
+ `study visuals` opens every lesson, practice question, exercise step and Exam Prep
164
+ visual in an installed Chrome, Edge or Chromium at phone (390 px), narrow (600 px) and
165
+ desktop (1280 px) width. It reports lines through nodes, labels that overlap or sit on a
166
+ line, text under 12 px, clipped text and drawings that differ from their block, writes
167
+ contact sheets to `.tum-mcp/visuals/` and records the result in
168
+ `.tum-mcp/visual-check.json`. Editing an item or updating the app makes its result stale,
169
+ and `study report` lists items whose check is missing, stale or failing.
170
+
171
+ Ask `review-course` to score the lessons and exercises the way a student meets them.
172
+ It reads each item in five passes (logic, text, visuals, interaction and intuition) and
173
+ gives each unit and exercise 1 to 3 points for correctness, clarity, cognitive load,
174
+ representation, practice, coverage and intuition. Each drawn visual gets its own score
175
+ from the contact sheets for fidelity, form, layout, legibility, focus and convention,
176
+ calibrated against a gallery of rated examples (`study visuals --gallery`). The agent
177
+ names what costs each point, saves the scores in `.tum-mcp/review.json`, then fixes the
178
+ findings and scores again.
179
+ Editing a unit or exercise makes its score stale, so `study report` lists what needs a
180
+ new review and what is still below the bar. The scores are not shown in the app.
181
+
143
182
  ## Preview the app
144
183
 
145
184
  From the course project folder, launch the prepared app with:
@@ -185,10 +224,13 @@ it sits inside the open outline. The exercise list groups exercises by sheet and
185
224
  each sheet's summary and due date when the sources provide them.
186
225
 
187
226
  Each exercise shows the original statement and subparts first. Work on paper, open the
188
- worked solution directly, or open **Guidance** for the exercise's goals and one step at
189
- a time with optional hints. Multiple-choice steps are checked; for every other step you
190
- work on paper and press **Compare** to see the answer, its explanation and a hint for
191
- the likeliest mistake. Code steps open the function skeleton in a small editor and
227
+ solution directly (one short answer per part, as a table, graph, formula or code), or
228
+ open **Guidance** for the exercise's goals and one step at a time with optional hints.
229
+ Multiple-choice steps are checked; for every other step you work on paper and press
230
+ **Compare**, the one place that shows the answer, its reasoning and a hint for the
231
+ likeliest mistake. **Review** beside a prerequisite opens the Study passage next to
232
+ the exercise without losing your place. A sheet whose problems are not all prepared
233
+ says which ones are still missing. Code steps open the function skeleton in a small editor and
192
234
  show the model answer as code; code is never run, and nothing is graded by keywords.
193
235
  Finishing the last step marks the exercise completed in the outline; you can also
194
236
  right-click any entry to mark it. A Next link leads to the following exercise. Large
@@ -204,8 +246,7 @@ use the existing private comment service; hosted exports do not expose it.
204
246
  ## Prepare for exams
205
247
 
206
248
  Ask `prepare-exams` to build the **Exam Prep** workspace from the course's past exams,
207
- exercises and materials. Past exams come from `materials/exams` (Moodle),
208
- `materials/studocu/exams` (Studocu) or files you hold yourself:
249
+ exercises and materials. Past exams come from `materials/exams` (Moodle) or files you hold yourself:
209
250
 
210
251
  ```bash
211
252
  tum-mcp study import ./pse-ws26 --file "Klausur WS23.pdf" --kind exam --title "Endterm WS23/24"
@@ -441,33 +482,11 @@ compiler. `runtime status` prints the exact command and never runs it for you.
441
482
  Windows on ARM, Intel Macs, Linux ARM64 and musl Linux are not supported: Manim's
442
483
  OpenGL dependencies publish no wheels there.
443
484
 
444
- ## Studocu materials
445
-
446
- Install the optional extension with `tum-mcp install studocu` and reload your
447
- client. Ask `sync-studocu` to collect materials for a course project. It can
448
- initialize a Studocu-only project with a verified course and semester.
449
- Search is anonymous and bounded; a limited result set is not a complete inventory.
450
- `tum-mcp studocu login` explains how to sign in to Studocu in your own browser.
451
- The extension cannot infer account entitlement or download original files through
452
- the public MCP. Save an original that your account permits in the browser.
453
-
454
- The skill records a reviewed selection with `tum-mcp studocu plan PROJECT
455
- --selection FILE` and tracks it with `tum-mcp studocu status PROJECT --json`.
456
- Import a selected original with `tum-mcp studocu import PROJECT --document-id ID
457
- --file FILE`. The document-to-file association is user-selected. Originals go to
458
- `materials/studocu/summaries`, `materials/studocu/exams` (including mocks and
459
- solutions), or `materials/studocu/other`. Files remain local and retain their
460
- original bytes. Consult the skill's collection reference for the selection schema.
461
- Exact matches in the same group, type and known year share one original through
462
- a private alias. Each selected document retains its own source identity and URL.
463
- Changing a document's classification or refreshing its original separates aliases
464
- when they no longer match; previous versions remain in private history.
465
- When an existing selection is planned again, unchanged duplicate originals are
466
- consolidated. Edited or missing files are preserved for review.
467
-
468
- Local study material can cite student uploads. Publishing rejects included
469
- Studocu-backed sources; this source check cannot identify uncited copied text or
470
- replace a review of the published content.
485
+ ## Materials you download yourself
486
+
487
+ Files from other websites are not downloaded for you. Save them yourself and add them
488
+ with `tum-mcp study import PROJECT --file FILE --kind exam --title TITLE`.
489
+ Imported files stay private: they are never published.
471
490
 
472
491
  ## The course app
473
492
 
@@ -486,7 +505,7 @@ tum-mcp study serve ./component-preview
486
505
  ```
487
506
 
488
507
  The demo creates one small Study unit and one exercise covering prose, code, tables,
489
- formulas, graph/process diagrams, cards and response controls. It is a format
508
+ formulas, graphs, UML diagrams, a flowchart, plots, cards and response controls. It is a format
490
509
  reference, not necessarily a good teaching or question-authoring example; actual
491
510
  course authoring follows reviewed sources and the preparation skills. Rich learning
492
511
  pilots stay in private test fixtures. It uses no campus account, and an existing
package/docs/tum-mcp.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Package: `@jamestesting888/tum-mcp`, CLI: `tum-mcp`, backend: Python 3.13.
4
4
  The package combines read-only course retrieval, managed client installation and
5
- six base course workflows and four optional extensions.
5
+ six base course workflows and three optional extensions.
6
6
 
7
7
  ## Current capabilities
8
8
 
@@ -225,9 +225,9 @@ writing files with activation.
225
225
 
226
226
  The Codex adapter uses a contained Node launcher to pin the managed Python in
227
227
  isolated mode; portable stdio manifests require a bare or contained executable.
228
- The base pack contains six skills: `read-content`, `sync-course`,
229
- `prepare-study`, `prepare-exercises`, `prepare-exams` and `publish-course`. Optional extensions add
230
- `prepare-lecture`, `sync-studocu`, `audio-notes` and `video-notes`; choose them with
228
+ The base pack contains seven skills: `read-content`, `sync-course`,
229
+ `prepare-study`, `prepare-exercises`, `prepare-exams`, `review-course` and `publish-course`. Optional extensions add
230
+ `prepare-lecture`, `audio-notes` and `video-notes`; choose them with
231
231
  `tum-mcp install`.
232
232
  Website-specific retrieval guidance is loaded from references within read-content.
233
233
  Teaching and content guidance lives with prepare-study; the course app and its
@@ -1,5 +1,5 @@
1
1
  {
2
- "wheel": "tum_mcp-0.11.0-py3-none-any.whl",
3
- "wheelSha256": "0706ba3855ca5cba44e7ab9d46474129a92f3b7e902f4f610e2273f4c31e2975",
2
+ "wheel": "tum_mcp-0.14.0-py3-none-any.whl",
3
+ "wheelSha256": "67fdca4a299b3fae25fd16700ee120cceba08de0542daec000cff65fc72f98a7",
4
4
  "requirementsSha256": "39a401b6e606d3292eb91b8fe9ef60367d4852f203eb409dc52f38b76e513ccf"
5
5
  }
package/npm/tum-mcp.mjs CHANGED
@@ -24,13 +24,12 @@ try {
24
24
  ['setup', 'Configure your coding client and managed runtime.'],
25
25
  ['login', 'Sign in to selected campus services.'],
26
26
  ['doctor', 'Show connections, extensions and relevant client/runtime health.'],
27
- ['install', 'Choose optional Lecture, Studocu, Audio Notes or Video Notes workflows.'],
27
+ ['install', 'Choose optional Lecture, Audio Notes or Video Notes workflows.'],
28
28
  ['uninstall', 'Choose extensions or All to remove TUM MCP.'],
29
29
  ['manage', 'Manage TUMonline permissions.'],
30
30
  ['skills', 'Inspect and validate workflow skills.'],
31
31
  ['study', 'Prepare, preview and publish a course app.'],
32
32
  ['lecture', 'Prepare lecture recording evidence (optional extension).'],
33
- ['studocu', 'Collect selected supplementary materials (optional extension).'],
34
33
  ['video-notes', 'Render and maintain explainer videos (optional extension).'],
35
34
  ['discover', 'List accessible courses or channels.'],
36
35
  ['update', 'Update the package and configured clients.'],
@@ -43,7 +42,7 @@ try {
43
42
  } else if (['--version', 'version'].includes(args[0])) {
44
43
  console.log(version);
45
44
  } else if (args[0] === 'install' && args.some(arg => ['--help', '-h'].includes(arg))) {
46
- printHelp(version, 'Choose optional workflows to install, or provide their names.', 'tum-mcp install [lecture|studocu|audio-notes|video-notes]... [OPTIONS]', [
45
+ printHelp(version, 'Choose optional workflows to install, or provide their names.', 'tum-mcp install [lecture|audio-notes|video-notes]... [OPTIONS]', [
47
46
  ['Options', [['--asr / --no-asr', 'Provision isolated lecture recognition; models load on demand.'], ['--json', 'Print machine-readable results.'], ['-h, --help', 'Show this help.']]],
48
47
  ]);
49
48
  } else if (['setup', 'update', 'uninstall'].includes(args[0]) && args.some(arg => ['--help', '-h'].includes(arg))) {
@@ -60,7 +59,7 @@ try {
60
59
  },
61
60
  uninstall: {
62
61
  description: 'Remove managed setup while retaining saved user data by default.',
63
- usage: 'tum-mcp uninstall [lecture|studocu|audio-notes|video-notes]... [OPTIONS]',
62
+ usage: 'tum-mcp uninstall [lecture|audio-notes|video-notes]... [OPTIONS]',
64
63
  options: [['(no arguments)', 'Choose extensions or All in the interactive picker.'], ['--client NAME', 'Remove one client registration.'], ['--host local|windows', 'Choose the client host.'], ['--purge-runtime', 'Remove verified runtimes when All is selected.'], ['--forget-credentials', 'Forget saved credentials when All is selected.']],
65
64
  },
66
65
  };
@@ -69,7 +68,7 @@ try {
69
68
  ['Options', [...selected.options, ['-h, --help', 'Show this help.']]],
70
69
  ]);
71
70
  } else {
72
- const hasExtension = args.slice(1).some(arg => ['lecture', 'studocu', 'audio-notes', 'video-notes'].includes(arg));
71
+ const hasExtension = args.slice(1).some(arg => ['lecture', 'audio-notes', 'video-notes'].includes(arg));
73
72
  let packageAction = args[0] === 'update';
74
73
  if (args[0] === 'update') {
75
74
  if (args.length > 2 || (args.length === 2 && args[1] !== '--local')) throw new Error('Usage: tum-mcp update [--local]. Use --help for details.');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jamestesting888/tum-mcp",
3
- "version": "0.11.0",
3
+ "version": "0.14.0",
4
4
  "description": "Read-only TUM campus tools and source-backed study, exercise and lecture workflows",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -58,7 +58,6 @@
58
58
  "zulip",
59
59
  "codex",
60
60
  "tumonline",
61
- "studocu",
62
61
  "lecture-notes"
63
62
  ]
64
63
  }