TutorX-MCP / README.md
Meet Patel
Relocate documentation files to docs/ directory and update README
ecc3905

A newer version of the Gradio SDK is available: 5.42.0

Upgrade
metadata
title: TutorX MCP
emoji: πŸ†
colorFrom: indigo
colorTo: yellow
sdk: gradio
sdk_version: 5.33.0
app_file: app.py
pinned: false
short_description: MCP that deliver personalized AI-powered tutoring .

TutorX-MCP Server

A comprehensive Model Context Protocol (MCP) server for educational AI tutoring as specified in the Product Requirements Document (PRD).

Overview

TutorX-MCP is an adaptive, multi-modal, and collaborative AI tutoring platform that leverages the Model Context Protocol (MCP) for tool integration and Gradio for user-friendly interfaces. It provides a range of educational features accessible via both MCP clients and a dedicated web interface.

Additional Documentation

Beyond this README, the TutorX project is accompanied by a suite of detailed documentation files, each offering deeper insights into specific aspects of the platform.

✨ New: Enhanced AI Integration & Capabilities

πŸ€– Contextualized AI Tutoring:

  • Session-based tutoring with persistent context and memory
  • Step-by-step guidance that breaks complex concepts into manageable steps
  • Alternative explanations using multiple approaches (visual, analogy, real-world)
  • Adaptive responses that adjust to student understanding levels

🎨 Advanced Automated Content Generation:

  • Interactive exercises with multiple components and adaptive features
  • Scenario-based learning with realistic contexts and decision points
  • Gamified content with game mechanics and progressive difficulty
  • Multi-modal content supporting different learning styles

[TutorX-MCP]

Version History

Current Version

  • v0.1.0 (June 2025)
    • Initial release of core MCP server with SSE transport
    • Implementation of concept graph and curriculum standards resources
    • Integration with Google Gemini Flash models (with fallback mechanism)
    • Addition of Mistral OCR for document processing
    • Core educational tools: concepts, quizzes, lessons, learning paths
    • Basic testing framework with pytest and unittest

Upcoming Release

  • v0.2.0 (Planned - July 2025)
    • Memory Bank implementation for persistent context storage
    • Enhanced multi-modal support with voice recognition
    • Improved testing coverage and CI/CD pipeline
    • User dashboard implementation
    • Role-based access control and security enhancements

Features

Core Features

  • Adaptive Learning Engine

    • Comprehensive concept graph
    • Dynamic skill assessment and tracking
    • Personalized learning paths
  • Assessment Suite

    • Automated quiz and problem generation
    • Step-by-step solution analysis
    • Plagiarism and similarity detection
  • Feedback System

    • Contextual error analysis and suggestions
    • Error pattern recognition
  • Multi-Modal Interaction

    • Text-based Q&A with error pattern recognition
    • Voice recognition with analysis
    • Handwriting recognition and digital ink processing

Advanced Features

  • Neurological Engagement Monitor

    • Attention, cognitive load, and stress detection
  • Cross-Institutional Knowledge Fusion

    • Curriculum alignment with national standards
    • Content reconciliation
  • Automated Lesson Authoring

    • AI-powered content generation

Getting Started

Prerequisites

  • Python 3.12 or higher
  • Dependencies as listed in pyproject.toml:
    • mcp[cli] >= 1.9.3
    • fastapi >= 0.109.0
    • uvicorn >= 0.27.0
    • gradio >= 4.19.0
    • numpy >= 1.24.0
    • pillow >= 10.0.0
    • google-generativeai (for Gemini integration)
    • mistralai (for OCR capabilities)

Installation

# Clone the repository
git clone https://github.com/Meetpatel006/TutorX.git
cd tutorx-mcp

# Using uv (recommended)
uv install

Required API Keys

For full functionality, you'll need to set up the following API keys:

  • Google AI API Key: For Gemini Flash model integration
  • Mistral API Key: For document OCR capabilities

These can be set as environment variables or in an .env file:

# PowerShell example
$env:GOOGLE_API_KEY="your-google-api-key"
$env:MISTRAL_API_KEY="your-mistral-api-key"

Running the Server

You can run the server in different modes:

# MCP server only
python run.py --mode mcp

# Gradio interface only
python run.py --mode gradio

# Both MCP server and Gradio interface (default)
python run.py --mode both

# Custom host and port
python run.py --mode mcp --host 0.0.0.0 --mcp-port 8000 --gradio-port 7860

By default:

MCP Tool Integration

The server exposes the following MCP tools and resources:

Tools

  • Concept Tools (concept_tools.py)

    • get_concept_tool: Retrieve detailed information about educational concepts
    • assess_skill_tool: Evaluate student's understanding of specific concepts
  • Quiz Tools (quiz_tools.py)

    • generate_quiz_tool: Create LLM-generated quizzes for specific concepts with customizable difficulty
  • Lesson Tools (lesson_tools.py)

    • generate_lesson_tool: Create complete lesson plans with objectives, activities, and assessments
  • Interaction Tools (interaction_tools.py)

    • text_interaction: Process student text queries and provide educational responses
    • check_submission_originality: Analyze student submissions for potential plagiarism
  • OCR Tools (ocr_tools.py)

    • mistral_document_ocr: Extract and process text from documents using Mistral OCR
  • Learning Path Tools (learning_path_tools.py)

    • get_learning_path: Generate personalized learning paths based on student level and target concepts
  • AI Tutoring Tools (ai_tutor_tools.py) ✨ NEW

    • start_tutoring_session: Start contextualized AI tutoring sessions with memory
    • ai_tutor_chat: Interactive chat with AI tutor providing personalized responses
    • get_step_by_step_guidance: Break down complex concepts into manageable steps
    • get_alternative_explanations: Multiple explanation approaches for different learning styles
    • update_student_understanding: Track and adapt to student understanding levels
    • end_tutoring_session: Generate comprehensive session summaries
  • Content Generation Tools (content_generation_tools.py) ✨ NEW

    • generate_interactive_exercise: Create engaging interactive exercises with multiple components
    • generate_adaptive_content_sequence: Build adaptive content that adjusts to student performance
    • generate_scenario_based_learning: Create realistic scenario-based learning experiences
    • generate_multimodal_content: Generate content for different learning modalities
    • generate_adaptive_assessment: Create assessments that adapt based on student responses
    • generate_gamified_content: Generate game-based learning content with mechanics
    • validate_generated_content: Quality-check and validate educational content
  • Memory Tools (v0.2.0)

    • read_memory_tool: Retrieve stored context from the Memory Bank
    • write_memory_tool: Store new contextual information in the Memory Bank
    • update_memory_tool: Modify existing context in the Memory Bank
    • clear_memory_tool: Remove stored context from the Memory Bank

Resources

  • concept-graph://: Knowledge concept graph with concept relationships
  • curriculum-standards://{country_code}: National curricular standards by country
  • learning-path://{student_id}: Personalized student learning paths

Project Structure

tutorx-mcp/
β”œβ”€β”€ main.py                  # MCP server entry point
β”œβ”€β”€ app.py                   # Gradio web interface
β”œβ”€β”€ run.py                   # Runner script for different modes
β”œβ”€β”€ mcp_server/              # Core server implementation
β”‚   β”œβ”€β”€ server.py            # FastAPI application
β”‚   β”œβ”€β”€ mcp_instance.py      # Shared MCP instance
β”‚   β”œβ”€β”€ model/               # AI model integrations
β”‚   β”‚   └── gemini_flash.py  # Google Gemini integration
β”‚   β”œβ”€β”€ resources/           # Educational resources
β”‚   β”‚   β”œβ”€β”€ concept_graph.py # Concept graph implementation
β”‚   β”‚   └── curriculum_standards.py # Curriculum standards
β”‚   β”œβ”€β”€ tools/               # MCP tool implementations
β”‚   β”‚   β”œβ”€β”€ concept_tools.py # Concept-related tools
β”‚   β”‚   β”œβ”€β”€ quiz_tools.py    # Quiz generation tools
β”‚   β”‚   β”œβ”€β”€ lesson_tools.py  # Lesson generation tools
β”‚   β”‚   β”œβ”€β”€ ocr_tools.py     # Document OCR tools
β”‚   β”‚   β”œβ”€β”€ interaction_tools.py # Student interaction tools
β”‚   β”‚   β”œβ”€β”€ learning_path_tools.py # Learning path tools
β”‚   β”‚   β”œβ”€β”€ ai_tutor_tools.py # ✨ Contextualized AI tutoring
β”‚   β”‚   └── content_generation_tools.py # ✨ Advanced content generation
β”‚   └── prompts/             # LLM prompt templates
β”œβ”€β”€ tests/                   # Test suite
β”‚   β”œβ”€β”€ test_mcp_server.py   # MCP server tests
β”‚   β”œβ”€β”€ test_client.py       # Client tests
β”‚   β”œβ”€β”€ test_tools_integration.py # Tool integration tests
β”‚   └── test_utils.py        # Utility function tests
β”œβ”€β”€ docs/                    # Documentation
β”‚   β”œβ”€β”€ API.md               # API documentation
β”‚   β”œβ”€β”€ mcp.md               # MCP protocol details
β”‚   β”œβ”€β”€ prd.md               # Product requirements document
β”‚   └── sdk.md               # Client SDK documentation
β”œβ”€β”€ pyproject.toml           # Project dependencies
β”œβ”€β”€ run_tests.py             # Script to run all tests
β”œβ”€β”€ ARCHITECTURE.md          # Detailed architecture documentation
β”œβ”€β”€ PROJECT_ANALYSIS.md      # Comprehensive project analysis
└── README.md                # Project documentation

Architecture

TutorX-MCP implements a modular, layered architecture designed for extensibility and maintainability:

Key Components

  1. MCP Server (mcp_server/server.py):

    • Core FastAPI application that exposes educational tools and resources
    • Registers tools with the shared MCP instance
    • Provides HTTP endpoints and SSE transport for client connections
  2. Shared MCP Instance (mcp_server/mcp_instance.py):

    • Central registration point for all MCP tools
    • Avoids circular import issues and ensures tool availability
  3. AI Model Integration (mcp_server/model/):

    • Integrates Google Gemini Flash models with automatic fallback mechanisms
    • Provides uniform interface for text generation and content structuring
  4. Tool Modules (mcp_server/tools/):

    • Modular implementation of educational features
    • Each tool is registered with the MCP instance via decorators
    • Designed for independent development and testing
  5. Resource Modules (mcp_server/resources/):

    • Manages educational data like concept graphs and curriculum standards
    • Provides data for adaptive learning and standards alignment
  6. Gradio Interface (app.py):

    • Web-based user interface
    • Communicates with the MCP server via the MCP client protocol

This separation of concerns allows:

  • MCP clients (like Claude Desktop App) to directly connect to the MCP server via SSE transport
  • The web interface to interact with the server using the MCP protocol
  • Clear boundaries between presentation, API gateway, tool implementations, and resources
  • Easy extension through the addition of new tool modules

For more detailed architecture information, see the documentation in the docs/ folder.

Testing

The project includes a comprehensive test suite:

# Install test dependencies
uv install -e ".[test]"

# Run test suite
python run_tests.py

Documentation

Contributing

We welcome contributions to the TutorX-MCP project! Please read our Contributing Guide for details on our code of conduct and the process for submitting pull requests.

License

This project is licensed under the MIT License - see the LICENSE file for details.