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/
|