Spaces:
Sleeping
Sleeping
Meet Patel
commited on
Commit
Β·
7867e85
1
Parent(s):
8372659
Step 6: Enhanced documentation with detailed README, CODE_OF_CONDUCT, CONTRIBUTING guide, and LICENSE
Browse files- CODE_OF_CONDUCT.md +69 -0
- CONTRIBUTING.md +101 -0
- LICENSE +21 -0
- README.md +106 -18
CODE_OF_CONDUCT.md
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Contributor Covenant Code of Conduct
|
| 2 |
+
|
| 3 |
+
## Our Pledge
|
| 4 |
+
|
| 5 |
+
We as members, contributors, and leaders pledge to make participation in our
|
| 6 |
+
community a harassment-free experience for everyone, regardless of age, body
|
| 7 |
+
size, visible or invisible disability, ethnicity, sex characteristics, gender
|
| 8 |
+
identity and expression, level of experience, education, socio-economic status,
|
| 9 |
+
nationality, personal appearance, race, religion, or sexual identity
|
| 10 |
+
and orientation.
|
| 11 |
+
|
| 12 |
+
We pledge to act and interact in ways that contribute to an open, welcoming,
|
| 13 |
+
diverse, inclusive, and healthy community.
|
| 14 |
+
|
| 15 |
+
## Our Standards
|
| 16 |
+
|
| 17 |
+
Examples of behavior that contributes to a positive environment for our
|
| 18 |
+
community include:
|
| 19 |
+
|
| 20 |
+
* Demonstrating empathy and kindness toward other people
|
| 21 |
+
* Being respectful of differing opinions, viewpoints, and experiences
|
| 22 |
+
* Giving and gracefully accepting constructive feedback
|
| 23 |
+
* Accepting responsibility and apologizing to those affected by our mistakes,
|
| 24 |
+
and learning from the experience
|
| 25 |
+
* Focusing on what is best not just for us as individuals, but for the
|
| 26 |
+
overall community
|
| 27 |
+
|
| 28 |
+
Examples of unacceptable behavior include:
|
| 29 |
+
|
| 30 |
+
* The use of sexualized language or imagery, and sexual attention or
|
| 31 |
+
advances of any kind
|
| 32 |
+
* Trolling, insulting or derogatory comments, and personal or political attacks
|
| 33 |
+
* Public or private harassment
|
| 34 |
+
* Publishing others' private information, such as a physical or email
|
| 35 |
+
address, without their explicit permission
|
| 36 |
+
* Other conduct which could reasonably be considered inappropriate in a
|
| 37 |
+
professional setting
|
| 38 |
+
|
| 39 |
+
## Enforcement Responsibilities
|
| 40 |
+
|
| 41 |
+
Project maintainers are responsible for clarifying and enforcing our standards of
|
| 42 |
+
acceptable behavior and will take appropriate and fair corrective action in
|
| 43 |
+
response to any behavior that they deem inappropriate, threatening, offensive,
|
| 44 |
+
or harmful.
|
| 45 |
+
|
| 46 |
+
Project maintainers have the right and responsibility to remove, edit, or reject
|
| 47 |
+
comments, commits, code, wiki edits, issues, and other contributions that are
|
| 48 |
+
not aligned to this Code of Conduct, and will communicate reasons for moderation
|
| 49 |
+
decisions when appropriate.
|
| 50 |
+
|
| 51 |
+
## Scope
|
| 52 |
+
|
| 53 |
+
This Code of Conduct applies within all community spaces, and also applies when
|
| 54 |
+
an individual is officially representing the community in public spaces.
|
| 55 |
+
|
| 56 |
+
## Enforcement
|
| 57 |
+
|
| 58 |
+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
| 59 |
+
reported to the project team. All complaints will be reviewed and investigated
|
| 60 |
+
and will result in a response that is deemed necessary and appropriate to the
|
| 61 |
+
circumstances.
|
| 62 |
+
|
| 63 |
+
## Attribution
|
| 64 |
+
|
| 65 |
+
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
|
| 66 |
+
version 2.0, available at
|
| 67 |
+
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
|
| 68 |
+
|
| 69 |
+
[homepage]: https://www.contributor-covenant.org
|
CONTRIBUTING.md
ADDED
|
@@ -0,0 +1,101 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Contributing to TutorX-MCP
|
| 2 |
+
|
| 3 |
+
Thank you for considering contributing to TutorX-MCP! This document outlines the process and guidelines for contributing to this project.
|
| 4 |
+
|
| 5 |
+
## Code of Conduct
|
| 6 |
+
|
| 7 |
+
This project and everyone participating in it is governed by our [Code of Conduct](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code.
|
| 8 |
+
|
| 9 |
+
## How to Contribute
|
| 10 |
+
|
| 11 |
+
### Reporting Bugs
|
| 12 |
+
|
| 13 |
+
If you find a bug, please create an issue with the following information:
|
| 14 |
+
|
| 15 |
+
1. A clear, descriptive title
|
| 16 |
+
2. Steps to reproduce the issue
|
| 17 |
+
3. Expected behavior
|
| 18 |
+
4. Actual behavior
|
| 19 |
+
5. Any relevant logs or screenshots
|
| 20 |
+
6. Your environment (OS, Python version, etc.)
|
| 21 |
+
|
| 22 |
+
### Suggesting Enhancements
|
| 23 |
+
|
| 24 |
+
We welcome suggestions for enhancements! Please create an issue with:
|
| 25 |
+
|
| 26 |
+
1. A clear, descriptive title
|
| 27 |
+
2. Detailed description of the proposed enhancement
|
| 28 |
+
3. Any specific use cases or examples
|
| 29 |
+
4. Any relevant references or resources
|
| 30 |
+
|
| 31 |
+
### Pull Requests
|
| 32 |
+
|
| 33 |
+
We actively welcome pull requests:
|
| 34 |
+
|
| 35 |
+
1. Fork the repo
|
| 36 |
+
2. Create a branch from `main`
|
| 37 |
+
3. Make your changes
|
| 38 |
+
4. Ensure your code follows the project's style guide
|
| 39 |
+
5. Run tests if available
|
| 40 |
+
6. Create a pull request to `main`
|
| 41 |
+
|
| 42 |
+
## Development Setup
|
| 43 |
+
|
| 44 |
+
1. Clone the repository:
|
| 45 |
+
```bash
|
| 46 |
+
git clone https://github.com/yourusername/tutorx-mcp.git
|
| 47 |
+
cd tutorx-mcp
|
| 48 |
+
```
|
| 49 |
+
|
| 50 |
+
2. Install dependencies:
|
| 51 |
+
```bash
|
| 52 |
+
# Using uv (recommended)
|
| 53 |
+
uv install
|
| 54 |
+
|
| 55 |
+
# Or using pip
|
| 56 |
+
pip install -e .
|
| 57 |
+
```
|
| 58 |
+
|
| 59 |
+
3. Run the server:
|
| 60 |
+
```bash
|
| 61 |
+
python run.py --mode both
|
| 62 |
+
```
|
| 63 |
+
|
| 64 |
+
## Project Structure
|
| 65 |
+
|
| 66 |
+
- `main.py` - MCP server implementation
|
| 67 |
+
- `app.py` - Gradio interface
|
| 68 |
+
- `run.py` - Runner script
|
| 69 |
+
- `utils/` - Utility modules
|
| 70 |
+
- `multimodal.py` - Multi-modal processing
|
| 71 |
+
- `assessment.py` - Assessment functions
|
| 72 |
+
- `tools/` - Additional tools and utilities
|
| 73 |
+
|
| 74 |
+
## Adding New Features
|
| 75 |
+
|
| 76 |
+
When adding new features, please follow these guidelines:
|
| 77 |
+
|
| 78 |
+
1. For MCP tools and resources:
|
| 79 |
+
- Add them to `main.py`
|
| 80 |
+
- Use proper type hints and docstrings
|
| 81 |
+
- Follow the existing pattern
|
| 82 |
+
|
| 83 |
+
2. For Gradio interface components:
|
| 84 |
+
- Add them to `app.py`
|
| 85 |
+
- Match the style of existing components
|
| 86 |
+
- Ensure they interact properly with MCP tools
|
| 87 |
+
|
| 88 |
+
3. For utility functions:
|
| 89 |
+
- Add them to appropriate files in `utils/`
|
| 90 |
+
- Include proper documentation and tests
|
| 91 |
+
|
| 92 |
+
## Style Guide
|
| 93 |
+
|
| 94 |
+
- Follow PEP 8 guidelines
|
| 95 |
+
- Use meaningful variable and function names
|
| 96 |
+
- Include docstrings for all functions and classes
|
| 97 |
+
- Type hints are encouraged
|
| 98 |
+
|
| 99 |
+
## License
|
| 100 |
+
|
| 101 |
+
By contributing, you agree that your contributions will be licensed under the project's [MIT License](LICENSE).
|
LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
MIT License
|
| 2 |
+
|
| 3 |
+
Copyright (c) 2025 TutorX-MCP Contributors
|
| 4 |
+
|
| 5 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
| 6 |
+
of this software and associated documentation files (the "Software"), to deal
|
| 7 |
+
in the Software without restriction, including without limitation the rights
|
| 8 |
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
| 9 |
+
copies of the Software, and to permit persons to whom the Software is
|
| 10 |
+
furnished to do so, subject to the following conditions:
|
| 11 |
+
|
| 12 |
+
The above copyright notice and this permission notice shall be included in all
|
| 13 |
+
copies or substantial portions of the Software.
|
| 14 |
+
|
| 15 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
| 16 |
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
| 17 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
| 18 |
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
| 19 |
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
| 20 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
| 21 |
+
SOFTWARE.
|
README.md
CHANGED
|
@@ -1,24 +1,58 @@
|
|
| 1 |
# TutorX-MCP Server
|
| 2 |
|
| 3 |
-
A Model Context Protocol (MCP) server for educational AI tutoring as specified in the PRD.
|
| 4 |
|
| 5 |
## Overview
|
| 6 |
|
| 7 |
-
TutorX-MCP is an adaptive, multi-modal, and collaborative AI tutoring platform that leverages the Model Context Protocol (MCP) for tool integration and provides
|
|
|
|
|
|
|
| 8 |
|
| 9 |
## Features
|
| 10 |
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
- **
|
| 14 |
-
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 15 |
|
| 16 |
## Getting Started
|
| 17 |
|
| 18 |
### Prerequisites
|
| 19 |
|
| 20 |
- Python 3.12 or higher
|
| 21 |
-
- Dependencies as listed in pyproject.toml
|
|
|
|
|
|
|
|
|
|
|
|
|
| 22 |
|
| 23 |
### Installation
|
| 24 |
|
|
@@ -27,29 +61,83 @@ TutorX-MCP is an adaptive, multi-modal, and collaborative AI tutoring platform t
|
|
| 27 |
git clone https://github.com/yourusername/tutorx-mcp.git
|
| 28 |
cd tutorx-mcp
|
| 29 |
|
| 30 |
-
#
|
| 31 |
uv install
|
|
|
|
|
|
|
|
|
|
| 32 |
```
|
| 33 |
|
| 34 |
### Running the Server
|
| 35 |
|
|
|
|
|
|
|
| 36 |
```bash
|
| 37 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 38 |
```
|
| 39 |
|
| 40 |
-
By default, the server will run
|
| 41 |
|
| 42 |
## MCP Tool Integration
|
| 43 |
|
| 44 |
-
The server exposes MCP tools
|
| 45 |
-
|
| 46 |
-
|
| 47 |
-
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 48 |
|
| 49 |
-
|
| 50 |
-
-
|
| 51 |
-
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 52 |
|
| 53 |
## License
|
| 54 |
|
| 55 |
-
This project is licensed under the MIT License - see the LICENSE file for details.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
# TutorX-MCP Server
|
| 2 |
|
| 3 |
+
A comprehensive Model Context Protocol (MCP) server for educational AI tutoring as specified in the Product Requirements Document (PRD).
|
| 4 |
|
| 5 |
## Overview
|
| 6 |
|
| 7 |
+
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.
|
| 8 |
+
|
| 9 |
+

|
| 10 |
|
| 11 |
## Features
|
| 12 |
|
| 13 |
+
### Core Features
|
| 14 |
+
|
| 15 |
+
- **Adaptive Learning Engine**
|
| 16 |
+
- Comprehensive concept graph
|
| 17 |
+
- Dynamic skill assessment and tracking
|
| 18 |
+
- Personalized learning paths
|
| 19 |
+
|
| 20 |
+
- **Assessment Suite**
|
| 21 |
+
- Automated quiz and problem generation
|
| 22 |
+
- Step-by-step solution analysis
|
| 23 |
+
- Plagiarism and similarity detection
|
| 24 |
+
|
| 25 |
+
- **Feedback System**
|
| 26 |
+
- Contextual error analysis and suggestions
|
| 27 |
+
- Error pattern recognition
|
| 28 |
+
|
| 29 |
+
- **Multi-Modal Interaction**
|
| 30 |
+
- Text-based Q&A with error pattern recognition
|
| 31 |
+
- Voice recognition with analysis
|
| 32 |
+
- Handwriting recognition and digital ink processing
|
| 33 |
+
|
| 34 |
+
### Advanced Features
|
| 35 |
+
|
| 36 |
+
- **Neurological Engagement Monitor**
|
| 37 |
+
- Attention, cognitive load, and stress detection
|
| 38 |
+
|
| 39 |
+
- **Cross-Institutional Knowledge Fusion**
|
| 40 |
+
- Curriculum alignment with national standards
|
| 41 |
+
- Content reconciliation
|
| 42 |
+
|
| 43 |
+
- **Automated Lesson Authoring**
|
| 44 |
+
- AI-powered content generation
|
| 45 |
|
| 46 |
## Getting Started
|
| 47 |
|
| 48 |
### Prerequisites
|
| 49 |
|
| 50 |
- Python 3.12 or higher
|
| 51 |
+
- Dependencies as listed in pyproject.toml:
|
| 52 |
+
- mcp[cli] >= 1.9.3
|
| 53 |
+
- gradio >= 4.19.0
|
| 54 |
+
- numpy >= 1.24.0
|
| 55 |
+
- pillow >= 10.0.0
|
| 56 |
|
| 57 |
### Installation
|
| 58 |
|
|
|
|
| 61 |
git clone https://github.com/yourusername/tutorx-mcp.git
|
| 62 |
cd tutorx-mcp
|
| 63 |
|
| 64 |
+
# Using uv (recommended)
|
| 65 |
uv install
|
| 66 |
+
|
| 67 |
+
# Or using pip
|
| 68 |
+
pip install -e .
|
| 69 |
```
|
| 70 |
|
| 71 |
### Running the Server
|
| 72 |
|
| 73 |
+
You can run the server in different modes:
|
| 74 |
+
|
| 75 |
```bash
|
| 76 |
+
# MCP server only
|
| 77 |
+
python run.py --mode mcp
|
| 78 |
+
|
| 79 |
+
# Gradio interface only
|
| 80 |
+
python run.py --mode gradio
|
| 81 |
+
|
| 82 |
+
# Both MCP server and Gradio interface
|
| 83 |
+
python run.py --mode both
|
| 84 |
+
|
| 85 |
+
# Custom host and port
|
| 86 |
+
python run.py --mode mcp --host 0.0.0.0 --port 9000
|
| 87 |
```
|
| 88 |
|
| 89 |
+
By default, the MCP server will run at http://localhost:8000 and the Gradio interface at http://127.0.0.1:7860.
|
| 90 |
|
| 91 |
## MCP Tool Integration
|
| 92 |
|
| 93 |
+
The server exposes the following MCP tools and resources:
|
| 94 |
+
|
| 95 |
+
### Tools
|
| 96 |
+
- **Core Features**
|
| 97 |
+
- `assess_skill`: Evaluate student's skill level on specific concepts
|
| 98 |
+
- `generate_quiz`: Create quizzes for specific concepts
|
| 99 |
+
- `analyze_error_patterns`: Find common student mistakes
|
| 100 |
+
|
| 101 |
+
- **Assessment**
|
| 102 |
+
- `create_assessment`: Generate complete assessments
|
| 103 |
+
- `grade_assessment`: Score student responses
|
| 104 |
+
- `check_submission_originality`: Detect plagiarism
|
| 105 |
+
|
| 106 |
+
- **Advanced Features**
|
| 107 |
+
- `analyze_cognitive_state`: Process EEG data
|
| 108 |
+
- `align_content_to_standard`: Match content to curriculum standards
|
| 109 |
+
- `generate_lesson`: Create complete lesson plans
|
| 110 |
+
|
| 111 |
+
- **Multi-Modal**
|
| 112 |
+
- `text_interaction`: Process text queries
|
| 113 |
+
- `voice_interaction`: Handle voice input
|
| 114 |
+
- `handwriting_recognition`: Process handwritten input
|
| 115 |
|
| 116 |
+
### Resources
|
| 117 |
+
- `concept-graph://`: Knowledge concept graph
|
| 118 |
+
- `learning-path://{student_id}`: Personalized learning paths
|
| 119 |
+
- `curriculum-standards://{country_code}`: National curricular standards
|
| 120 |
+
- `student-dashboard://{student_id}`: Student performance dashboard
|
| 121 |
+
|
| 122 |
+
## Project Structure
|
| 123 |
+
|
| 124 |
+
```
|
| 125 |
+
tutorx-mcp/
|
| 126 |
+
βββ main.py # MCP server implementation
|
| 127 |
+
βββ app.py # Gradio web interface
|
| 128 |
+
βββ run.py # Runner script for different modes
|
| 129 |
+
βββ utils/ # Utility modules
|
| 130 |
+
β βββ multimodal.py # Multi-modal processing utilities
|
| 131 |
+
β βββ assessment.py # Assessment and analytics functions
|
| 132 |
+
βββ pyproject.toml # Project dependencies
|
| 133 |
+
βββ README.md # Project documentation
|
| 134 |
+
```
|
| 135 |
|
| 136 |
## License
|
| 137 |
|
| 138 |
+
This project is licensed under the MIT License - see the LICENSE file for details.
|
| 139 |
+
|
| 140 |
+
## Acknowledgments
|
| 141 |
+
|
| 142 |
+
- Model Context Protocol (MCP) - https://modelcontextprotocol.io/
|
| 143 |
+
- Gradio - https://gradio.app/
|