Skip to main content
Glama
Doraitto5

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.