Google Classroom MCP Server について
Google Classroom MCP Serverは、MCP対応AIアシスタントからGoogle Classroomのデータを参照できるサーバーです。コースや課題を対話形式で確認したいユーザー向けで、Google OAuth認証を利用します。
主な機能
- 01全コースの一覧表示
- 02コース詳細とお知らせの取得
- 03課題と提出状況の取得
- 04Google OAuth認証
活用シーン
- 01Google Classroomのコース確認
- 02コースのお知らせや詳細の確認
- 03課題と提出状況の確認
MCP 対応
MCPサーバーとして、対応クライアントにcourses、course-details、assignmentsの各ツールを提供し、Google Classroomのデータを読み取ります。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Google Classroom MCP サーバー
MCP(Model Context Protocol)プロトコルに対応した Claude やその他の AI アシスタントを通じて、Google Classroom のデータにアクセスできる MCP サーバーです。
セットアップ
前提条件
- Node.js(v16 以降)
- Google Classroom API が有効になっている Google Cloud Platform プロジェクト
- Google Classroom API 用の OAuth 2.0 クライアント認証情報
インストール
Smithery 経由でインストールする
Smithery 経由で Claude Desktop 用の Google Classroom MCP サーバーを自動的にインストールするには、次の手順を実行します。
npx -y @smithery/cli install @faizan45640/google-classroom-mcp-server --client claude
手動でインストールする
- このリポジトリをクローンします
- 依存関係をインストールします。
npm install
- Google OAuth クライアント認証情報を、プロジェクトのルートにある
credentials.jsonという名前のファイルに配置します。
{
"web": {
"client_id": "YOUR_CLIENT_ID",
"project_id": "YOUR_PROJECT_ID",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_secret": "YOUR_CLIENT_SECRET",
"redirect_uris": ["http://localhost:3000/auth/google/callback"]
}
}
- Google で認証します。
node index.js auth
ブラウザーウィンドウが開き、OAuth フローが完了すると、認証情報が tokens.json に保存されます。
claude_desktop_config.json(通常は%APPDATA%\Claude\にあります)を更新して、このサーバーを使用するよう Claude を設定します。
{
"mcpServers": {
"class": {
"command": "node",
"args": [
"PATH_TO_YOUR_DIRECTORY\\index.js"
]
}
}
}
使用方法
利用可能なツール
このサーバーでは、Google Classroom を操作するための複数のツールを利用できます。
1. courses - Google Classroom のすべてのコースを一覧表示する
Use the 'courses' tool to get a list of all your Google Classroom courses
2. course-details - 特定のコースの詳細情報を取得する
Use the 'course-details' tool with the courseId parameter to get details and announcements for a specific course
パラメーター:
courseId:コースの ID(coursesツールで取得できます)
3. assignments - 特定のコースの課題を取得する
Use the 'assignments' tool with the courseId parameter to get assignments and your submissions for a specific course
パラメーター:
courseId:コースの ID(coursesツールで取得できます)
Claude 向けプロンプトの例
- Google Classroom のすべてのコースを表示してください
- ID が 123456789 の数学コースの詳細を取得してください
- ID が 987654321 の歴史コースのすべての課題を表示してください
権限
このサーバーは、Google Classroom API の次の権限を要求します。
classroom.courses.readonly- コース情報にアクセスするためclassroom.announcements.readonly- コースのお知らせにアクセスするためclassroom.coursework.me.readonly- 自分の授業課題や提出課題にアクセスするためclassroom.rosters.readonly- クラス名簿にアクセスするため
トラブルシューティング
権限エラーが発生した場合は、次のことを試してください。
-
認証コマンドを再実行して権限を更新します。
node index.js auth -
アプリがテストモードの場合、Google Cloud Console でご利用の Google アカウントがテストユーザーとして追加されていることを確認します
-
authenticateAndSaveCredentials関数の OAuth スコープが必要な内容と一致していることを確認します
メモ
- このサーバーは、Claude AI またはその他の MCP 対応アシスタントで使用するように設計されています
- すべての API リクエストは、認証済みの Google アカウントを使用して実行されます
- トークンの更新はサーバーによって自動的に処理されます
- 機密性の高い認証情報は、ローカルの
tokens.jsonファイルに保存されます
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
