college-tools-mcp
Provides structured MCP tools for querying college database records, including student profiles, course details, enrollments, faculty teaching assignments, and academic statistics.
README
College Management AI Assistant (v5)
An intelligent college administrative assistant powered by Google Gemini and the Model Context Protocol (MCP). The assistant interacts with a relational SQLite database through structured FastMCP tools to answer inquiries regarding students, faculty, courses, enrollments, and academic performance.
Architecture Overview
+-------------------------------------------------------------+
| User / Client |
+-------------------------------------------------------------+
|
v
+-------------------------------------------------------------+
| Gemini LLM Assistant |
| (bot.py) |
+-------------------------------------------------------------+
|
MCP Protocol (stdio)
|
v
+-------------------------------------------------------------+
| FastMCP Server |
| (tooling.py) |
+-------------------------------------------------------------+
|
SQLite Queries
|
v
+-------------------------------------------------------------+
| College SQLite Database |
| (college.db) |
| - persons (students, faculty, staff) |
| - courses |
| - student_enrollments |
+-------------------------------------------------------------+
Features
- Synthetic Data Generation: Creates realistic college records using
Fakerincluding students, faculty, courses, and grade histories. - FastMCP Tooling: Exposes robust, schema-compliant MCP tools for querying academic records, courses, departments, and enrollment statistics.
- Interactive Multi-turn Bot: Chat interface leveraging the Google GenAI SDK (
google-genai) with automatic tool call orchestration via MCP. - Secure Configuration: Environment-based API key management with
.envsupport.
Project Structure
.
├── bot.py # Interactive Gemini chatbot integrating MCP tools via stdio
├── tooling.py # FastMCP Server exposing database querying tools
├── create_data.py # SQLite database schema initializer & synthetic data generator
├── college.db # SQLite database file (generated by create_data.py)
├── system_prompt.txt # System instruction prompt for the AI assistant
├── prompt.txt # Context and initial project design prompts
├── mcp_config.example.json # Example configuration for MCP client registration
├── requirements.txt # Python package dependencies
├── .env # Environment variables (GEMINI_API_KEY)
└── .gitignore # Git ignore file for Python, SQLite, and secrets
Database Schema
The SQLite database (college.db) includes the following relational tables:
persons: Stores students, faculty, and staff profiles (ID, name, email, phone, DOB, gender, address, role).courses: Stores course listings (course ID, code, course name, department, credits, assigned instructor).student_enrollments: Stores enrollment details (enrollment ID, student ID, course ID, date, grade, semester).
Available MCP Tools (tooling.py)
get_student_info(student_id_or_name): Retrieve student profiles by ID, name, or email.get_course_details(course_code_or_name): Get course details and instructor info.get_student_enrollments(student_id_or_name): List all courses and grades for a student.get_students_by_course(course_code_or_name): List students enrolled in a given course.list_courses_by_department(department): List all courses in an academic department.get_courses_taught_by_faculty(faculty_id_or_name): List courses taught by a faculty member.search_persons(query, role): Search persons across roles (student, faculty, staff).get_course_statistics(course_code_or_name): Summary stats (total enrolled, grade distribution).list_all_courses(): Complete directory of all college courses.execute_custom_sql_query(query): Read-only query execution for complex aggregations.
Setup & Installation
1. Prerequisites
- Python 3.10+ installed
- Google Gemini API Key (Google AI Studio)
2. Install Dependencies
pip install -r requirements.txt
3. Configure Environment Variables
Create or edit your .env file in the project root:
GEMINI_API_KEY=your_actual_gemini_api_key_here
4. Generate Synthetic Database
Initialize the database with synthetic records:
python create_data.py
Usage
Run the Interactive AI Bot
python bot.py
Type your academic or administrative questions (e.g., "Show me all courses in Computer Science" or "What grades did John Doe receive?"). Type exit or quit to end the session.
Connect as an MCP Server (e.g. IDE / Claude Desktop / Antigravity)
Reference mcp_config.example.json to register tooling.py in your MCP client configuration:
{
"mcpServers": {
"college-tools-mcp": {
"command": "python",
"args": [
"-Wignore",
"<FULL_PATH_TO>/tooling.py"
]
}
}
}
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.