MCP Student Assistant
by Doraitto5
README.md
# MCP Student Assistant
A beginner-friendly real-world mini project using **Model Context Protocol (MCP) + Python + MySQL**.
## What it does
The MCP server exposes database operations as tools:
- `get_student_marks`
- `get_attendance`
- `get_pending_assignments`
- `get_timetable`
A client connects to the MCP server, discovers the tools, and calls them.
## Architecture
Student -> MCP Client -> MCP Server -> MySQL -> MCP Response
## Tech Stack
- Python
- MCP Python SDK
- MySQL
- VS Code
- Git/GitHub
## 1. Create virtual environment
### Windows PowerShell
```powershell
python -m venv .venv
.venv\Scripts\Activate.ps1
```
### macOS/Linux
```bash
python3 -m venv .venv
source .venv/bin/activate
```
## 2. Install packages
```bash
pip install -r requirements.txt
```
## 3. Configure MySQL
Create the database and sample data:
```bash
mysql -u root -p < database/student.sql
```
Or open `database/student.sql` in MySQL Workbench and run it.
Copy `.env.example` to `.env` and set your MySQL password.
## 4. Run the demo client
```bash
python client/ai_client.py
```
You should see the available MCP tools and a sample attendance result.
## 5. GitHub
```bash
git init
git add .
git commit -m "Initial MCP Student Assistant project"
git branch -M main
git remote add origin YOUR_GITHUB_REPOSITORY_URL
git push -u origin main
```
## Important
Do not commit `.env`. It is already included in `.gitignore`.
## Future upgrades
- Connect an LLM to the MCP client for natural-language questions.
- Add a web UI.
- Add authentication.
- Add teacher/admin tools.
- Add assignment reminders.
This server cannot be deployed
Maintenance
ActivitySlowing
ResponsivenessNo issues