college-tools-mcp
College Management AI Assistant (v5)
Ein intelligenter Assistent für die Hochschulverwaltung, unterstützt von Google Gemini und dem Model Context Protocol (MCP). Der Assistent interagiert über strukturierte FastMCP-Tools mit einer relationalen SQLite-Datenbank und beantwortet Anfragen zu Studierenden, Lehrkräften, Kursen, Einschreibungen und akademischer Leistung.
Architekturübersicht
+-------------------------------------------------------------+
| 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 |
+-------------------------------------------------------------+Related MCP server: College AI Assistant
Funktionen
Synthetische Datengenerierung: Erstellt realistische Hochschuldaten mit
Faker, einschließlich Studierenden, Lehrkräften, Kursen und Notenhistorien.FastMCP-Tooling: Stellt robuste, schema-konforme MCP-Toolst Für die Abfrage von akademischen Datensätzen, Kursen, Fachabteilungen und Einschreibungsstatistiken bereit.
Interaktiver Multi-Turn-Bot: Chat-Oberfläche unter Verwendung des Google GenAI SDK (
google-genai) mit automatischer Orchestrierung von Tool-Aufrufen über MCP.Sichere Konfiguration: Umgebungsbasierte API-Schlüssel-Verwaltung mit
.env-Unterstützung.
Projektstruktur
.
├── 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 secretsDatenbankschema
Die SQLite-Datenbank (college.db) enthält die folgenden relationalen Tabellen:
persons: Speichert Profile von Studierenden, Lehrkräften und Personal (ID, name, email, phone, DOB, gender, address, role).courses: Speichert Kursübersichten (course ID, code, course name, department, credits, assigned instructor).student_enrollments: Speichert Einschreibungsdetails (Enrollment ID, student ID, course ID, date, grade, semester).
Verfügbare MCP-Tools (tooling.py)
get_student_info(student_id_or_name): Ruft Studierendenprofile per ID, Name oder E-Mail ab.get_course_details(course_code_or_name): Ruft Kursdetails und Informationen zum Dozenten ab.get_student_enrollments(student_id_or_name): Listet alle Kurse und Noten für einen Studierenden auf.get_students_by_course(course_code_or_name): Listet Studierende auf, die in einem bestimmten Kurs eingeschrieben sind.list_courses_by_department(department): Listet alle Kurse in einer akademischen Abteilung auf.get_courses_taught_by_faculty(faculty_id_or_name): Listet Kurse, die von einem Dozenten gelehrt werden.search_persons(query, role): Durchsucht Personen über verschiedene Rollen hinweg (student, faculty, staff).get_course_statistics(course_code_or_name): Zusammenfassende Statistiken (Gesamtzahl der eingeschriebenen und Notenverteilung).list_all_courses(): Vollständiges Verzeichnis aller Kursen.execute_custom_sql_query(query): Schreibgeschützte Ausführung von Abfragen für komplexe Aggregationen.
Setup & Installation
1. Voraussetzungen
Python 3.10+ installiert
Google Gemini API-Schlüssel (Google AI Studio)
2. Abhängigkeiten installieren
pip install -r requirements.txt3. Umgebungsvariablen konfigurieren
Erstellen oder bearbeiten Sie Ihre .env-Datei im Projektstammverzeichnis:
GEMINI_API_KEY=your_actual_gemini_api_key_here4. Synthetische Datenbank generieren
Initialisieren Sie die Datenbank mit synthetischen Datensätzen:
python create_data.pyVerwendung
Starten Sie den interaktiven KI-Bot
python bot.pyGeben Sie Ihre akademischen oder administrativen Fragen ein (z. B. "Zeig mir alle Kurse in Informatik" oder "Welche Noten hat John Doe erhalten?"). Geben Sie exit oder exit ein, um die Sitzung zu beenden.
Als MCP-Server verbinden (z. B. IDE / Claude Desktop / Antigravity)
Verwenden Sie mcp_config.example.json, um tooling.py in Ihrer MCP-Client-Konfiguration zu registrieren:
{
"mcpServers": {
"college-tools-mcp": {
"command": "python",
"args": [
"-Wignore",
"<FULL_PATH_TO>/tooling.py"
]
}
}
}This server cannot be deployed
Maintenance
Related MCP Connectors
Read-only MCP server for ClassQuill, a tutoring-business-management platform.
Governed data discovery, exact queries, decisions, simulations, and runtime utilities over MCP.
Read-only MCP tools for AI agent discovery, structured resources, and NIULAI information.
Public read-only MCP access to digital learning concepts, semantic relationships, and citations.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceEnables querying student information such as marks, attendance, pending assignments, and timetables from a MySQL database through MCP tools.-
- FlicenseNot gradedqualityCmaintenanceProvides MCP tools for searching student profiles, viewing marks/attendance, and finding low-attendance students. Enables AI assistants like Gemini to interact with college student data through natural language.-
- FlicenseNot gradedqualityBmaintenanceMCP server exposing a university course catalog with tools for searching courses, looking up prerequisites and instructors, and generating prerequisite graphs, plus resources and a prompt template for AI academic advisors.-
- FlicenseNot gradedqualityCmaintenanceEnables LLM agents to safely query educational administration databases through read-only MCP tools, enforcing SQL whitelisting, automatic LIMIT caps, parameterized queries, timeouts, token authentication, and audit logging.-