Spaces:
Running
Running
| 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. | |
| - **[CODE_OF_CONDUCT.md](docs/CODE_OF_CONDUCT.md)**: Outlines the standards for behavior within the TutorX community. | |
| - **[UI_UX_IMPROVEMENTS_SUMMARY.md](docs/UI_UX_IMPROVEMENTS_SUMMARY.md)**: Summarizes improvements made to the user interface and user experience. | |
| - **[UI_UX_ENHANCEMENTS.md](docs/UI_UX_ENHANCEMENTS.md)**: Details specific enhancements implemented for the UI/UX. | |
| - **[NEW_ADAPTIVE_LEARNING_README.md](docs/NEW_ADAPTIVE_LEARNING_README.md)**: Introduces new features and updates related to the adaptive learning system. | |
| - **[GRADIO_THEME_COLOR_FIXES.md](docs/GRADIO_THEME_COLOR_FIXES.md)**: Documents fixes and adjustments made to the Gradio theme and colors. | |
| - **[FIXES_SUMMARY.md](docs/FIXES_SUMMARY.md)**: A summary of various bug fixes and resolved issues. | |
| - **[ENHANCED_ADAPTIVE_LEARNING_GEMINI.md](docs/ENHANCED_ADAPTIVE_LEARNING_GEMINI.md)**: Explores the enhancements to the adaptive learning system through Gemini integration. | |
| - **[AI_INTEGRATION_FEATURES.md](docs/AI_INTEGRATION_FEATURES.md)**: Details the features and capabilities related to AI integration within 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 | |
| ```powershell | |
| # 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 | |
| # 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: | |
| ```powershell | |
| # 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: | |
| - The MCP server runs at http://localhost:8000 | |
| - SSE transport is available at http://localhost:8000/sse | |
| - The Gradio interface runs at http://127.0.0.1:7860 | |
| ## 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: | |
| ```bash | |
| # Install test dependencies | |
| uv install -e ".[test]" | |
| # Run test suite | |
| python run_tests.py | |
| ``` | |
| ## Documentation | |
| - [AI Integration Features](docs/AI_INTEGRATION_FEATURES.md): β¨ **NEW** - Detailed guide to contextualized AI tutoring and content generation | |
| - [MCP Protocol](docs/mcp.md): Details about the Model Context Protocol | |
| - [Product Requirements](docs/prd.md): Original requirements document | |
| - [SDK Documentation](docs/sdk.md): Client SDK usage | |
| ## Contributing | |
| We welcome contributions to the TutorX-MCP project! Please read our [Contributing Guide](CONTRIBUTING.md) 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](LICENSE) file for details. | |