@jamestesting888/tum-mcp 0.6.1 → 0.7.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 +25 -0
- package/README.md +14 -11
- package/docs/development.md +6 -4
- package/docs/setup.md +1 -1
- package/docs/study.md +92 -27
- package/docs/tum-mcp.md +8 -7
- package/npm/backend/manifest.json +2 -2
- package/npm/backend/{tum_mcp-0.6.1-py3-none-any.whl → tum_mcp-0.7.0-py3-none-any.whl} +0 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,30 @@
|
|
|
1
1
|
# Changes
|
|
2
2
|
|
|
3
|
+
## 0.7.0 — 2026-10-26
|
|
4
|
+
|
|
5
|
+
- Share one course app between Study and Exercises, with a single workspace
|
|
6
|
+
selector in the sidebar footer and a responsive mobile outline.
|
|
7
|
+
- Add `prepare-exercises` for source-backed weekly exercises with optional hints,
|
|
8
|
+
explanations, solutions and prepared checks. Support editable tables, long math
|
|
9
|
+
and code drafts, graph selections/paths and line graph sample points. Open work
|
|
10
|
+
uses rubric comparison; the app does not execute code or grade proofs.
|
|
11
|
+
- Keep step navigation in place, shorten controls and show section sources through
|
|
12
|
+
compact reference icons. Preserve browser progress, drafts and passage comments.
|
|
13
|
+
- Use `.tum-mcp/` for private course state and a cited agent course handbook covering
|
|
14
|
+
course organization, schedules, coursework/platforms, assessment and bonus rules.
|
|
15
|
+
Track reviewed source versions, coverage gaps and changed supporting sources.
|
|
16
|
+
- Rename `sync-study` to `sync-course` and `publish-study` to `publish-course`;
|
|
17
|
+
retain managed migration for previous skill names and preserve personal overrides.
|
|
18
|
+
- Keep the shipped app a minimal reusable component template, explicitly distinct
|
|
19
|
+
from an example of good course teaching. Keep rich synthetic tests out of the package.
|
|
20
|
+
|
|
21
|
+
New projects use `app/`; existing `study/` websites remain supported. Run
|
|
22
|
+
`tum-mcp study upgrade PROJECT` explicitly to rename legacy `.study/` metadata;
|
|
23
|
+
it preserves private records and archives the old root instructions. The separate
|
|
24
|
+
`study build PROJECT --upgrade-layout` moves a verified legacy web folder to `app/`
|
|
25
|
+
with a backup. Neither package installation nor update migrates course folders or
|
|
26
|
+
rebuilds personal sites automatically. Exercise publication is opt-in.
|
|
27
|
+
|
|
3
28
|
## 0.6.1 — 2026-10-25
|
|
4
29
|
|
|
5
30
|
- Make `tum-mcp update` download and validate the latest npm release before
|
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Connect your coding agent to Moodle, Artemis and Zulip. Read course content and
|
|
4
4
|
build a private, source-backed study workspace. Unofficial; independent of TUM.
|
|
5
5
|
|
|
6
|
-
**
|
|
6
|
+
**Package: [@jamestesting888/tum-mcp](https://www.npmjs.com/package/@jamestesting888/tum-mcp).**
|
|
7
7
|
[Release notes](CHANGELOG.md).
|
|
8
8
|
|
|
9
9
|
## Agent setup
|
|
@@ -37,7 +37,7 @@ complete sign-in there. Only selected tabs open; Zulip needs no API key.
|
|
|
37
37
|
Enable the [course and channel scopes](docs/tum-mcp.md#connections-and-scopes) you want to use.
|
|
38
38
|
|
|
39
39
|
Choose a client with `--client`: `codex`, `claude`, `cursor` or `antigravity`.
|
|
40
|
-
Setup configures MCP and installs all
|
|
40
|
+
Setup configures MCP and installs all six skills; follow any activation or
|
|
41
41
|
restart prompts. Use `generic` for manual MCP setup.
|
|
42
42
|
|
|
43
43
|
For existing Cursor and Antigravity setups, run `tum-mcp update` to add the skills.
|
|
@@ -63,15 +63,16 @@ posting and read-state changes are unavailable.
|
|
|
63
63
|
|
|
64
64
|
### Skills and example requests
|
|
65
65
|
|
|
66
|
-
The package includes
|
|
66
|
+
The package includes six skills. Once you've chosen a course from
|
|
67
67
|
your connections, try requests like these:
|
|
68
68
|
|
|
69
69
|
| Skill | Use it to | Example request |
|
|
70
70
|
| --- | --- | --- |
|
|
71
71
|
| `read-content` | Read and explain course sources with citations | "Can you explain what we covered in last week's lecture?" |
|
|
72
|
-
| `sync-
|
|
72
|
+
| `sync-course` | Create or refresh a course project | "Set up a study project for this course." |
|
|
73
73
|
| `prepare-study` | Build lessons, flashcards and practice | "Make me a study website with flashcards and practice questions." |
|
|
74
|
-
| `
|
|
74
|
+
| `prepare-exercises` | Prepare optional hints, checks and worked solutions | "Help me work through this week's exercises in the same app." |
|
|
75
|
+
| `publish-course` | Put a prepared website on GitHub Pages | "Put my study site online so I can open it on my phone." |
|
|
75
76
|
| `audio-notes` | Save spoken lessons under `audio/` | "Turn this into audio notes I can listen to on the go." |
|
|
76
77
|
|
|
77
78
|
Useful follow-ups in an existing project:
|
|
@@ -86,11 +87,12 @@ Client setup installs managed copies of the
|
|
|
86
87
|
|
|
87
88
|
### Recommended study flow
|
|
88
89
|
|
|
89
|
-
1. **`sync-
|
|
90
|
+
1. **`sync-course`**: Set up a project for your course and collect its material.
|
|
90
91
|
Use it again when new material is available.
|
|
91
92
|
2. **`prepare-study`**: Turn that material into a study website with explanations,
|
|
92
|
-
flashcards and practice questions.
|
|
93
|
-
|
|
93
|
+
flashcards and practice questions. Use **`prepare-exercises`** for released sheets
|
|
94
|
+
with prepared interactive guidance. Both workspaces share one app; either can come first.
|
|
95
|
+
3. **`publish-course`** (optional): Put the website online so you can study on your
|
|
94
96
|
phone. Check the [publishing requirements](#publish-for-phone-access-optional) first.
|
|
95
97
|
4. **`audio-notes`** (optional): Turn the prepared content into spoken lessons.
|
|
96
98
|
Use them to revisit prepared topics while walking or commuting.
|
|
@@ -139,19 +141,20 @@ your project looks like this, with audio added when requested:
|
|
|
139
141
|
|
|
140
142
|
```text
|
|
141
143
|
my-course/
|
|
142
|
-
├── AGENTS.md
|
|
144
|
+
├── AGENTS.md Your rules and a short pointer to agent context
|
|
143
145
|
├── materials/
|
|
144
146
|
│ ├── content/ Lectures, slides and reading
|
|
145
147
|
│ ├── exercises/ Exercise sheets and practice material
|
|
146
148
|
│ ├── exams/ Available exam and revision material
|
|
147
149
|
│ └── other/ Announcements and course information
|
|
148
|
-
├──
|
|
150
|
+
├── app/
|
|
149
151
|
│ ├── content.json Lessons, flashcards and practice questions
|
|
150
152
|
│ └── index.html Your study website
|
|
151
153
|
├── audio/ Optional audio notes
|
|
152
154
|
│ ├── scripts/ Narration text
|
|
153
155
|
│ └── tracks/ Audio lessons
|
|
154
|
-
└── .
|
|
156
|
+
└── .tum-mcp/
|
|
157
|
+
├── course.md Cited course orientation, rules and unknowns
|
|
155
158
|
├── state.json Course identity and source versions
|
|
156
159
|
└── comments.json Passage comments, when added
|
|
157
160
|
```
|
package/docs/development.md
CHANGED
|
@@ -40,7 +40,7 @@ Each layer owns a different failure boundary:
|
|
|
40
40
|
| Public upgrade | Earlier published versions, repair, ownership conflicts and removal |
|
|
41
41
|
| Native platform | OS credential/ACL behavior; WSL Windows browser transport on both engines |
|
|
42
42
|
|
|
43
|
-
Study integration fixtures build the
|
|
43
|
+
Study integration fixtures build the private rich regression fixture once, then copy it into a fresh
|
|
44
44
|
project for each test. Launcher tests only need an HTML entry point. Neither
|
|
45
45
|
shares mutable course state. Client transaction tests use five small synthetic
|
|
46
46
|
skills, including nested binary assets; full-pack export, migration and installed
|
|
@@ -56,7 +56,7 @@ CI runs macOS, Windows and Linux, plus both distribution engines on WSL 3.x.
|
|
|
56
56
|
Consumer checks install the actual npm artifact, discover tools, build a study
|
|
57
57
|
site and test available Chromium browsers with temporary profiles and synthetic
|
|
58
58
|
pages. WSL verifies Windows browser transport. No live account is used.
|
|
59
|
-
Upgrade checks cover public 0.6.
|
|
59
|
+
Upgrade checks cover public 0.6.1, client refresh, customized-file conflicts,
|
|
60
60
|
failed preparation, runtime repair and removal that preserves work/credentials.
|
|
61
61
|
The package-lifecycle check uses a local synthetic registry and real isolated
|
|
62
62
|
global npm prefixes to verify downloads, backend validation, replacement,
|
|
@@ -110,12 +110,14 @@ material remain untrusted data for the skill.
|
|
|
110
110
|
|
|
111
111
|
## Study renderer
|
|
112
112
|
|
|
113
|
-
Author `
|
|
113
|
+
Author `app/content.json` and optional `app/exercises.json`; legacy `study/` remains supported. Formula blocks use LaTeX compiled locally into safe
|
|
114
114
|
native MathML; legacy MathML remains accepted. Unit `path` labels group the outline
|
|
115
115
|
without changing learning-progress revisions. Shared modules render all units;
|
|
116
116
|
content changes do not require a framework or per-unit HTML.
|
|
117
117
|
|
|
118
|
-
|
|
118
|
+
Shared renderer assets live in `src/tum_mcp/bundled/course_app/site/`. The shipped
|
|
119
|
+
component preview is deliberately minimal; richer learning pilots live in
|
|
120
|
+
`tests/fixtures/course_app/`. The distributed design/teaching/verification contracts live under
|
|
119
121
|
`src/tum_mcp/bundled/skills/prepare-study/references/`. Local agent notes and
|
|
120
122
|
screenshots belong in ignored `docs/local/` or `.omo/`. Keep real course projects,
|
|
121
123
|
session files, databases, downloads and environment files out of artifacts.
|
package/docs/setup.md
CHANGED
|
@@ -20,7 +20,7 @@ tum-mcp doctor
|
|
|
20
20
|
|
|
21
21
|
Use `--client claude`, `cursor`, `antigravity`, or `generic` for another client.
|
|
22
22
|
Codex needs the plugin enabled and a restart when prompted. Cursor and
|
|
23
|
-
Antigravity setup installs all
|
|
23
|
+
Antigravity setup installs all six skills and MCP configuration; restart each
|
|
24
24
|
client afterward. Existing MCP-only setups gain the skills through `tum-mcp update`
|
|
25
25
|
or another setup run. Generic setup writes configuration for manual installation.
|
|
26
26
|
Setup preserves unrelated settings and refuses to
|
package/docs/study.md
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
# Course study projects
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Six focused skills cover source reading, course sync, Study preparation, Exercises preparation, audio and publishing.
|
|
4
4
|
They run in your local agent, using the connected
|
|
5
5
|
MCP tools to read course sources. The CLI validates and stores the resulting local
|
|
6
6
|
files; it does not run an AI model.
|
|
7
7
|
|
|
8
8
|
## Publish a study website
|
|
9
9
|
|
|
10
|
-
The optional `publish-
|
|
10
|
+
The optional `publish-course` skill makes a prepared site accessible from a phone
|
|
11
11
|
or another computer. Its GitHub repository is private; the Pages website is
|
|
12
12
|
public. An eligible paid GitHub plan is required for Pages from private repositories.
|
|
13
13
|
This workflow does not provide private website access. Review lesson text,
|
|
@@ -29,10 +29,16 @@ tum-mcp study publish --project PROJECT --public-site --repository OWNER/NAME
|
|
|
29
29
|
|
|
30
30
|
Names use `study-<course>-<semester>` in lowercase with hyphens. A collision gets
|
|
31
31
|
a stable course suffix; existing repositories are never made public. Settings in
|
|
32
|
-
`.
|
|
32
|
+
`.tum-mcp/github.json` bind updates to that course, semester and repository. A
|
|
33
33
|
failed setup retries the same saved repository rather than creating duplicates.
|
|
34
34
|
|
|
35
|
-
|
|
35
|
+
Study is the default hosted workspace, including for old settings. Exercise
|
|
36
|
+
statements, hints and full solutions need explicit `--include-exercises` on the
|
|
37
|
+
publish command after reviewing their public exposure. `--exclude-exercises`
|
|
38
|
+
returns a combined site to Study only, using the same repository and URL. An
|
|
39
|
+
Exercises-only site also requires explicit inclusion.
|
|
40
|
+
|
|
41
|
+
Only the selected generated website renderer and data are uploaded. Downloaded
|
|
36
42
|
originals, credentials, AGENTS.md, study inventory, passage comments, progress,
|
|
37
43
|
audio and arbitrary files stay local. Git itself is not required: the publisher
|
|
38
44
|
uses authenticated GitHub API calls through `gh`. Local publication settings do
|
|
@@ -63,7 +69,7 @@ and offline support are not included.
|
|
|
63
69
|
|
|
64
70
|
## Start with one course
|
|
65
71
|
|
|
66
|
-
Use `sync-
|
|
72
|
+
Use `sync-course` for both initial setup and later source updates. For a new project,
|
|
67
73
|
provide the course title and semester when known. The agent verifies
|
|
68
74
|
its availability, resolves source IDs and asks about ambiguous mappings. A project
|
|
69
75
|
cannot switch course or semester. Use a separate directory for another course.
|
|
@@ -86,18 +92,42 @@ pse-ws26/
|
|
|
86
92
|
exams/ Available revision material
|
|
87
93
|
exercises/ Released statements and practice references
|
|
88
94
|
other/ Announcements and course information
|
|
89
|
-
.
|
|
90
|
-
|
|
95
|
+
.tum-mcp/
|
|
96
|
+
course.md Cited course structure, logistics, rules and unknowns
|
|
97
|
+
state.json Course binding, source versions and coverage
|
|
98
|
+
notes/ Detailed course/agent notes when needed
|
|
99
|
+
app/ Shared Study and Exercises website
|
|
100
|
+
content.json Optional source-backed Study content
|
|
101
|
+
exercises.json Optional prepared exercise guidance
|
|
91
102
|
audio/ Optional category audio derived from the prepared website
|
|
92
103
|
```
|
|
93
104
|
|
|
94
|
-
`AGENTS.md`
|
|
95
|
-
|
|
96
|
-
|
|
105
|
+
`AGENTS.md` retains user rules and points agents to `.tum-mcp/course.md`. That short
|
|
106
|
+
handbook explains the course's goals, lectures/tutorials, weekly work and platforms,
|
|
107
|
+
assessment/bonus conditions, communication and preparation map. Claims carry source
|
|
108
|
+
links/locators and checked dates; unknowns and conflicting announcements stay visible.
|
|
109
|
+
Detailed source content remains in materials/. All TUM MCP course state, plans and
|
|
110
|
+
agent notes live under .tum-mcp/.
|
|
111
|
+
|
|
112
|
+
`sync-course` reads the relevant authoritative sources and maintains the handbook;
|
|
113
|
+
the CLI scaffolds it without pretending to understand the course. Its review receipt
|
|
114
|
+
records the local generation and hashes of supporting sources. `study inspect`
|
|
115
|
+
reports changed supporting sources and coverage gaps so refreshes can focus on
|
|
116
|
+
affected claims. A reviewed local snapshot does not establish live freshness or
|
|
117
|
+
complete understanding. See the bundled sync-course context reference for the full
|
|
118
|
+
source-review workflow.
|
|
119
|
+
|
|
120
|
+
To rename existing private `.study/` state explicitly, close other course processes
|
|
121
|
+
and run `tum-mcp study upgrade PROJECT`. It preserves unknown private files,
|
|
122
|
+
comments, publication settings and the full old root instructions as
|
|
123
|
+
`.tum-mcp/legacy-AGENTS.md`. Course identity, materials and browser progress stay the
|
|
124
|
+
same. Existing legacy state remains readable until upgrade; two state folders are
|
|
125
|
+
a conflict to reconcile, never silently merged. This differs from the web-folder
|
|
126
|
+
upgrade below.
|
|
97
127
|
|
|
98
128
|
## State-based workflow
|
|
99
129
|
|
|
100
|
-
`sync-
|
|
130
|
+
`sync-course` starts with `tum-mcp study status PROJECT`, a read-only local check:
|
|
101
131
|
|
|
102
132
|
| Mode | Action |
|
|
103
133
|
| --- | --- |
|
|
@@ -112,7 +142,7 @@ The underlying `study init` and `study sync` commands remain separate.
|
|
|
112
142
|
|
|
113
143
|
## Keep it current
|
|
114
144
|
|
|
115
|
-
Ask `sync-
|
|
145
|
+
Ask `sync-course` to compare the project with connected upstream sources. It
|
|
116
146
|
reuses the saved course, semester, source IDs and reliable revisions. It retrieves
|
|
117
147
|
changed material and updates course knowledge. Incomplete listings never imply withdrawal. Withdrawn sources
|
|
118
148
|
keep their local originals; edited or deleted managed files are reported for review.
|
|
@@ -127,10 +157,9 @@ restores files when possible and reports any remaining conflict.
|
|
|
127
157
|
|
|
128
158
|
## Prepare the website
|
|
129
159
|
|
|
130
|
-
Ask `prepare-study` to create or extend `
|
|
160
|
+
Ask `prepare-study` to create or extend the Study workspace in `app/`. Units follow the course's
|
|
131
161
|
lecture/week sequence when useful, or use consistent topics. For a single course, use a flat list or one category level followed by topics,
|
|
132
|
-
including several topics in one week.
|
|
133
|
-
legacy hierarchies. Every unit has:
|
|
162
|
+
including several topics in one week. Every unit has:
|
|
134
163
|
|
|
135
164
|
- A concise explanation with source links, assumptions and worked examples.
|
|
136
165
|
- Editable LaTeX formulas and inline variables, diagrams, code or comparison tables where they explain the concept.
|
|
@@ -173,7 +202,7 @@ glossaries, cards, questions and feedback. Code and dollar signs stay literal.
|
|
|
173
202
|
|
|
174
203
|
Select text in Content, Flashcards or Practice, then click **Comment** to record what is unclear.
|
|
175
204
|
You can also use Ctrl/Command+Alt+M after selecting text. The local preview saves
|
|
176
|
-
notes in `.
|
|
205
|
+
notes in `.tum-mcp/comments.json`, separately from learning progress. Click a
|
|
177
206
|
numbered passage marker or highlighted text to open its notes beside the quote.
|
|
178
207
|
Markers sit beside section headings or the current card/question position.
|
|
179
208
|
Notes can be edited, resolved or reopened; changed passages retain their original quotes.
|
|
@@ -186,7 +215,7 @@ automatically while the preview is open. Your draft is kept if a note changes
|
|
|
186
215
|
elsewhere; choose Use latest or Keep mine before saving. Reload after the agent
|
|
187
216
|
rebuilds the teaching content.
|
|
188
217
|
|
|
189
|
-
Content lives in `
|
|
218
|
+
Content lives in `app/content.json`; shared renderer modules and CSS keep the
|
|
190
219
|
site extensible. Source hashes identify affected units. A stale source stops a
|
|
191
220
|
build until the explanation is reviewed. Unchanged units retain their revision;
|
|
192
221
|
revised questions receive separate progress. Customized templates are preserved
|
|
@@ -210,11 +239,44 @@ or an unattended preview, use `tum-mcp study serve ./pse-ws26 --port 8765`.
|
|
|
210
239
|
If port 8765 is busy, stop the other preview or choose `tum-mcp study --port 8766`.
|
|
211
240
|
Keep the same address and port between sessions so browser progress remains available.
|
|
212
241
|
|
|
213
|
-
The preview binds `127.0.0.1`, serves `study/` and saves comments through a bounded
|
|
242
|
+
The preview binds `127.0.0.1`, serves `app/` (or the existing legacy `study/`) and saves comments through a bounded
|
|
214
243
|
same-origin endpoint. It makes no campus requests.
|
|
215
244
|
No course credentials are copied into the website. Browser storage holds progress
|
|
216
245
|
locally. Nothing is published by these commands.
|
|
217
246
|
|
|
247
|
+
## Prepare weekly exercises
|
|
248
|
+
|
|
249
|
+
Ask `prepare-exercises` to prepare released weekly sheets in the same app. Study
|
|
250
|
+
and Exercises can be prepared in either order. When both exist, a selector at the bottom of the sidebar
|
|
251
|
+
switches workspaces and remembers the current place. On phones it lives inside the
|
|
252
|
+
open course outline; there is no second switch in the reading area. Exercises are
|
|
253
|
+
listed directly under sheets, optionally grouped by category.
|
|
254
|
+
|
|
255
|
+
The original statement and subparts come first. Students can solve on paper, mark
|
|
256
|
+
an exercise Reviewed, reveal a worked solution directly, or open **Guidance**.
|
|
257
|
+
Prepared guidance offers one conceptual step, requested hints and specific repair
|
|
258
|
+
feedback. Numeric checks state units/tolerance; choice checks have four options.
|
|
259
|
+
Fillable tables check numeric cells and explicit text variants individually. Graph
|
|
260
|
+
questions support node/edge selections and ordered paths with a visible diagram.
|
|
261
|
+
Line graphs allow sample-point placement, coordinate edits and keyboard adjustment.
|
|
262
|
+
Long math and programming work use saved writing areas and prepared rubrics; code
|
|
263
|
+
is never executed, and symbolic work, proofs and programs are not automatically
|
|
264
|
+
graded. Arbitrary graph drawing can use paper and rubric comparison. Typing, hints and step-by-step guidance are optional. Reviewed records an
|
|
265
|
+
action, not mastery or an assessment result.
|
|
266
|
+
|
|
267
|
+
Drafts and assistance stay in this browser. Editing a checked answer clears its
|
|
268
|
+
verdict. Semantic changes start fresh progress for only that exercise, while retaining older
|
|
269
|
+
browser records; source-hash review alone preserves progress.
|
|
270
|
+
Reset on each workspace home affects only that workspace. Exercise passage comments
|
|
271
|
+
use the existing private comment service; hosted exports do not expose it.
|
|
272
|
+
|
|
273
|
+
Existing `study/` projects continue to work. New projects use `app/`. To upgrade a
|
|
274
|
+
verified legacy layout explicitly, run `tum-mcp study build PROJECT --upgrade-layout`.
|
|
275
|
+
It keeps the original tree at `.tum-mcp/layout-backup/`, preserves the course identity,
|
|
276
|
+
learning revisions, comments, settings and personal files, and stops on customized
|
|
277
|
+
generated files, an occupied backup or two layouts. Repeating a completed upgrade
|
|
278
|
+
is a no-op. Do not create `app/` alongside an existing `study/` by hand.
|
|
279
|
+
|
|
218
280
|
## Create and maintain audio notes
|
|
219
281
|
|
|
220
282
|
Use `prepare-study` to author the interactive course, then ask `audio-notes` to
|
|
@@ -225,7 +287,7 @@ Create audio notes from this prepared study website, one file per category.
|
|
|
225
287
|
Keep course outputs under audio/; prefer free ElevenLabs with local Kokoro fallback.
|
|
226
288
|
```
|
|
227
289
|
|
|
228
|
-
Audio Notes reads `
|
|
290
|
+
Audio Notes reads `app/content.json`, retaining the course's language, examples,
|
|
229
291
|
assumptions and limitations. It turns tables, formulas, code and diagram sequences
|
|
230
292
|
into explanations that work without a screen. It does not independently research
|
|
231
293
|
the course or create new subject matter. An audio-only request reuses the prepared
|
|
@@ -287,29 +349,32 @@ material with the previous verified coverage. This is an agent skill, not a new
|
|
|
287
349
|
|
|
288
350
|
## Packaged app template
|
|
289
351
|
|
|
290
|
-
The
|
|
352
|
+
The shared web-app template is packaged in `bundled/course_app/site/`, separately from skill instructions.
|
|
291
353
|
It includes the shell, navigation, flip cards, practice, diagrams and styling.
|
|
292
|
-
Agents author course content in `
|
|
354
|
+
Agents author course content in `app/content.json`; `study build` installs the
|
|
293
355
|
shared template, preserves customized files and checks sources. This keeps new
|
|
294
356
|
course sites consistent without rebuilding the interface. `tum-mcp study template`
|
|
295
357
|
shows the bundled files and their combined revision for reproducible development.
|
|
296
358
|
|
|
297
|
-
## Try the
|
|
359
|
+
## Try the component template
|
|
298
360
|
|
|
299
361
|
After installing a locally built development artifact:
|
|
300
362
|
|
|
301
363
|
```sh
|
|
302
|
-
tum-mcp study demo ./
|
|
303
|
-
tum-mcp study serve ./
|
|
364
|
+
tum-mcp study demo ./component-preview
|
|
365
|
+
tum-mcp study serve ./component-preview
|
|
304
366
|
```
|
|
305
367
|
|
|
306
|
-
This creates
|
|
307
|
-
|
|
368
|
+
This creates one small Study unit and one exercise covering prose, code, tables,
|
|
369
|
+
formulas, graph/process diagrams, cards and response controls. It is a reusable
|
|
370
|
+
component template, not necessarily a good teaching or question-authoring example.
|
|
371
|
+
Actual course authoring follows reviewed sources and the preparation skills. Rich
|
|
372
|
+
learning pilots stay in private test fixtures.
|
|
308
373
|
It uses no campus account. An existing edited demo is preserved.
|
|
309
374
|
|
|
310
375
|
## Local helper inputs
|
|
311
376
|
|
|
312
|
-
Agents use `tum-mcp study schema snapshot` and `
|
|
377
|
+
Agents use `tum-mcp study schema snapshot`, `schema content` and `schema exercises` for
|
|
313
378
|
validated input schemas. After authenticated tools verify availability, the agent
|
|
314
379
|
stages a source snapshot with exact course identity, coverage and resource revisions.
|
|
315
380
|
The helper does not authenticate the snapshot or grant any campus access itself.
|
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
|
Development version **0.6.1 (unreleased)** adds npm package management to the
|
|
5
|
-
read-only course retrieval and
|
|
5
|
+
read-only course retrieval and six local course workflows.
|
|
6
6
|
|
|
7
7
|
## Current capabilities
|
|
8
8
|
|
|
@@ -162,10 +162,11 @@ in JSON for troubleshooting. Default diagnostics do not create state folders.
|
|
|
162
162
|
|
|
163
163
|
## Study workflows
|
|
164
164
|
|
|
165
|
-
`read-content` retrieves course information across the three websites. `sync-
|
|
165
|
+
`read-content` retrieves course information across the three websites. `sync-course`
|
|
166
166
|
uses read-only local status to initialize an explicitly chosen available course or
|
|
167
167
|
reconcile an existing project. Incomplete state is preserved for recovery.
|
|
168
|
-
`prepare-study`
|
|
168
|
+
`prepare-study` authors lessons; `prepare-exercises` authors guided released sheets
|
|
169
|
+
in the same local app. See the
|
|
169
170
|
[study guide](study.md) for examples, state structure and helper commands.
|
|
170
171
|
|
|
171
172
|
One project holds one course. Source revisions, coverage and course knowledge
|
|
@@ -182,13 +183,13 @@ writing files with activation.
|
|
|
182
183
|
|
|
183
184
|
The Codex adapter uses a contained Node launcher to pin the managed Python in
|
|
184
185
|
isolated mode; portable stdio manifests require a bare or contained executable.
|
|
185
|
-
The shipped pack contains
|
|
186
|
-
`prepare-study`, `audio-notes` and `publish-
|
|
186
|
+
The shipped pack contains six skills: `read-content`, `sync-course`,
|
|
187
|
+
`prepare-study`, `prepare-exercises`, `audio-notes` and `publish-course`. Website-specific retrieval
|
|
187
188
|
guidance is loaded from references within read-content. Teaching, schema and design contracts live
|
|
188
189
|
with prepare-study; the renderer and synthetic example ship as reusable assets.
|
|
189
190
|
Audio Notes converts prepared content into category tracks and maintains coverage,
|
|
190
191
|
scripts, voice settings, candidates and archives under the course's `audio/` root.
|
|
191
|
-
Publish
|
|
192
|
+
Publish Course uses host GitHub CLI authentication to create a private repository
|
|
192
193
|
and a public Pages website after explicit publication consent. It chooses a course
|
|
193
194
|
and semester name, updates the same site after successful study builds, and shows
|
|
194
195
|
the hosted URL alongside the local launcher URL. No tokens or original course
|
|
@@ -203,7 +204,7 @@ routing quality is a separate evaluation from structural and discovery checks.
|
|
|
203
204
|
Claude's invocation metadata follows each workflow's selected policy; automatic
|
|
204
205
|
selection is enabled by default and never grants permission for a mutation.
|
|
205
206
|
|
|
206
|
-
`setup --client cursor` writes `~/.cursor/mcp.json` and installs all
|
|
207
|
+
`setup --client cursor` writes `~/.cursor/mcp.json` and installs all six skills
|
|
207
208
|
under `~/.cursor/skills/`.
|
|
208
209
|
`setup --client antigravity` installs the same skills under `~/.gemini/config/skills/`
|
|
209
210
|
and writes `~/.gemini/config/mcp_config.json`; an existing
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"wheel": "tum_mcp-0.
|
|
3
|
-
"wheelSha256": "
|
|
2
|
+
"wheel": "tum_mcp-0.7.0-py3-none-any.whl",
|
|
3
|
+
"wheelSha256": "dabe306ea1695fa03fa119b2673cc93c0ee705b34ebabc6674958fe77f5757a6",
|
|
4
4
|
"requirementsSha256": "25f9efa7a4ffb0b97abcfeb9d4706d04808273ab1b35abcfaa1ef0b66e87591b"
|
|
5
5
|
}
|
|
Binary file
|