mcpField
M
Moodle MCP Server

Moodle MCP Server

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

Moodle MCP Server について

Moodle MCP Server は、LLM が Moodle プラットフォームと連携してコース、受講者、課題、小テストを管理できるようにする MCP サーバーです。Claude などの MCP クライアントで日常の教務作業を行いたい教員や管理者向けです。

主な機能

  1. 01ページネーション対応のコース情報照会
  2. 02受講者一覧と最終アクセス日時の確認
  3. 03課題一覧と受講者の提出物の確認
  4. 04課題への成績とコメントの登録
  5. 05小テスト一覧と受験履歴の照会
  6. 06小テスト受験へのフィードバックコメントの登録

活用シーン

  1. 01受講者の一覧と提出状況の確認
  2. 02課題の採点とフィードバックコメントの記入
  3. 03小テストの受験内容の確認と講評

MCP 対応

本プロジェクトは MCP サーバーであり、Moodle のコース、受講者、課題、小テストに関する操作をツールとして MCP クライアントに提供します。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

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

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

詳細

Moodle MCP サーバー

LLM が Moodle プラットフォームとやり取りし、コース、学生、課題、クイズを管理できるようにする MCP(Model Context Protocol)サーバーです。

機能

コース管理ツール
  • get_courses - Moodle のコース情報を取得します
    • 利用可能なすべてのコースを安全に取得できるよう、ページネーション(page、limit)に対応しています。
    • courseId を指定すると、特定のコースを取得できます。
学生管理ツール
  • list_students - コースに登録されている学生の一覧を取得します
    • 各学生の ID、名前、メールアドレス、最終アクセス時刻を表示します
課題管理ツール
  • get_assignments - コースで利用可能なすべての課題を取得します
    • ID、名前、説明、締切日、最高評点などの情報を含みます
  • get_student_submissions - 特定の課題に対する学生の提出物を確認します
    • 課題 ID が必要です。学生 ID は任意です
  • provide_assignment_feedback - 学生の提出物に評点とコメントを付けます
    • 学生 ID、課題 ID、評点、フィードバックコメントが必要です
クイズ管理ツール
  • get_quizzes - コースで利用可能なすべてのクイズを取得します
    • ID、名前、説明、開始日時と終了日時、最高評点などの情報を含みます
  • get_quiz_attempts - 特定のクイズに対する学生の受験状況を確認します
    • クイズ ID が必要です。学生 ID は任意です
  • provide_quiz_feedback - クイズの受験にコメントを付けます
    • 受験 ID とフィードバックコメントが必要です

必要条件

  • Node.js(v14 以降)
  • 適切な権限を持つ Moodle API トークン
  • Moodle コース ID

インストール

  1. このリポジトリをクローンします:
git clone https://github.com/your-username/moodle-mcp-server.git
cd moodle-mcp-server
  1. 依存関係をインストールします:
npm install
  1. 次の設定を含む .env ファイルを作成します:
MOODLE_API_URL=https://your-moodle.com/webservice/rest/server.php
MOODLE_API_TOKEN=your_api_token
MOODLE_COURSE_ID=1  # Replace with your course ID
  1. サーバーをビルドします:
npm run build

Claude での使用方法

Claude Desktop で使用するには、サーバーの設定を追加します:

MacOS の場合:~/Library/Application Support/Claude/claude_desktop_config.json
Windows の場合:%APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "moodle-mcp-server": {
      "command": "/path/to/node",
      "args": [
        "/path/to/moodle-mcp-server/build/index.js"
      ],
      "env": {
        "MOODLE_API_URL": "https://your-moodle.com/webservice/rest/server.php",
        "MOODLE_API_TOKEN": "your_moodle_api_token",
        "MOODLE_COURSE_ID": "your_course_id"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

Windows ユーザーの場合、パスにはバックスラッシュを使用します:

{
  "mcpServers": {
    "moodle-mcp-server": {
      "command": "C:\\path\\to\\node.exe",
      "args": [
        "C:\\path\\to\\moodle-mcp-server\\build\\index.js"
      ],
      "env": {
        "MOODLE_API_URL": "https://your-moodle.com/webservice/rest/server.php",
        "MOODLE_API_TOKEN": "your_moodle_api_token",
        "MOODLE_COURSE_ID": "your_course_id"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

設定すると、Claude は Moodle コースとやり取りして、次の操作を行えるようになります:

  • 学生とその提出物の一覧を表示する
  • 課題にコメントと評点を付ける
  • クイズの受験状況を確認し、フィードバックを提供する

開発

自動再ビルドを有効にした開発の場合:

npm run watch
デバッグ

MCP サーバーは stdio を介して通信するため、デバッグが難しい場合があります。MCP Inspector の使用をおすすめします:

npm run inspector

Inspector は、ブラウザーでデバッグツールにアクセスするための URL を表示します。

Moodle API トークンの取得

  1. 管理者として Moodle サイトにログインします
  2. サイト管理 > プラグイン > ウェブサービス > トークンを管理 に移動します
  3. コース管理に必要な権限を持つ新しいトークンを作成します
  4. 生成されたトークンをコピーし、.env ファイルに追加します

セキュリティ

  • .env ファイルや Moodle API トークンを他者と共有しないでください
  • MCP サーバーが、管理に必要なコースのみにアクセスできるようにしてください
  • 必要最小限の権限を持つトークンを使用してください

ライセンス

MIT

コメント

MCP は初めてですか?

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

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