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) には、以下のようなリレーショナルテーブルが含まれています。
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 installed
Maintenance
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
- FlicenseNot gradedqualityDmaintenanceMCP server for querying a university course catalog. Enables searching courses, checking prerequisites, and looking up instructors via natural language.
- AlicenseNot gradedqualityAmaintenanceSearch, compare, and analyze U.S. college data — costs, earnings, programs, and outcomes — via MCP.1151Apache 2.0
- FlicenseNot gradedqualityCmaintenanceProvides tools for querying student academic data such as subjects, marks, performance reports, timetable, exams, fees, events, holidays, and assignments via natural language.
- FlicenseNot gradedqualityCmaintenanceEnables querying student information such as marks, attendance, pending assignments, and timetables from a MySQL database through MCP tools.
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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