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

機能

  • 合成データ生成: 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"
      ]
    }
  }
}
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