Skip to main content
Glama
IshaanShivalli

college-tools-mcp

College Management AI Assistant (v5)

Google Gemini と Model Context Protocol (MCP) を活用したインテリジェントなカレッジ管理アシスタントです。このアシスタントは、構造化された FastMCP ツールを介してリレーショナル SQLite データベースとやり取りし、学生、教員、コース、履修登録、学業成績に関する問い合わせに回答します。


アーキテクチャ概要

+-------------------------------------------------------------+
|                      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

機能

  • 合成データ生成: Faker を使用して、学生、教員、コース、成績履歴を含む現実的な大学データを生成します。

  • FastMCP ツール: 学籍記録、コース、学部、履修登録統計を照会するための、堅牢でスキーマ準拠の MCP ツールを提供します。

  • インタラクティブなマルチターンボット: MCP を介した自動ツール呼び出しのオーケストレーションを備え、Google GenAI SDK (google-genai) を利用したチャットインターフェースです。

  • 安全な設定: .env に対応し、環境変数ベースの API キー管理を実現します。


プロジェクト構造

.
├── 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

データベーススキーマ

SQLite データベース (college.db) には、以下のようなリレーショナルテーブルが含まれています。

  1. persons: 学生、教員、職員のプロフィールを保存します (ID、名前、メール、電話番号、生年月日、性別、住所、役割)。

  2. courses: コース一覧を保存します (コース ID、コースコード、コース名、学部、単位数、担当教員)。

  3. student_enrollments: 履修登録の詳細を保存します (登録 ID、学生 ID、コース ID、日付、成績、学期)。


利用可能な MCP ツール (tooling.py)

  • get_student_info(student_id_or_name): ID、名前、またはメールアドレスから学生プロフィールを取得します。

  • get_course_details(course_code_or_name): コースの詳細と担当教員の情報を取得します。

  • get_student_enrollments(student_id_or_name): 学生の全コースと成績を一覧表示します。

  • get_students_by_course(course_code_or_name): 指定したコースに登録している学生を一覧表示します。

  • list_courses_by_department(department): 指定した学部の全コースを一覧表示します。

  • get_courses_taught_by_faculty(faculty_id_or_name): 教員が担当するコースを一覧表示します。

  • search_persons(query, role): 役割 (学生、教員、職員) を横断して人物を検索します。

  • get_course_statistics(course_code_or_name): 概要統計 (総登録者数、成績分布) を取得します。

  • list_all_courses(): 大学の全コースの完全な一覧を返します。

  • execute_custom_sql_query(query): 複雑な集計のための読み取り専用クエリを実行します。


セットアップとインストール

1. 前提条件

  • Python 3.10+ がインストールされていること

  • Google Gemini API キー (Google AI Studio)

2. 依存関係のインストール

pip install -r requirements.txt

3. 環境変数の設定

プロジェクトルートの .env ファイルを作成または編集します:

GEMINI_API_KEY=your_actual_gemini_api_key_here

4. 合成データベースの生成

合成レコードでデータベースを初期化します:

python create_data.py

使い方

対話型 AI ボットの実行

python bot.py

学術や管理に関する質問を入力してください (例: 「コンピュータサイズのすべてのコースを表示して」 や 「ジョン・ドウの成績はどうですか?」 など)。セッションを終了するには、exit または quit を入力します。

MCP サーバーとして接続する (例: IDE / Claude Desktop / Antigravity)

MCP クライアント設定に tooling.py を登録するには、mcp_config.example.json を参照してください:

{
  "mcpServers": {
    "college-tools-mcp": {
      "command": "python",
      "args": [
        "-Wignore",
        "<FULL_PATH_TO>/tooling.py"
      ]
    }
  }
}

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    Provides 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.
    -
  • F
    license
    Not graded
    quality
    B
    maintenance
    MCP 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.
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables 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.
    -