TeacherAssist-MCP
Provides tools to create and retrieve student records from a PostgreSQL database, enabling AI assistants to manage student data through database operations.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@TeacherAssist-MCPadd student Alice Smith with ID 1001"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
TeacherAssist-MCP
AI-powered Teacher Assistant MCP Server built with FastMCP, FastAPI, PostgreSQL, SQLAlchemy, and Email Notifications.
This project demonstrates how to build a Model Context Protocol (MCP) server that allows AI assistants such as Claude Desktop to manage student records through MCP tools while automatically sending registration emails to students.
Features
Create students
Retrieve all students
Email notification on student registration
PostgreSQL database integration
SQLAlchemy ORM
FastAPI REST API
Claude Desktop MCP integration
MCP Inspector support
Beginner-friendly project structure
Related MCP server: Supabase MCP
Tech Stack
Python 3.11+
FastMCP
FastAPI
PostgreSQL
SQLAlchemy
Psycopg2
SMTP (Gmail)
UV Package Manager
Claude Desktop
MCP Inspector
Project Structure
TeacherAssist-MCP/
│
├── app/
│ ├── db/
│ │ └── database.py
│ │
│ ├── models/
│ │ └── student.py
│ │
│ ├── schemas/
│ │ └── student.py
│ │
│ ├── services/
│ │ ├── student_service.py
│ │ └── email_service.py
│ │
│ ├── mcp/
│ │ ├── server.py
│ │ └── tools/
│ │ └── student_tools.py
│ │
│ └── main.py
│
├── .env
├── pyproject.toml
├── uv.lock
├── README.md
└── .venv/Prerequisites
Install:
Python 3.11+
PostgreSQL
Git
UV
Verify:
python --version
git --version
psql --version
uv --versionClone Repository
git clone https://github.com/YOUR_USERNAME/TeacherAssist-MCP.git
cd TeacherAssist-MCPInstall Dependencies
Using UV:
uv syncActivate environment:
Windows
.venv\Scripts\activateLinux/macOS
source .venv/bin/activatePostgreSQL Setup
Create database:
CREATE DATABASE teacherassist;Example connection:
DATABASE_URL=postgresql://postgres:password@localhost:5432/teacherassistEmail Configuration
Create a .env file:
DATABASE_URL=postgresql://postgres:password@localhost:5432/teacherassist
EMAIL_USER=your_email@gmail.com
EMAIL_PASSWORD=your_gmail_app_passwordGmail Setup
Enable 2-Step Verification
Open Google Account Security
Generate App Password
Use the generated password as
EMAIL_PASSWORD
Do NOT use your Gmail login password.
Run FastAPI Server
uv run uvicorn app.main:app --reloadOpen:
http://127.0.0.1:8000/docsSwagger UI will be available for testing APIs.
Run MCP Server
uv run python -m app.mcp.serverExpected output:
Starting MCP server 'TeacherAssist MCP'
transport 'stdio'Test Using MCP Inspector
Run:
npx @modelcontextprotocol/inspector uv run python -m app.mcp.serverOpen the generated URL.
Available tools:
create_student
get_students
Claude Desktop Configuration
Open Claude Desktop MCP configuration file and add:
{
"mcpServers": {
"Teacher-Assistance": {
"command": "D:\\Projects\\TeacherAssist-MCP\\.venv\\Scripts\\python.exe",
"args": [
"-m",
"app.mcp.server"
],
"cwd": "D:\\Projects\\TeacherAssist-MCP"
}
}
}Replace the paths with your own project location.
Restart Claude Desktop.
API Examples
Create Student
POST /students
{
"student_id": 101,
"name": "Monirul Islam",
"email": "student@example.com"
}Response:
{
"student_id": 101,
"name": "Monirul Islam",
"email": "student@example.com"
}A confirmation email will automatically be sent.
Get Students
GET /students
Response:
[
{
"student_id": 101,
"name": "Monirul Islam",
"email": "student@example.com"
}
]Example Claude Desktop Prompts
Create a student with ID 1001, name Monirul Islam, email monirul@gmail.comShow all studentsClaude will invoke MCP tools automatically.
Common Issues
ModuleNotFoundError: app
Run from project root:
uv run python -m app.mcp.serverPostgreSQL Connection Error
Verify:
PostgreSQL service is running
Database exists
Credentials are correct
DATABASE_URL is correct
Claude Desktop Cannot Connect
Verify:
Correct Python executable path
Correct cwd path
MCP server runs manually
Claude Desktop restarted after config change
Gmail Authentication Failed
Use a Google App Password.
Do not use your normal Gmail password.
Duplicate Student ID
Student IDs must be unique.
Use a new ID when creating students.
Future Enhancements
Update Student
Delete Student
Attendance Management
Grade Calculation
GPA Calculation
Student Reports
AI-powered Analytics
Authentication & Authorization
Multi-user Support
License
MIT License
Author
Monirul Islam
TeacherAssist-MCP demonstrates how AI assistants can interact with PostgreSQL databases through FastMCP and the Model Context Protocol (MCP), while integrating FastAPI APIs and automated email notifications.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/monirul8888/TeacherAssist-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server