Skip to main content
Glama
IshaanShivalli

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 Scorecard MCP Server

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 secrets

Datenbankschema

Die SQLite-Datenbank (college.db) enthält die folgenden relationalen Tabellen:

  1. persons: Speichert Profile von Studierenden, Lehrkräften und Personal (ID, name, email, phone, DOB, gender, address, role).

  2. courses: Speichert Kursübersichten (course ID, code, course name, department, credits, assigned instructor).

  3. 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

2. Abhängigkeiten installieren

pip install -r requirements.txt

3. Umgebungsvariablen konfigurieren

Erstellen oder bearbeiten Sie Ihre .env-Datei im Projektstammverzeichnis:

GEMINI_API_KEY=your_actual_gemini_api_key_here

4. Synthetische Datenbank generieren

Initialisieren Sie die Datenbank mit synthetischen Datensätzen:

python create_data.py

Verwendung

Starten Sie den interaktiven KI-Bot

python bot.py

Geben 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"
      ]
    }
  }
}
F
license - not found
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Read-only MCP server for ClassQuill, a tutoring-business-management platform.

  • Official Microsoft MCP Server to query Microsoft Entra data using natural language

  • Academic research MCP server for paper search, citation checks, graphs, and deep research.

View all MCP Connectors

Latest Blog Posts

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/IshaanShivalli/MCP-tools_for-collegeDB'

If you have feedback or need assistance with the MCP directory API, please join our Discord server