mcpField
S
studium

studium

Local
ediam.cnrs.frScience & Education0Updated today

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

  1. 01Builds lessons from chosen sources
  2. 02Source citations attached to graded items
  3. 03Reviews spaced over following days
  4. 04Tracks answer-key authorship and assessment
  5. 05Displays lessons in a VS Code pane
  6. 06Local learner progress storage

Use cases

  1. 01Learning a topic from selected references
  2. 02Reviewing lesson concepts over time
  3. 03Teaching with approved, sourced lessons
  4. 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.

mcp.json · Universal config
{
"mcpServers": {
"holobiomicslab-studium": {
"command": "npx",
"args": [
"-y",
"studium-mcp"
],
"env": {
"STUDIUM_HOME": "<STUDIUM_HOME>",
"BUNDLES_ROOT": "<BUNDLES_ROOT>",
"STUDIUM_EPHEMERAL": "<STUDIUM_EPHEMERAL>",
"LITELLM_BASE_URL": "<LITELLM_BASE_URL>"
}
}
}
}
Run commandnpx -y studium-mcp
Environment variables to set
STUDIUM_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.

Packages
npmstudium-mcp0.6.3

Tools

40

Saved tool list · updated 1d ago

ParameterTypeRequiredDescription
localeenumNofr | en
surfaceenumNoThe 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
attentionenumNoHow much the session may propose: nothing, the default, or more.quiet | normal | coached
bundle_refstringNo
learner_idstringNo
session_idstringNo
show_masterybooleanNo
modality_preferenceenumNobalanced | visual | textual

Details

From the project README

English · Français

Studium: adaptive lessons, grounded in knowledge. For teachers, students and self-learners.

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:

PartWhat it doesWhat it does not do
Your AI assistant, connected to the Studium serverbuilds a lesson from the sources you name, asks you its questions in the conversation, brings the ideas back over the following daysanswer for you
The VS Code extensionshows a lesson in a pane, with its figures, equations and reviewsbuild 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:

AssistantCommand
Claude Codeclaude mcp add --scope user studium -e LITELLM_BASE_URL= -- npx -y studium-mcp
Codexcodex mcp add studium --env LITELLM_BASE_URL= -- npx -y studium-mcp
Copilot in VS Code, agent modecode --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.

  1. Check Node: node --version must print 20 or later.
  2. Register the server with the line of step 1 for your own harness. Keep LITELLM_BASE_URL empty unless the person asks for a judge model: a non-empty value is a paid route.
  3. 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.
  4. Call get_study_plan with one stable learner_id and the person's language. Its next_step names the next call; with no lesson yet it sends you to get_authoring_guide, then prepare_sources and create_lesson.
  5. 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_markdown as it is.
  6. 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 hereWhat you get
Learn a topic on my own with an AI assistantLearn with your assistantA lesson built from the sources you chose, then reviews spaced over the following days
Study in a classStudent guideA teacher-approved lesson in VS Code or in your assistant, with feedback after each answer
TeachTeacher guideA sourced lesson, an approval record bound to its exact content, and an aggregated class report
Build on StudiumArchitecture and MCP toolsThe 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.

The Studium lesson pane in VS Code on a quiz step of a French lesson: a notice saying the learner wrote the answer key, step 3 of 8 on the Lyman series, the Rydberg formula as a step document, four lettered choices with A selected, an optional confidence scale from 0 to 4, a Submit button and a Hint link.
A quiz step in the VS Code lesson pane; the notice on top says who wrote the answer key.
The feedback step after a written answer in a French lesson: a compare-it-yourself box marked not certified because no judge assessed the answer, the key points, a collapsed model answer, the cited source passage with its link, four buttons to rate recall and a Continue button.
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.

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

Markdown supported

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.