Skip to content

LRS Integrations

David edited this page Jun 2, 2025 · 8 revisions

LearnMCP-xAPI uses a flexible plugin architecture to support any xAPI 1.0.3 compliant Learning Record Store (LRS). This page provides comprehensive guides for integrating with different LRS solutions, from local development setups to enterprise-ready deployments.

What is an LRS?

A Learning Record Store (LRS) is a server that stores and provides access to learning records. In the xAPI ecosystem, the LRS serves as the central repository for all learning activities, storing statements that describe what learners have done, achieved, or experienced.

Plugin Architecture

LearnMCP-xAPI's plugin system allows you to easily switch between different LRS providers by simply changing your configuration. Each plugin handles the specific requirements of its target LRS while providing a consistent interface for recording and retrieving learning activities.

Supported LRS Plugins

LearnMCP-xAPI currently supports the following LRS plugins:

LRS SQL

LRS SQL is an open-source, lightweight LRS perfect for development and testing environments.

Key Features:

  • Zero-configuration SQLite backend
  • Web-based admin interface
  • Full xAPI 1.0.3 compliance
  • Cross-platform support (Windows, Linux, macOS)
  • Perfect for development and prototyping

Plugin Configuration:

LRS_PLUGIN=lrsql
LRSQL_ENDPOINT=http://localhost:8080
LRSQL_KEY=your-api-key
LRSQL_SECRET=your-api-secret

Setup Guide: LRS SQL Setup Guide

Ralph LRS

Ralph LRS is an enterprise-grade LRS developed by France Université Numérique, designed for high-volume, production environments.

Key Features:

  • Enterprise-grade performance and scalability
  • Multiple authentication methods (Basic Auth, OIDC)
  • Docker-based deployment
  • Built for institutional and enterprise use
  • Full xAPI 1.0.3 compliance

Plugin Configuration:

LRS_PLUGIN=ralph
RALPH_ENDPOINT=http://localhost:8100

# Basic Authentication
RALPH_USERNAME=your-username
RALPH_PASSWORD=your-password

# OR OIDC Authentication
RALPH_OIDC_TOKEN_URL=http://keycloak:8080/auth/realms/ralph/protocol/openid-connect/token
RALPH_OIDC_CLIENT_ID=ralph-client
RALPH_OIDC_CLIENT_SECRET=your-client-secret

Setup Guide: Ralph LRS Setup Guide

Veracity Learning

Veracity Learning provides both cloud-hosted and self-hosted LRS solutions with advanced analytics and visualization capabilities.

Key Features:

  • Full xAPI 1.0.3 compliance (all 1,200 requirements)
  • Cloud service (lrs.io) and self-hosted options
  • Advanced analytics and visualization tools
  • Multi-tenant architecture support
  • Enterprise security and access control

Plugin Configuration:

LRS_PLUGIN=veracity
VERACITY_ENDPOINT=https://your-lrs.lrs.io
VERACITY_USERNAME=your-access-key-username
VERACITY_PASSWORD=your-access-key-password
VERACITY_LRS_NAME=mylrs  # Optional: for multi-tenant setups

Setup Guide: Veracity LRS Setup Guide

Switching Between LRS Providers

The plugin architecture makes it easy to switch between different LRS providers:

1. Update Plugin Selection

Change the LRS_PLUGIN environment variable:

# Switch from LRS SQL to Ralph LRS
LRS_PLUGIN=ralph

2. Update Configuration

Each plugin has its own configuration parameters. Update your .env file with the appropriate settings for your chosen LRS:

# For Ralph LRS
RALPH_ENDPOINT=http://localhost:8100
RALPH_USERNAME=your-username
RALPH_PASSWORD=your-password

# Remove or comment out other LRS configurations
# LRSQL_ENDPOINT=http://localhost:8080
# LRSQL_KEY=your-api-key

3. Restart LearnMCP-xAPI

Restart the MCP server to load the new plugin:

python -m learnmcp_xapi.main

Custom LRS Integration

Want to integrate with a different LRS? LearnMCP-xAPI's plugin architecture makes it easy to add support for new Learning Record Stores.

Create Your Own Plugin: Plugin Development Guide

This guide covers:

  • Plugin architecture overview
  • Creating a new plugin from template
  • Authentication methods and error handling
  • Testing and contributing your plugin

The plugin architecture ensures that LearnMCP-xAPI can grow with your needs, from simple development setups to complex enterprise deployments, while maintaining consistent functionality across all supported Learning Record Stores.

Clone this wiki locally