Moodle-MCP について
Moodle-MCP は、Moodle の Web サービス API を通じて、コース、課題、成績、締切などのデータを取得する MCP サーバーです。AI アシスタントから学習状況を確認したい学生向けで、個別の項目の取得と、まとめたビューの両方を提供します。
主な機能
- 01コース、コース内容、お知らせの取得
- 02課題の提出状況と近い締切の確認
- 03成績の概要とコース進捗の把握
- 04週ごとの課題負荷の分析
- 05自然言語の質問を適切なデータ源へ振り分け
活用シーン
- 01AI アシスタントに期限切れの未提出課題を尋ねる
- 02日次または週次の学習サマリーの作成
- 03課題に関連するコース資料の検索
MCP 対応
MCP サーバーとして、コース、課題、成績、サマリーの各照会ツールを MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ツール一覧はまだ取得されていません
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Moodle-MCP
Moodle LMS と連携する機能を提供する、Model Context Protocol(MCP)サーバーの実装です。
機能
サーバーは次のツールを公開します。
コースとコンテンツ
| ツール | 説明 |
|---|---|
get_my_courses | 現在のユーザーが登録しているすべてのコースを取得します |
get_course_content | ID を指定して、特定のコースのセクションとモジュールを取得します |
search_course_materials | クエリ文字列を使って、すべてのコース教材を検索します |
get_course_announcements | コースのニュースフォーラムからお知らせを取得します。コース ID で絞り込むこともできます |
get_recent_activity | 指定した時点以降の、コース全体の最近の活動と更新情報を取得します |
課題と期限
| ツール | 説明 |
|---|---|
get_assignments | 課題を取得します。コース ID で絞り込むこともできます |
get_assignment_status | 特定の課題の提出状況と採点状況を取得します |
get_upcoming_deadlines | すべてのコースの今後の課題期限を、期限順に取得します |
get_overdue_assignments | 期限を過ぎた未提出の課題を、超過期間の長い順に取得します |
get_actionable_tasks | 対応が必要なタスクを優先順位順に並べて取得します |
analyze_assignment | 課題の状況、要件、教材、進捗、期限を分析します |
extract_assignment_requirements | 課題から要件、成果物、制約、評価基準を抽出します |
find_relevant_materials | 課題に関連するコースのコンテンツを、関連度順に検索します |
decompose_task | 課題を、作業量、依存関係、クリティカルパスを含むサブタスクに分割します |
create_implementation_plan | スケジュール、リソース、マイルストーン、リスクを含む段階的な計画を作成します |
成績と進捗
| ツール | 説明 |
|---|---|
get_grades | すべてのコースの成績概要、または特定のコースの詳細な成績を取得します |
get_course_progress | 1 つまたはすべてのコースの進捗と完了状況を取得します |
get_course_health | コースの健全性を確認します。進捗、成績、未提出数、期限超過数を確認できます |
get_study_load | 週ごとの課題の分布を分析し、負荷の高い週を特定します |
集約された概要
| ツール | 説明 |
|---|---|
get_upcoming_events | Moodle の今後のイベントを取得します |
semester_dashboard | コース、今後の期限、成績をまとめて表示します |
daily_briefing | 期限超過数、本日の期限、最近の成績、イベント、タスクの日次サマリーを表示します |
weekly_review | 提出数・採点数、期限、期限超過数、進捗の週次サマリーを表示します |
ask_moodle | 自然言語で質問すると、適切なデータソースに振り分けます |
API リファレンス
利用可能な Moodle API 関数については、公式ドキュメントを参照してください。
セットアップ手順
方法 1:mcp CLI を使用する(推奨)
.env.exampleをもとに.envファイルを作成しますuvがインストールされていることを確認し、uv add "mcp[cli]"を実行して MCP CLI ツールをインストールしますmcp install main.py -f .envを実行して、moodle-mcp サーバーを Claude アプリに追加します
方法 2:uvx を使用する
Claude > Settings > Developer > Edit Config > claude_desktop_config.json に移動し、以下を追加します
{
"mcpServers": {
"moodle-mcp": {
"command": "uvx",
"args": ["moodle-mcp"],
"env": {
"MOODLE_URL": "https://{your-moodle-url}/webservice/rest/server.php",
"MOODLE_TOKEN": "{your-moodle-token}"
}
}
}
}
認証
Moodle トークンの取得
- Moodle のトークン管理ページ
https://{your-moodle-url}/user/managetoken.phpに移動します Service列にMoodle mobile web serviceと表示されているトークンを使用します- このトークンを
.envファイルに追加します
コメント
Markdown 対応
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
