Prototipo · Versión preliminar: todos los servidores del registro oficial, sincronizados cada 30 minutos. Inicia sesión con Google para escribir reseñas.Prototipo · se actualiza cada 30 min
PopNx MCPServidores MCP para quienes usan IA · en palabras sencillas

Masterytrace

de RudrenduPaulversión 0.1.4i★ 0iSe ejecuta en tu computadora
Nombre en el registroio.github.RudrenduPaul/masterytrace

Cómo instalar

What it does

Wraps the MasteryTrace CLI as a single generic MCP tool for skill-mastery tracking.

  • Connects Se ejecuta en tu computadora
  • Account or key No key needed
  • Category Herramientas para desarrolladores

Instalación

Elige la app de IA que usas y copia la configuración.

Pasó 3/3 revisiones · Funciona en tu computadora · ✓ Comandos revisados el 13 nov 2026

Primero: ¿qué IA usas?

Elige tu app y los pasos aparecen abajo.

Funciona con Claude, pero hay que preparar algo antes

Instala Python (uv) en tu computadora primero (una sola vez) · Solo en la app de Claude para computadora (Windows o Mac), no en la web ni en el móvil

Que la IA lo instale

Copia este mensaje en un chat de Claude. La IA revisa tu equipo, te dice qué archivo va a cambiar y espera tu visto bueno cada vez.

Instala el MCP server Masterytrace para Claude en este equipo, en este orden: 1) Comprueba uv con uv --version. Si falta, dime que lo instale desde https://docs.astral.sh/uv/getting-started/installation/; no lo instales tú. 2) Usa solo esta configuración (ya revisada por PopNx MCP): { "mcpServers": { "masterytrace": { "command": "uvx", "args": [ "masterytrace-cli", "masterytrace-mcp" ] } } } 3) Dime la ruta completa del archivo que vas a cambiar o el comando que vas a ejecutar y espera mi visto bueno. 4) No hace falta clave. 5) Haz lo acordado y comprueba que las herramientas de Masterytrace aparecen de verdad.

Este mensaje no lleva tu clave. Si hace falta una, la IA te pedirá que la pegues tú en el archivo o en el campo de la app.

  1. Instala uv (si no lo tienes)

    ¿Ya está instalado? Compruébalo primero · Abre la Terminal, escribe este comando y pulsa Enter

    uv --version
    • Aparece un número de versión, p. ej. uv … = ya está instalado, sáltate este paso
    • Aparece "command not found" (en Windows, "is not recognized") = aún no está instalado, o acabas de instalarlo y debes cerrar y volver a abrir la Terminal
    Cómo abrir la Terminal

    Mac: pulsa ⌘ + Espacio, escribe Terminal y pulsa Enter

    Windows: abre Inicio, escribe Windows PowerShell y elige Abrir

    Si no está instalado: uv no tiene instalador de clics. Copia el comando de una línea para tu sistema (macOS o Windows) desde la página oficial de uv y pégalo en la Terminal · no hace falta instalar Python aparte; uv lo descarga cuando lo necesita

    Abrir la página de descarga de uv ↗

    Al terminar, cierra la Terminal, ábrela de nuevo y ejecuta el mismo comando. Debe aparecer un número de versión: uv --version

    Se instala una vez y sirve para todo lo que usa uv

  2. Abre el archivo de configuración de la app de Claude de escritorio

    SettingsDeveloperEdit Config

  3. Pega esta configuración y guarda el archivo

    {
      "mcpServers": {
        "masterytrace": {
          "command": "uvx",
          "args": [
            "masterytrace-cli",
            "masterytrace-mcp"
          ]
        }
      }
    }
  4. Cierra Claude y vuelve a abrirlo

  5. Pruébalo

    Usa Masterytrace y dime qué puedes hacer por mí; luego muéstrame una cosa

    ✓ Si Claude dice que está usando Masterytrace o muestra una herramienta de Masterytrace en la respuesta, ya está conectado

Nombres de menú comprobados con la ayuda de Anthropic el 11 nov 2026 · tu pantalla puede variar un poco según la versión

ChatGPT todavía no puede conectar Masterytrace

Masterytrace se instala en tu computadora, pero ChatGPT solo conecta servidores que funcionan en la web

Lo que puedes hacer en su lugar

A · Usa una app que pueda conectar Masterytrace

  • Instala Python (uv) en tu computadora primero (una sola vez) · Solo en la app de Claude para computadora (Windows o Mac), no en la web ni en el móvil
  • Instala Python (uv) en tu computadora primero (una sola vez)
  • Instala Python (uv) en tu computadora primero (una sola vez)
  • Instala Python (uv) en tu computadora primero (una sola vez)

B · Otros en Herramientas para desarrolladores que funcionan con ChatGPT

Elegidos entre los más usados de la misma categoría, solo los que se conectan con una dirección y sin clave

Funciona con Claude Code, pero hay que preparar algo antes

Instala Python (uv) en tu computadora primero (una sola vez)

Que la IA lo instale

Copia este mensaje en un chat de Claude Code. La IA revisa tu equipo, te dice qué archivo va a cambiar y espera tu visto bueno cada vez.

Instala el MCP server Masterytrace para Claude Code en este equipo, en este orden: 1) Comprueba uv con uv --version. Si falta, dime que lo instale desde https://docs.astral.sh/uv/getting-started/installation/; no lo instales tú. 2) Usa solo esta configuración (ya revisada por PopNx MCP): claude mcp add --scope user masterytrace -- uvx masterytrace-cli masterytrace-mcp 3) Dime la ruta completa del archivo que vas a cambiar o el comando que vas a ejecutar y espera mi visto bueno. 4) No hace falta clave. 5) Haz lo acordado y comprueba que las herramientas de Masterytrace aparecen de verdad.

Este mensaje no lleva tu clave. Si hace falta una, la IA te pedirá que la pegues tú en el archivo o en el campo de la app.

  1. Instala uv (si no lo tienes)

    ¿Ya está instalado? Compruébalo primero · Abre la Terminal, escribe este comando y pulsa Enter

    uv --version
    • Aparece un número de versión, p. ej. uv … = ya está instalado, sáltate este paso
    • Aparece "command not found" (en Windows, "is not recognized") = aún no está instalado, o acabas de instalarlo y debes cerrar y volver a abrir la Terminal
    Cómo abrir la Terminal

    Mac: pulsa ⌘ + Espacio, escribe Terminal y pulsa Enter

    Windows: abre Inicio, escribe Windows PowerShell y elige Abrir

    Si no está instalado: uv no tiene instalador de clics. Copia el comando de una línea para tu sistema (macOS o Windows) desde la página oficial de uv y pégalo en la Terminal · no hace falta instalar Python aparte; uv lo descarga cuando lo necesita

    Abrir la página de descarga de uv ↗

    Al terminar, cierra la Terminal, ábrela de nuevo y ejecuta el mismo comando. Debe aparecer un número de versión: uv --version

    Se instala una vez y sirve para todo lo que usa uv

  2. Abre la Terminal

    Mac: pulsa Command+Espacio y escribe Terminal · Windows: abre PowerShell

  3. Pega este comando y pulsa Enter

    claude mcp add --scope user masterytrace -- uvx masterytrace-cli masterytrace-mcp
  4. Escribe /mcp en Claude Code

    Deberías ver Masterytrace en la lista como conectado

  5. Pruébalo

    Usa Masterytrace y dime qué puedes hacer por mí; luego muéstrame una cosa

    ✓ Si Claude Code dice que está usando Masterytrace o muestra una herramienta de Masterytrace en la respuesta, ya está conectado

Nombres de menú comprobados con la ayuda de Anthropic el 11 nov 2026 · tu pantalla puede variar un poco según la versión

Funciona con Cursor, pero hay que preparar algo antes

Instala Python (uv) en tu computadora primero (una sola vez)

Que la IA lo instale

Copia este mensaje en un chat de Cursor. La IA revisa tu equipo, te dice qué archivo va a cambiar y espera tu visto bueno cada vez.

Instala el MCP server Masterytrace para Cursor en este equipo, en este orden: 1) Comprueba uv con uv --version. Si falta, dime que lo instale desde https://docs.astral.sh/uv/getting-started/installation/; no lo instales tú. 2) Usa solo esta configuración (ya revisada por PopNx MCP): { "mcpServers": { "masterytrace": { "command": "uvx", "args": [ "masterytrace-cli", "masterytrace-mcp" ] } } } 3) Dime la ruta completa del archivo que vas a cambiar o el comando que vas a ejecutar y espera mi visto bueno. 4) No hace falta clave. 5) Haz lo acordado y comprueba que las herramientas de Masterytrace aparecen de verdad.

Este mensaje no lleva tu clave. Si hace falta una, la IA te pedirá que la pegues tú en el archivo o en el campo de la app.

  1. Instala uv (si no lo tienes)

    ¿Ya está instalado? Compruébalo primero · Abre la Terminal, escribe este comando y pulsa Enter

    uv --version
    • Aparece un número de versión, p. ej. uv … = ya está instalado, sáltate este paso
    • Aparece "command not found" (en Windows, "is not recognized") = aún no está instalado, o acabas de instalarlo y debes cerrar y volver a abrir la Terminal
    Cómo abrir la Terminal

    Mac: pulsa ⌘ + Espacio, escribe Terminal y pulsa Enter

    Windows: abre Inicio, escribe Windows PowerShell y elige Abrir

    Si no está instalado: uv no tiene instalador de clics. Copia el comando de una línea para tu sistema (macOS o Windows) desde la página oficial de uv y pégalo en la Terminal · no hace falta instalar Python aparte; uv lo descarga cuando lo necesita

    Abrir la página de descarga de uv ↗

    Al terminar, cierra la Terminal, ábrela de nuevo y ejecuta el mismo comando. Debe aparecer un número de versión: uv --version

    Se instala una vez y sirve para todo lo que usa uv

  2. Pulsa este botón para abrir Cursor

    Abrir en Cursor

    Cursor te pedirá confirmar; pulsa Install

  3. Abre el chat de IA de Cursor en modo Agent

  4. Pruébalo

    Usa Masterytrace y dime qué puedes hacer por mí; luego muéstrame una cosa

    ✓ Si Cursor dice que está usando Masterytrace o muestra una herramienta de Masterytrace en la respuesta, ya está conectado

Nombres de menú comprobados con la ayuda de Cursor el 11 nov 2026 · tu pantalla puede variar un poco según la versión

Funciona con VS Code, pero hay que preparar algo antes

Instala Python (uv) en tu computadora primero (una sola vez)

Que la IA lo instale

Copia este mensaje en un chat de VS Code. La IA revisa tu equipo, te dice qué archivo va a cambiar y espera tu visto bueno cada vez.

Instala el MCP server Masterytrace para VS Code en este equipo, en este orden: 1) Comprueba uv con uv --version. Si falta, dime que lo instale desde https://docs.astral.sh/uv/getting-started/installation/; no lo instales tú. 2) Usa solo esta configuración (ya revisada por PopNx MCP): { "servers": { "masterytrace": { "type": "stdio", "command": "uvx", "args": [ "masterytrace-cli", "masterytrace-mcp" ] } } } 3) Dime la ruta completa del archivo que vas a cambiar o el comando que vas a ejecutar y espera mi visto bueno. 4) No hace falta clave. 5) Haz lo acordado y comprueba que las herramientas de Masterytrace aparecen de verdad.

Este mensaje no lleva tu clave. Si hace falta una, la IA te pedirá que la pegues tú en el archivo o en el campo de la app.

  1. Instala uv (si no lo tienes)

    ¿Ya está instalado? Compruébalo primero · Abre la Terminal, escribe este comando y pulsa Enter

    uv --version
    • Aparece un número de versión, p. ej. uv … = ya está instalado, sáltate este paso
    • Aparece "command not found" (en Windows, "is not recognized") = aún no está instalado, o acabas de instalarlo y debes cerrar y volver a abrir la Terminal
    Cómo abrir la Terminal

    Mac: pulsa ⌘ + Espacio, escribe Terminal y pulsa Enter

    Windows: abre Inicio, escribe Windows PowerShell y elige Abrir

    Si no está instalado: uv no tiene instalador de clics. Copia el comando de una línea para tu sistema (macOS o Windows) desde la página oficial de uv y pégalo en la Terminal · no hace falta instalar Python aparte; uv lo descarga cuando lo necesita

    Abrir la página de descarga de uv ↗

    Al terminar, cierra la Terminal, ábrela de nuevo y ejecuta el mismo comando. Debe aparecer un número de versión: uv --version

    Se instala una vez y sirve para todo lo que usa uv

  2. Pulsa este botón para abrir VS Code

    Abrir en VS Code

    VS Code te pedirá confirmar; pulsa Install

  3. Abre el chat de IA de VS Code en modo Agent

  4. Pruébalo

    Usa Masterytrace y dime qué puedes hacer por mí; luego muéstrame una cosa

    ✓ Si VS Code dice que está usando Masterytrace o muestra una herramienta de Masterytrace en la respuesta, ya está conectado

Nombres de menú comprobados con la ayuda de VS Code el 11 nov 2026 · tu pantalla puede variar un poco según la versión

Otras apps que usan MCP, como Windsurf, Zed o Gemini CLI, añaden servidores de forma distinta. Míralo en la lista de apps

Ver todas las apps que usan MCP →

La configuración JSON está en “Para desarrolladores”, abajo

¿Te atascaste? Pregunta a quien usa Masterytrace💬 Conversación →
Para desarrolladores: comandos de Terminal y configuración JSON

Instalado en tu computadora

Claude Code

claude mcp add --scope user masterytrace -- uvx masterytrace-cli masterytrace-mcp

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "masterytrace": {
      "command": "uvx",
      "args": [
        "masterytrace-cli",
        "masterytrace-mcp"
      ]
    }
  }
}

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "masterytrace": {
      "command": "uvx",
      "args": [
        "masterytrace-cli",
        "masterytrace-mcp"
      ]
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "masterytrace": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "masterytrace-cli",
        "masterytrace-mcp"
      ]
    }
  }
}

Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.

De un vistazo

Descargas por semanai
23/sem
Conexión
Se ejecuta en tu computadora
Última versióni
0.1.4
Publicado en el registroi
11 ago 2026
Último cambio de códigoi
4 nov 2026
Creador
RudrenduPaul
Paquetes
pypi: masterytrace-cli
Estado en el registro
Activo

Qué apps pueden usarlo

Según cómo se conecta este servidor y la documentación de cada app, comprobado el 10 nov 2026.

Se ejecutan en tu computadora en

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

Todas las apps, con ventajas y desventajas →

Qué puede hacer

Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.

Revisiones básicasi

Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 16 nov 2026

  • ✓ Superada

    El creador coincide con el repo

    El nombre en el registro se verificó con la cuenta de GitHub RudrenduPaul, dueña del repo

  • ✓ Superada

    Sigue en mantenimiento

    Último cambio de código: hace 12 días

  • ✓ Superada

    Tiene licencia

    Usa MIT

  • – No aplica

    El endpoint responde

    Este se ejecuta en tu computadora; no hay endpoint en internet

  • – No aplica

    Inicio de sesión con OAuth

    Se ejecuta en tu computadora y usa ajustes locales en su lugar

  • … Aún sin revisar

    Sin instrucciones ocultas en las descripciones de herramientas

    Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet

Vulnerabilidades publicadas (OSV.dev)

Sin entradas en OSV.dev para masterytrace-cli@0.1.4

Solo revisa esta versión del paquete, no todas sus dependencias · revisado 15 nov 2026

Qué revisamos → · JSON

Creadores: pedir otra revisión o avisar de un dato erróneo

Conversación

Pregunta, comparte un consejo o avisa de que no funciona. Ordenado por lo que la gente marcó como útil.

Aún no hay publicaciones. Sé la primera persona en preguntar o compartir.

Lo publicado aquí lo escriben usuarios, no el equipo de PopNx.

Inicia sesión para publicar

Reseñas de usuarios

Aún no hay reseñas

Inicia sesión para escribir una reseña

Comparado con otros en Herramientas para desarrolladoresi

  • Más estrellas que el 0% de los otros 5926 servidores de esta categoría
  • Publicado en el registro más recientemente que el 26% de los otros 5926 servidores de esta categoría
  • Revisiones básicas iguales o mejores que el 100% de los otros 5926 servidores de esta categoría

Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.

Preguntas frecuentes

¿Es seguro Masterytrace?

Superó 3 de 3 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.

¿Qué claves o códigos necesita?

El registro no indica ninguna clave obligatoria, aunque algunos servidores te piden iniciar sesión la primera vez que los usas.

¿Se ejecuta en mi computadora o en la nube?

Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).

¿Sigue en mantenimiento?

El repo de GitHub cambió por última vez hace 12 días, y la última versión (0.1.4) llegó al registro hace 3 meses.

¿Qué apps pueden usarlo?

Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Python (uv) en tu computadora.

¿Qué puedo usar en su lugar?

En la misma categoría: GitDiagram, Appllama, Cloudflare MCP, Omnara, Repowise

Alternativas parecidas

Misma categoría, otros creadores, comandos ya revisados. Primero los oficiales, luego por estrellas.

Cómo leer una tarjeta:↓ Descargas por semanai★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi

GitDiagram

Architecture diagrams, explanations and Mermaid source for public GitHub repositories.

de ahmedkhaleel2004Muy usado★ 18,9 milActualizado hace 2 meses

Se ejecuta en la nube✓ del servicio · gitdiagram.comProbado por el equipo de PopNx

Appllama

Study screens, flows and paywalls from top-earning iOS apps, then build from what wins.

de AppllamaMuy usado★ 5,2 milActualizado hace 3 meses

Se ejecuta en la nube✓ del servicio · appllama.io

Cloudflare MCP

Cloudflare MCP servers

de cloudflareMuy usado★ 4,5 milActualizado hace 14 meses

Se ejecuta en la nube✓ del servicio · mcp.cloudflare.comProbado por el equipo de PopNx

Omnara

Deploy durable AI agents with Omnara, an open-source managed-agent platform.

de omnara-aiMuy usado★ 3,4 milActualizado hace 2 meses

Se ejecuta en la nube✓ del servicio · omnara.com

Repowise

Codebase intelligence for AI coding agents: graph, git history, docs, decisions, code health.

de repowise-devMuy usado↓ 6,5 mil/sem★ 8,1 mil Estrellas de todo el repositorioActualizado hace 3 días

Computadora o nube✓ del servicio · repowise.dev
  • GitDiagram — Funciona en la nube, sin instalar nada · Sin clave
  • Appllama — Funciona en la nube, sin instalar nada · Sin clave
  • Cloudflare MCP — Funciona en la nube, sin instalar nada · Sin clave · En el directorio de Claude
  • Omnara — Funciona en la nube, sin instalar nada · Sin clave
  • Repowise — En la nube o instalado en tu equipo · Sin clave

README del creador

Abrir el README

Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.

MasteryTrace

Install

MasteryTrace ships as two independent, equally first-class packages that implement the same two models (BKT, 2PL IRT) and the same CLI contract.

npm (TypeScript CLI + library):

npm install -g masterytrace-cli

Requires Node.js 18 or later.

pip (Python CLI + library): a full, independent Python port of this repo's TypeScript source lives in python/ -- same two models, same CLI contract, its own 75-test pytest suite, built and verified end to end from a real wheel install.

pip install masterytrace-cli

This installs the same four subcommands (init, record, score, report) as a masterytrace console script, plus an importable masterytrace library, a genuine, independent port of this repo's TypeScript source, not a wrapper around the Node binary. See python/README.md for Python-specific usage.

[!NOTE]

The npm and pip distributions return equivalent data but with different JSON key casing (camelCase from the TypeScript CLI, snake_case from the Python CLI). Account for this if you parse output from both in the same pipeline.

Table of Contents

  • Features
  • Quickstart
  • CLI command reference
  • Library API reference
  • How BKT and IRT work
  • Benchmark
  • Comparison
  • FAQ
  • Contributing
  • License

Features

  • Two named psychometric models, not a black-box score. Bayesian Knowledge Tracing outputs a posterior mastery probability per learner per skill; 2-parameter logistic IRT outputs a continuous ability estimate (theta) per learner and item difficulty/discrimination per skill. Run either or both with --model bkt|irt|both.
  • Two independent, numerically matching distributions. The npm package (masterytrace-cli, TypeScript) and the PyPI package (masterytrace-cli, Python) are a real line-for-line port of each other, not a Python wrapper around the Node binary; this audit ran the same 58-event sample through both and got identical mastery scores.
  • Agent-parseable by default. Every command accepts a global --json flag, report also takes --format markdown, and there's a real three-value exit code contract (0 success, 1 usage error, 2 bad event data) instead of a single generic failure code.
  • 162 tests, 100% statement/line/function coverage. 87 TypeScript tests plus 75 Python tests, including a synthetic-data IRT recovery check that fits 4,000 responses with known ground-truth parameters and lands within 0.2 of the true theta, item difficulty, and item discrimination.
  • No server, no database. State is two JSON files in a .masterytrace/ directory next to where you run the CLI. Scoring 100,000 events takes under a second on a single core.

Quickstart

masterytrace init

masterytrace record events.json masterytrace score masterytrace report

init scaffolds a sample events.json (3 learners, 3 skills, several responses each) and a default masterytrace.config.json in the current directory. Real output from that flow:

$ masterytrace init

Created: events.json, masterytrace.config.json Next: run 'masterytrace record events.json' to load it, then 'masterytrace score'.

$ masterytrace record events.json Stored 58 event(s) to /path/to/.masterytrace/events.json (record replaces any previously stored event log; see --help for details.)

$ masterytrace score Scored 58 event(s) with model(s): both Wrote /path/to/.masterytrace/scores.json

$ masterytrace report learner skill model metric value responses


learner-ada fractions bkt posterior_mastery_probability 0.9994 6 learner-ada fractions irt ability_theta 0.7349 6 learner-ada linear-equations bkt posterior_mastery_probability 0.9746 7 learner-brook fractions bkt posterior_mastery_probability 0.0612 6 learner-cyrus reading-comprehension bkt posterior_mastery_probability 0.9947 7 ...

[!WARNING]

masterytrace record always replaces the entire previously stored event log; there is no append mode. If you need to add new responses without losing existing ones, merge them into one file and re-run record with the full, combined log.

report also takes --format markdown or --format json, and every command accepts a global --json flag for machine-readable output on stdout, with a real exit code contract (0 success, 1 general/usage error, 2 bad event data) so a script or agent invoking this CLI can branch on the result without parsing text.

Your own event log is a JSON array of { learnerId, skillId, correct, timestamp } objects, or a CSV with header learner_id,skill_id,correct,timestamp. timestamp must be ISO 8601; correct is a boolean (JSON) or true/false/1/0 (CSV), and any other value in a CSV correct cell is rejected as a validation error rather than silently treated as false. Event log files over 100 MB are rejected up front with a clear error; event logs are small structured records and have no legitimate reason to approach that size.

CLI command reference

CommandArgumentsOptionsDoes
masterytrace init--forceScaffolds a sample events.json and masterytrace.config.json in the current directory. Skips files that already exist unless --force is passed.
masterytrace record : JSON or CSV event logValidates an event log and stores it to .masterytrace/events.json. Always replaces any previously stored log.
masterytrace score--model (default both)Fits and scores the stored event log, writing the result to .masterytrace/scores.json.
masterytrace report--format (default table)Reads .masterytrace/scores.json and prints a per-learner, per-skill mastery table.

Global option: --json forces machine-readable JSON on stdout for any command, overriding --format on report.

Exit codes: 0 success, 1 general or usage error (bad flag, missing file), 2 validation error (the event log itself is malformed).

MCP Server

MasteryTrace ships a Model Context Protocol (MCP) server, so an agent (Claude Desktop, Claude Code, or any other MCP client) can invoke the CLI directly instead of shelling out itself.

Install the Python package with the mcp extra:

pip install "masterytrace-cli[mcp]"

Then point an MCP client at the masterytrace-mcp console script. Claude Desktop config example (claude_desktop_config.json):

{

"mcpServers": { "masterytrace": { "command": "masterytrace-mcp" } } }

The server exposes a single tool, run(args: list[str]) -> dict, which shells out to the installed masterytrace CLI with the given argument list and returns its parsed output -- any subcommand or flag the CLI supports is reachable through it. Example call: run(["score", "--model", "bkt", "--json"]) fits a BKT model against the stored event log and returns the parsed JSON mastery report.

Library API reference

Everything below is exported from masterytrace-cli's package entry point (src/index.ts, re-exporting src/core/* and src/models/*):

import {

// Event schema and validation ResponseEventSchema, parseResponseEvents, EventValidationError, type ResponseEvent,

// Shared model types type ScoringModel, type FittedModel, type MasteryReport, type MasteryLearnerEntry, type MasterySkillEntry,

// Engine: runs one or both models runScoring, type ModelSelector, type EngineConfig, type EngineResult,

// BKT BktModel, BKT_DEFAULT_PARAMS, runForwardRecursion, fitSkillParamsByGridSearch, type BktParams, type BktConfig, type BktFittedModel,

// IRT IrtModel, probabilityCorrect, type IrtItemParams, type IrtLearnerResult, type IrtConfig, type IrtFittedModel,

// Generic JSON/CSV event log adapter genericAdapter, parseCsv, type EventAdapter, } from 'masterytrace-cli';

A minimal library usage example:

import { runScoring, parseResponseEvents } from 'masterytrace-cli';

const events = parseResponseEvents([ { learnerId: 'l1', skillId: 'fractions', correct: true, timestamp: '2026-01-01T00:00:00Z' }, { learnerId: 'l1', skillId: 'fractions', correct: false, timestamp: '2026-01-02T00:00:00Z' }, ]);

const { reports } = runScoring(events, 'both'); // reports[0].model === 'bkt', reports[1].model === 'irt' // each learner's report.learners[i].skills[j].value is the mastery estimate

BktModel and IrtModel both implement the same ScoringModel interface (fit(events) then score(fittedModel)), so the engine, and your own code, can treat them interchangeably.

How BKT and IRT work

MasteryTrace implements two independent psychometric models. They answer different questions and produce different kinds of numbers, so masterytrace score --model both runs them side by side rather than picking one.

Bayesian Knowledge Tracing (BKT)

BKT models one learner's mastery of one skill as a hidden binary state (knows it / does not know it yet) and updates a probability of "knows it" after every response, using four parameters:

  • pInit: probability the learner already knows the skill before any evidence.
  • pTransit: probability of learning the skill between one attempt and the next.
  • pSlip: probability of an incorrect answer despite knowing the skill.
  • pGuess: probability of a correct answer despite not knowing the skill.

For each response, the forward recursion first updates the belief given the observed outcome (Bayes' rule), then advances it for possible learning before the next attempt:

after correct:   P(know | obs) = P(know) * (1 - pSlip) / [P(know) * (1 - pSlip) + (1 - P(know)) * pGuess]

after incorrect: P(know | obs) = P(know) * pSlip / [P(know) * pSlip + (1 - P(know)) * (1 - pGuess)] P(know)_next = P(know | obs) + (1 - P(know | obs)) * pTransit

MasteryTrace runs this recursion per learner per skill, in chronological order, and reports the final posterior as that learner's mastery probability for that skill. If you set "bkt": { "fit": true } in masterytrace.config.json, each skill's four parameters are fit from your own data by a coarse grid search (7 x 7 x 5 x 5 candidate combinations) that minimizes squared error between predicted and observed correctness, instead of using the textbook defaults (pInit=0.4, pTransit=0.3, pSlip=0.1, pGuess=0.2).

Item Response Theory (2PL IRT)

IRT models one continuous learner ability (`theta

Solo se muestra el principio; lee el resto en el repo