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) には、以下のようなリレーショナルテーブルが含まれています。
persons: 学生、教員、職員のプロフィールを保存します (ID、名前、メール、電話番号、生年月日、性別、住所、役割)。courses: コース一覧を保存します (コース ID、コースコード、コース名、学部、単位数、担当教員)。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.txt3. 環境変数の設定
プロジェクトルートの .env ファイルを作成または編集します:
GEMINI_API_KEY=your_actual_gemini_api_key_here4. 合成データベースの生成
合成レコードでデータベースを初期化します:
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"
]
}
}
}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.-