Student MCP Server
Enables an AI assistant to help students by providing tools for math calculations, attendance tracking, marks analysis, reading PDF notes, searching lecture notes, and checking college regulations.
README
š AI-Powered Student Assistant (Model Context Protocol + Groq + Web App)
An interactive, AI-driven educational platform built using Model Context Protocol (MCP), Groq LLM (llama-3.3-70b-versatile), Python 3.11+, and a modern Glassmorphic Web Dashboard.
š Project Features
- Model Context Protocol (MCP): Standardized protocol connecting AI reasoning with local file tools & calculations.
- Groq LLM Power: Blazing fast inference for autonomous tool selection and response synthesis.
- 6 Built-in Educational MCP Tools:
- š§® Calculator: Evaluates math expressions, percentage weights, and GPA formulas.
- š Attendance Tracker: Analyzes student attendance records from
attendance.csv, detects shortages (<75%), and predicts required classes. - š Marks Analyzer: Computes averages, top scores, letter grades, and performance rankings from
marks.csv. - š PDF Reader: Extracts text and searches content from lecture PDF files (
notes.pdf). - š Lecture Notes Search: Keyword and concept search across course revision notes.
- š College Regulations Checker: Queries official college handbook (
rules.txt) for attendance rules, grading scales, and library policies.
- Interactive Web Interface (Frontend):
- Dark glassmorphism design with responsive tabs.
- Live MCP Protocol Visual Trace: Step-by-step pipeline view showing
User Prompt -> Groq LLM -> MCP Server -> Tool Run -> Answer. - Interactive Analytics Modules: Marks Report Card, Attendance Shortage Predictor, Searchable Rules Explorer, PDF Viewer, and MCP Tool Sandbox.
- Offline Simulation Mode: Browser fallback engine that works out-of-the-box even before adding an API key!
šļø Architecture Overview
User Query
ā
ā¼
Frontend Web Dashboard (HTML/CSS/JS)
ā
ā¼
FastAPI Server (backend/api.py)
ā
ā¼
Groq LLM (llama-3.3-70b-versatile)
ā
āāāŗ Intercepts Query & Selects Tool
ā
ā¼
MCP Client (backend/client.py)
ā
ā¼
MCP Server (backend/server.py via FastMCP)
ā
āāāŗ calculator.py (Math & GPA)
āāāŗ attendance.py (attendance.csv)
āāāŗ marks.py (marks.csv)
āāāŗ pdf_reader.py (notes.pdf)
āāāŗ notes.py (notes.txt)
āāāŗ rules.py (rules.txt)
ā
ā¼
Groq Formats Natural Language Answer -> User
š Project Directory Structure
student_mcp/
āāā backend/
ā āāā server.py # FastMCP / MCP Server tool registry
ā āāā client.py # Groq LLM tool router & MCP integrator
ā āāā api.py # FastAPI web bridge for Frontend
ā āāā calculator.py # Calculation logic
ā āāā attendance.py # Attendance CSV parser
ā āāā marks.py # Marks CSV calculator
ā āāā pdf_reader.py # PDF text extractor (PyPDF)
ā āāā notes.py # Lecture notes search
ā āāā rules.py # College handbook search
ā āāā prompts.py # System prompts & tool definitions
ā āāā requirements.txt # Dependencies list
ā āāā .env # Environment config (GROQ_API_KEY)
ā āāā data/
ā āāā attendance.csv # Attendance dataset
ā āāā marks.csv # Marks dataset
ā āāā notes.pdf # Sample academic PDF notes
ā āāā notes.txt # Text notes reference
ā āāā rules.txt # Official college regulations handbook
ā
āāā frontend/
ā āāā index.html # Interactive Student Assistant Web Dashboard
ā āāā styles.css # Dark mode, glassmorphism & micro-animations
ā āāā app.js # App logic, chat UI, MCP protocol visual trace & tool sandbox
ā
āāā server.py # Root server entrypoint
āāā client.py # Root terminal CLI client
āāā create_pdf.py # Utility to generate notes.pdf
āāā requirements.txt # Root dependencies
āāā .env # Root environment variables
āāā README.md # Complete documentation
ā” Quick Start Guide
1. Install Dependencies
Ensure Python 3.11+ is installed, then run:
pip install mcp groq pandas pypdf python-dotenv fastapi uvicorn
Or install from requirements file:
pip install -r requirements.txt
2. Configure Groq API Key
- Sign up for a free account at https://console.groq.com.
- Create an API key (e.g.
gsk_xxxxxxxxxxxxxxxx). - Open
.envand paste your key:
GROQ_API_KEY=gsk_xxxxxxxxxxxxxxxx
3. Run the Applications
Option A: Launch Interactive Web Dashboard (Recommended)
- Start the backend FastAPI server:
python backend/api.py
(Runs on http://localhost:8000)
- Open
frontend/index.htmlin your web browser!
Option B: Run via Python CLI Client
Start the terminal client directly:
python client.py
Example queries to try:
"Calculate Rahul's average marks.""Check Priya's attendance in Computer Networks.""What is the minimum attendance required and condonation rule?""Search notes for Binary Search Tree.""Calculate (88 * 0.25 + 92 * 0.30 + 95 * 0.45)."
Option C: Run MCP FastMCP Server
python server.py
š Deployment (Easy Options)
Below are minimal options to deploy and run the whole app (backend + frontend) with a single command.
- Local single-process (recommended for development)
- The backend now serves the frontend static files. Start only the backend:
# from project root
uvicorn backend.api:app --reload --host 0.0.0.0 --port 8000
# open http://localhost:8000 in your browser
- Docker (recommended for repeatable deploys)
Build and run the included Docker image:
docker build -t student-mcp .
docker run -p 8000:8000 student-mcp
- Cloud: push the Docker image to any container host (Render, Fly, Heroku Container Registry, Azure ACI) and deploy with their web UI.
Notes:
- Set
GROQ_API_KEYin environment (.env or container env) to enable Groq-powered question answering. - Use
requirements.txtto reproduce Python dependencies.
š ļø MCP Tools Reference
| Tool Name | File | Description | Example Query |
|---|---|---|---|
calculate_expression |
calculator.py |
Evaluates math formulas, percentages, GPA | Calculate (92*0.4 + 88*0.6) |
check_attendance |
attendance.py |
Reads attendance.csv, checks shortage (<75%) |
Check Rahul's attendance |
get_marks_summary |
marks.py |
Reads marks.csv, computes student averages & grades |
Calculate Rahul's average marks |
read_pdf_notes |
pdf_reader.py |
Extracts text from notes.pdf via PyPDF |
Search PDF for Dijkstra |
search_lecture_notes |
notes.py |
Topic search across course notes | Search notes for OSI model |
search_college_rules |
rules.py |
Queries rules.txt for policies |
What is the attendance condonation policy? |
šÆ Verification & Testing
Run unit checks on individual modules:
python backend/calculator.py
python backend/attendance.py
python backend/marks.py
python backend/rules.py
Enjoy building with Model Context Protocol (MCP) and Groq! š
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.