MasteryTrace

by rudrendupaul

Not rated
GitHub

About

MCP server wrapping the MasteryTrace CLI for skill-mastery tracking.

Details

Author
rudrendupaul
Categories
Productivity

Setup

Install MasteryTrace in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/rudrendupaul/MasteryTrace

Follow the installation instructions in the repository README, then restart your MCP client.

What Is MasteryTrace, and Why Does It Exist

MasteryTrace is an open source TypeScript CLI and library that fits Bayesian Knowledge Tracing and Item Response Theory models to a log of learner response events, then reports calibrated mastery estimates per learner and per skill. It exists because most open source AI tutoring agents are built to hold a conversation and adapt a lesson, not to measure what a learner has actually mastered, while the two psychometric models that do that job rigorously live almost entirely in Python libraries with no equivalent for a Node or TypeScript stack and no CLI a non-Python tool can shell out to. MasteryTrace fills that specific gap: point it at a JSON or CSV event log, get a mastery probability (BKT) and an ability estimate (IRT) back, in a format any script, tutoring product, or agent can parse.

Why not just use pyBKT or py-irt?If you want more BKT variants (forgetting, item-order effects) or GPU-scale IRT fitting, those are good choices, and MasteryTrace's comparison table above says so directly. MasteryTrace's Python package (pip install masterytrace-cli) covers the same simple textbook-BKT-plus-grid-search and regularized-2PL-IRT models this repo implements, for a Python-only pipeline; the TypeScript package (npm install -g masterytrace-cli) additionally covers the case where you want mastery scoring in a Node codebase with no Python runtime at all.

Does this need a database?No. State is two JSON files in a.masterytrace/directory next to where you run the CLI (events.jsonandscores.json). There's no server and no external dependency to run.

Can I plug in my own tutoring app's data?Yes, as long as you can produce a JSON array or CSV of{ learnerId, skillId, correct, timestamp }rows. There's no per-app adapter yet; the bundledgenericAdaptercovers both formats. If your data has a different shape, transform it to that shape (or callparseResponseEventson already-shaped rows) before callingrunScoring.

Is the BKT/IRT math trustworthy?Both models are unit-tested against hand-computed worked examples (BKT) and a synthetic dataset with known ground-truth parameters (IRT), in addition to the full CLI test suite. SeeHow BKT and IRT workabove for the real recovery numbers.

What happens with a single response, or no responses at all?Both models handle it without erring: BKT with one response returns a single posterior; an empty event log returns an empty report for either model rather than throwing.

What is MasteryTrace, in one sentence?It is a CLI and library, shipped as both a TypeScript/Node package and an independent Python port, that turns a JSON or CSV log of learner response events into per-learner, per-skill mastery scores using two named psychometric models (BKT, 2PL IRT) rather than a raw percent-correct; it does not hold a conversation or run a lesson itself.

What platforms and language runtimes does it support?The TypeScript CLI/library requires Node.js 18 or later (seeengines.nodeinpackage.json) and has no OS-specific code path. The Python port requires Python 3.9 through 3.13 (see the classifiers inpython/pyproject.toml) and is also declared OS-independent. Neither distribution needs a database or any other runtime dependency.

How does MasteryTrace compare to pyBKT specifically?pyBKT (CAHLR/UC Berkeley, 272 GitHub stars at last check) is the more mature BKT implementation: it has a compiled C++ fitting core and supports BKT variants MasteryTrace does not, such as forgetting and item-order effects. MasteryTrace's BKT is the single textbook four-parameter model plus an optional grid-search fit, deliberately simpler. The difference that matters for choosing between them: pyBKT is Python-only, MasteryTrace ships as a Node/TypeScript package too and exposes both models behind one CLI (masterytrace score --model bkt|irt|both) instead of a BKT-only library.

Is there an npm package?Yes,npm install -g masterytrace-cliis live on the npm registry. It ships the same four subcommands (init,record,score,report) as the Python port, built from the same TypeScript source that passes CI.

Can I use MasteryTrace in a commercial product?Yes. Both the TypeScript and Python code are MIT licensed (seeLICENSEand the matching classifier inpython/pyproject.toml), which permits commercial use, modification, and redistribution with attribution and comes with no warranty.

Issues and pull requests are welcome, for either the TypeScript codebase (repo root) or the Python codebase (python/). SeeCONTRIBUTING.mdfor the full guide. TypeScript quickstart:

npm install npm run lint npm run typecheck npm run test:coverage

The project keeps 100% statement/line/function coverage and a cleaneslint/tsc/npm audit; a change that drops any of those is unlikely to be merged as is. Python quickstart inpython/README.md.

The 1Password MCP server creates a bridge that allows MCP clients such as Codex and Kiro to manage your 1Password Environments with secure authorization prompts.

This is the 1st, easiest, and cheapest PPT, slides, presentation AI generation MCP Server in the world.

Persistent memory for any AI assistant. Zero token cost until recall. Stores memories in local SQLite, ranks by 6-factor scoring, returns results 79% smaller than JSON. Works with Claude, ChatGPT, Grok, Cursor, Windsurf, and any MCP client.

A MCP server that enables AI assistants to interact with Anki, the spaced repetition flashcard application.

Enables LLM clients to interact with macOS applications through AppleScript. Built using the @beyondbetter/bb-mcp-server library, this server provides safe, controlled execution of predefined scripts with optional support for arbitrary script execution.

An MCP server for WordPress plugin audits

Turn your AI assistant into a digital marketing hub that creates, organizes, and analyzes links and QR Codes on demand.

Connect AI clients to Cal.com scheduling through the Model Context Protocol using the hosted server at mcp.cal.com or a local instance.

Sync Calendars, Scheduling Links, AI Executive Scheduling Assistant, Unified Calendar

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.