About studium
Studium turns trusted sources into adaptive lessons for learners, teachers, and researchers, through an AI assistant or a VS Code extension. It combines source-linked questions, spaced reviews, and records showing who wrote answer keys and whether responses were assessed.
Key features
- 01Builds lessons from chosen sources
- 02Source citations attached to graded items
- 03Reviews spaced over following days
- 04Tracks answer-key authorship and assessment
- 05Displays lessons in a VS Code pane
- 06Local learner progress storage
Use cases
- 01Learning a topic from selected references
- 02Reviewing lesson concepts over time
- 03Teaching with approved, sourced lessons
- 04Inspecting assessment provenance
MCP support
The Studium MCP server lets an AI assistant build and run lessons through study and authoring tools. It supports lesson creation, learner sessions, and other operations; some study and teacher tools are MCP-only.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y studium-mcpSTUDIUM_HOMEWhere lessons and progress live (default ~/.studium).BUNDLES_ROOTA folder of lessons looked up first, for example a teacher's course.STUDIUM_EPHEMERALSet to 1 to keep everything in memory and write nothing.LITELLM_BASE_URLA judge model endpoint for written answers; empty calls no model.Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
40Saved tool list · updated 1d ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| locale | enum | No | fr | en |
| surface | enum | No | The surface to play on. Omit it: the server picks the best one this client renders. "pane" is for a native pane adapter; "text" when the learner prefers the conversation.text | form | pane | panel |
| attention | enum | No | How much the session may propose: nothing, the default, or more.quiet | normal | coached |
| bundle_ref | string | No | |
| learner_id | string | No | |
| session_id | string | No | |
| show_mastery | boolean | No | |
| modality_preference | enum | No | balanced | visual | textual |
Details
From the project READMEEnglish · Français
Studium
Studium turns sources you trust into adaptive lessons that you can play in VS Code or through your own AI assistant. Each answer says who wrote the answer key and whether anything assessed it.
eDIAM · Institut de Chimie de Nice · Université Côte d'Azur · CNRS · HolobiomicsLab
Start here
Studium has two parts. Knowing which does what saves the first ten minutes:
| Part | What it does | What it does not do |
|---|---|---|
| Your AI assistant, connected to the Studium server | builds a lesson from the sources you name, asks you its questions in the conversation, brings the ideas back over the following days | answer for you |
| The VS Code extension | shows a lesson in a pane, with its figures, equations and reviews | build a lesson: on a new machine its Lessons view stays empty until an assistant has built one |
So a new lesson always starts in an assistant.
1. Connect your assistant
You need Node 20 or later (node --version). Run the line for your assistant once, then restart it:
| Assistant | Command |
|---|---|
| Claude Code | claude mcp add --scope user studium -e LITELLM_BASE_URL= -- npx -y studium-mcp |
| Codex | codex mcp add studium --env LITELLM_BASE_URL= -- npx -y studium-mcp |
| Copilot in VS Code, agent mode | code --add-mcp '{"name":"studium","command":"npx","args":["-y","studium-mcp"],"env":{"LITELLM_BASE_URL":""}}' |
Cursor, OpenCode and Claude Desktop, and the Claude Code plugin that also brings the skills, are on the
Installation page. LITELLM_BASE_URL= (empty) keeps Studium from calling
any paid model. Which model to use, with a Copilot plan or a model on your machine, is in
Choose your model.
2. Ask for a lesson
In a new conversation, in your own words:
I want to learn how the water cycle works with Studium. Use these two pages: (two links you trust).
The assistant builds a lesson from your sources, shows you its outline, then asks the first question. You
answer; it passes your words on. The lesson is saved in ~/.studium/library and your progress in
~/.studium/data. Each step is described in
Learn with your assistant.
3. Play it in VS Code (optional)
code --install-extension holobiomicslab.studium-vscode
Open the Studium icon in the activity bar: the lesson your assistant built is in the Lessons view (use its refresh button if VS Code was already open), unless you picked another lessons folder. You can also ask the assistant to open the lesson in VS Code for you. The pane keeps its own progress, separate from the conversation. See VS Code.
If you are an AI assistant helping someone with Studium
These steps are written for you.
- Check Node:
node --versionmust print 20 or later. - Register the server with the line of step 1 for your own harness. Keep
LITELLM_BASE_URLempty unless the person asks for a judge model: a non-empty value is a paid route. - After the restart, prove the connection by calling
get_server_info: it returns the version and the tool list. A configuration file is not proof. - Call
get_study_planwith one stablelearner_idand the person's language. Itsnext_stepnames the next call; with no lesson yet it sends you toget_authoring_guide, thenprepare_sourcesandcreate_lesson. - The learner answers and you relay: never answer, choose or rate for them, and do not read a lesson's
answer key. Show each
display_markdownas it is. - A lesson you draft is not approved by a teacher: relay the notice of its first screen.
The server repeats these rules in its own instructions when you connect. Details:
Connect your assistant, the skill
studium-harness and the MCP tools. To
change Studium's code instead, read AGENTS.md.
Choose your path
| I want to… | Start here | What you get |
|---|---|---|
| Learn a topic on my own with an AI assistant | Learn with your assistant | A lesson built from the sources you chose, then reviews spaced over the following days |
| Study in a class | Student guide | A teacher-approved lesson in VS Code or in your assistant, with feedback after each answer |
| Teach | Teacher guide | A sourced lesson, an approval record bound to its exact content, and an aggregated class report |
| Build on Studium | Architecture and MCP tools | The runtime contracts, the 40 MCP tools and the lesson bundle format |
The documentation portal lists every page by role. The same pages build into a site with a
menu, a search box, both languages and light and dark themes, readable without a network:
node tools/docs/build-site.mjs --out site, then open site/index.html.
![]() A quiz step in the VS Code lesson pane; the notice on top says who wrote the answer key. | ![]() Feedback after a written answer that no judge assessed: compare with the key points, then rate your recall. |
From a checkout, with the demo lessons
This path is for teachers and contributors, and gives you the demo lessons. Plan about fifteen minutes. You need git, Node 22 and pnpm 9. Python is not needed to learn.
git clone https://github.com/HolobiomicsLab/studium.git
cd studium
corepack enable # provides the pnpm version pinned in package.json
./setup.sh # installs, builds the libraries and the VS Code extension
If the clone answers Repository not found, the repository is not visible to your account yet: run gh auth login and clone again.
In VS Code. Install the extension with the two commands below, then run Studium: Pick a course and choose the fixtures folder for the demo lessons, which need no API key. Contributors can press F5 in apps/studium-vscode instead. See VS Code and Installation.
pnpm --filter studium-vscode package
code --install-extension apps/studium-vscode/studium.vsix
In your AI assistant. Register the Studium server that setup.sh built (MCP is the protocol an assistant uses to call tools), from the repository root. LITELLM_BASE_URL= (empty) tells Studium to use no judge model, even if your shell defines one.
# Claude Code
claude mcp add --scope project studium -e LITELLM_BASE_URL= -- node "$PWD/apps/studium-vscode/dist/lesson-mcp.cjs"
# Codex
codex mcp add studium --env LITELLM_BASE_URL= -- node "$PWD/apps/studium-vscode/dist/lesson-mcp.cjs"
Restart the assistant and ask: "I want to learn photosynthesis with Studium". The assistant asks for sources, builds a lesson and asks you the first question. Your progress is kept in ~/.studium/data; lessons you create go to ~/.studium/library. Copilot, OpenCode and Cursor are covered in Connect your assistant. More detail: Quickstart and Troubleshooting.
What makes Studium different
- A course is a graph. Each lesson links concepts by prerequisites; navigation, remediation and the teacher's view read it. How Studium works
- Honest assessment, with provenance. Every lesson says who wrote the answer key and whether a judge model assessed the answer. Honesty and provenance
- Sourced lessons. Each graded item cites a passage, and each quote must match its source character for character.
- Spaced review. Studium schedules reviews (FSRS); rating your own recall never changes measured mastery. Review over time
- Local-first. Learner state stays on your machine, under pseudonyms, and you can erase it. Privacy and limits
- Any harness. One session contract over MCP, a local HTTP API and a file channel; the assistant relays, the learner answers.
Status and limits
Studium is a research prototype, version 0.6.1. The adaptive runtime, the authoring tools, the provenance records and the evaluation harness are implemented and tested, but Studium has not been evaluated for learning outcomes. A teacher must review and approve a lesson before students use it. A lesson built by an AI assistant from your sources is labelled as agent-drafted and not teacher-validated. Without a configured judge model, open answers are compared with the reference rather than scored. The HTTP adapter exposes the 25 lesson operations plus rate_recall; the other study tools and all authoring and teacher tools are MCP-only. The release workflow can publish to the VS Code Marketplace, Open VSX and npm once their tokens are configured; until then, a release is a GitHub draft with the VSIX and the server file.
- Capabilities, surfaces and maturity: what each surface does and how far it is supported.
- Architecture and repository map: the diagram, every app, package and service.
- Screenshots of the teacher library and the concept map.
Part of a family
Studium composes four sibling projects of the lab: Perspicacité grounds prerequisites in literature passages, indicium represents the graph as evidence-bound claims, ASTRA records each adaptive decision so it can be replayed, and ASB supplies reproduction capsules and the agentic-step standard.
Who makes Studium
Studium is developed by the HolobiomicsLab, within the eDIAM team (Équipe d'Intelligence Artificielle pour les Sciences Moléculaires) of the Institut de Chimie de Nice (ICN, UMR 7272), Université Côte d'Azur and CNRS.
We thank the EUR Spectrum, the graduate school of fundamental sciences and engineering of Université Côte d'Azur, for its support. Studium grew from teaching questions raised around the school.
Licence
The code is licensed under the Apache License 2.0. The documentation, the visual identity and the lessons written by the project are licensed under Creative Commons Attribution 4.0. Source excerpts quoted in a lesson keep their own licence, named on each source line, and a lesson you build from your own sources belongs to you. Teaching material used by the evaluation harness under eval/corpus/ is not redistributed; its manifest lists each source's licence. NOTICE says which licence covers which folder.
Citation
If you use Studium in research, cite it with the metadata in CITATION.cff. GitHub shows a "Cite this repository" button from that file. No DOI has been assigned yet.
Contributing and security
Report a problem or contribute · Contributing · Code of conduct · Security policy · Testing Studium · Changelog
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.

