rustici-mcp-server
MCP server for interacting with Rustici LRS via xAPI, enabling statement retrieval, analytics, and aggregation operations.
README
Rustici LRS MCP Server v2.0
A Model Context Protocol (MCP) server that provides powerful tools for interacting with Rustici LRS (Learning Record Store) via xAPI, with enhanced analytics and aggregation capabilities.
🚀 What's New in v2.0
Enhanced Analytics Tools
- Built-in Aggregations - Get instant insights without manual data processing
- Completion Statistics - Track course completions with daily breakdowns
- Assessment Analytics - Pass rates, score distributions, and performance metrics
- User Activity Summaries - Comprehensive learner behavior analysis
- Flexible Search - Text-based filtering with partial matching
- Timeline Analysis - Activity trends by hour, day, week, or month
- Verb Statistics - Understand learning action patterns
Features
This MCP server provides the following tools for Rustici LRS:
📊 Analytics & Insights (NEW in v2.0)
- rustici_get_statements_with_analytics - Get statements with automatic aggregations and breakdowns
- rustici_get_completion_stats - Course completion statistics with daily trends
- rustici_get_assessment_stats - Assessment performance with pass rates and score distributions
- rustici_get_user_activity - Comprehensive user activity summary
- rustici_get_verb_stats - Verb usage statistics across all statements
- rustici_search_statements - Flexible text-based search with partial matching
- rustici_get_activity_timeline - Activity trends grouped by time periods
📝 xAPI Statement Tools
- rustici_get_statements - Query xAPI statements with filters (agent, verb, activity, time range)
- rustici_post_statement - Post new xAPI statements to track learning activities
🔐 Credential Management
- rustici_get_credential - Get information about the current credential
- rustici_list_credentials - List all xAPI credentials for the tenant
🏢 Tenant Management
- rustici_get_tenant - Get information about a specific tenant
- rustici_list_tenants - List all available tenants
📚 Activity Data
- rustici_get_state - Get activity state data for learners
- rustici_get_activity_profile - Get activity/course metadata
- rustici_get_agent_profile - Get learner profile data
🏥 Health Check
- rustici_health_check - Verify Rustici LRS connection
What is Rustici LRS?
Rustici LRS is a Learning Record Store that implements the xAPI (Experience API) specification. It stores learning activity data in the form of xAPI statements, which track:
- Course completions
- Assessment scores
- Learning progress
- User interactions
- Custom learning events
Use Cases
For Learning Analytics
- Quick Insights - Get completion rates, pass rates, and engagement metrics instantly
- Trend Analysis - Identify patterns in learning behavior over time
- Performance Tracking - Monitor assessment scores and success rates
- User Segmentation - Understand different learner behaviors
For QA Testing
- Verify xAPI statement tracking in learning applications
- Test LRS integrations
- Debug xAPI implementations
For Data Analysis
- Query learning activity data for reporting
- Export data for further analysis
- Create custom dashboards
For Monitoring
- Check LRS health and connectivity
- Track system usage patterns
- Identify anomalies
Installation
See SETUP_INSTRUCTIONS.md for detailed setup instructions.
Quick Start
-
Install dependencies:
npm install -
Build the server:
npm run build -
Configure environment variables (see SETUP_INSTRUCTIONS.md)
-
Add to Cline MCP settings
Configuration
Required environment variables:
RUSTICI_CREDENTIAL_ID- Your Rustici credential IDRUSTICI_CREDENTIAL_SECRET- Your Rustici credential secretRUSTICI_BASE_URL- Rustici Engine base URLRUSTICI_TENANT_NAME- Tenant name (e.g., latam-qa, ana-qa)
Example Usage
Once configured, you can use these tools in Cline:
Analytics Examples (NEW!)
"Get completion statistics for course XYZ from last month"
"Show me assessment performance with pass rates"
"Analyze user activity for learner ABC"
"What are the most common learning actions?"
"Search for statements containing 'quiz'"
"Show me activity timeline by day for last week"
Traditional Queries
"Get recent xAPI statements for a learner"
"Check Rustici LRS health"
"Post a completion statement for a course"
"Get activity state for a specific user"
Enhanced Analytics Features
1. Statements with Analytics
Get statements plus automatic aggregations:
- Total statement count
- Unique actors, verbs, activities
- Verb breakdown
- Activity breakdown
- Time range analysis
2. Completion Statistics
Track course completions:
- Total completions
- Unique users
- Daily completion trends
- Time range filtering
3. Assessment Performance
Analyze assessment results:
- Total attempts
- Pass/fail counts
- Pass rate percentage
- Average score
- Score distribution (0-20%, 21-40%, etc.)
4. User Activity Summary
Comprehensive learner analysis:
- Total activities
- Verb breakdown
- Activities accessed
- Top 10 activities
- First and last activity timestamps
5. Verb Statistics
Understand learning actions:
- Total statements analyzed
- Unique verb count
- Verb breakdown with percentages
- Sorted by frequency
6. Flexible Search
Text-based filtering:
- Search by actor name (partial match)
- Search by verb display (e.g., "completed")
- Search by activity name (partial match)
- Combine multiple filters
7. Activity Timeline
Trend analysis:
- Group by hour, day, week, or month
- Statement counts per period
- Sorted chronologically
- Time range filtering
Common xAPI Verbs
The server recognizes standard xAPI verbs:
http://adlnet.gov/expapi/verbs/completed- Course completionhttp://adlnet.gov/expapi/verbs/passed- Assessment passedhttp://adlnet.gov/expapi/verbs/failed- Assessment failedhttp://adlnet.gov/expapi/verbs/answered- Question answeredhttp://adlnet.gov/expapi/verbs/attempted- Assessment attemptedhttp://adlnet.gov/expapi/verbs/experienced- Content experiencedhttp://adlnet.gov/expapi/verbs/launched- Course launched
Best Practices
Query Optimization
- Use specific time ranges to limit result sets
- Use analytics tools for aggregated insights
- For large datasets, consider the rustici-db-server for direct database access
- Limit statement queries to reasonable sizes (< 1000 statements)
Analytics Usage
- Use
rustici_get_statements_with_analyticsfor quick overviews - Use
rustici_get_completion_statsfor course performance tracking - Use
rustici_get_assessment_statsfor assessment analysis - Use
rustici_search_statementsfor flexible text-based queries - Use
rustici_get_activity_timelinefor trend analysis
Time Ranges
Always specify time ranges for better performance:
- ISO 8601 format:
2026-06-01T00:00:00Z - Relative: Use date calculations in your queries
Documentation
Version History
v2.0.0 (June 18, 2026)
- ✨ Added 7 new analytics tools
- 📊 Built-in aggregations and statistics
- 🔍 Flexible search capabilities
- 📈 Timeline and trend analysis
- 🎯 Assessment performance metrics
- 👥 User activity summaries
- 📉 Verb usage statistics
v1.0.0
- Initial release with basic xAPI operations
- Statement retrieval and posting
- Credential and tenant management
- Activity state and profile access
- Health check functionality
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.