mcpField
M
Moodle-MCP

Moodle-MCP

ローカル
github.com/loyaniu科学・教育5217 週間前に更新

Moodle-MCP について

Moodle-MCP は、Moodle の Web サービス API を通じて、コース、課題、成績、締切などのデータを取得する MCP サーバーです。AI アシスタントから学習状況を確認したい学生向けで、個別の項目の取得と、まとめたビューの両方を提供します。

主な機能

  1. 01コース、コース内容、お知らせの取得
  2. 02課題の提出状況と近い締切の確認
  3. 03成績の概要とコース進捗の把握
  4. 04週ごとの課題負荷の分析
  5. 05自然言語の質問を適切なデータ源へ振り分け

活用シーン

  1. 01AI アシスタントに期限切れの未提出課題を尋ねる
  2. 02日次または週次の学習サマリーの作成
  3. 03課題に関連するコース資料の検索

MCP 対応

MCP サーバーとして、コース、課題、成績、サマリーの各照会ツールを MCP クライアントに公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"moodle": {
"command": "uvx",
"args": [
"moodle-mcp"
],
"env": {
"MOODLE_URL": "<MOODLE_URL>",
"MOODLE_TOKEN": "<MOODLE_TOKEN>"
}
}
}
}
起動コマンドuvx moodle-mcp
設定が必要な環境変数
MOODLE_URL
MOODLE_TOKENシークレット

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypimoodle-mcp

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

MseeP.ai Security Assessment Badge

Moodle-MCP

Moodle LMS と連携する機能を提供する、Model Context Protocol(MCP)サーバーの実装です。

機能

サーバーは次のツールを公開します。

コースとコンテンツ
ツール説明
get_my_courses現在のユーザーが登録しているすべてのコースを取得します
get_course_contentID を指定して、特定のコースのセクションとモジュールを取得します
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_progress1 つまたはすべてのコースの進捗と完了状況を取得します
get_course_healthコースの健全性を確認します。進捗、成績、未提出数、期限超過数を確認できます
get_study_load週ごとの課題の分布を分析し、負荷の高い週を特定します
集約された概要
ツール説明
get_upcoming_eventsMoodle の今後のイベントを取得します
semester_dashboardコース、今後の期限、成績をまとめて表示します
daily_briefing期限超過数、本日の期限、最近の成績、イベント、タスクの日次サマリーを表示します
weekly_review提出数・採点数、期限、期限超過数、進捗の週次サマリーを表示します
ask_moodle自然言語で質問すると、適切なデータソースに振り分けます

API リファレンス

利用可能な Moodle API 関数については、公式ドキュメントを参照してください。

セットアップ手順

方法 1:mcp CLI を使用する(推奨)
  1. .env.example をもとに .env ファイルを作成します
  2. uv がインストールされていることを確認し、uv add "mcp[cli]" を実行して MCP CLI ツールをインストールします
  3. 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 トークンの取得
  1. Moodle のトークン管理ページ https://{your-moodle-url}/user/managetoken.php に移動します
  2. Service 列に Moodle mobile web service と表示されているトークンを使用します
  3. このトークンを .env ファイルに追加します

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。