Moodle MCP Server

Integrations

  • Enables interaction with the Moodle platform to manage courses, students, assignments, and quizzes, including viewing student lists, providing feedback on assignments, examining quiz attempts, and grading submissions.

  • Required runtime environment (v14 or higher) for executing the MCP server that connects to Moodle's API.

Moodle MCP サーバー

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

特徴

学生管理ツール

  • 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 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

インスペクターは、ブラウザでデバッグ ツールにアクセスするための URL を提供します。

Moodle APIトークンの取得

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

安全

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

ライセンス

マサチューセッツ工科大学

-
security - not tested
F
license - not found
-
quality - not tested

LLM が Moodle プラットフォームと対話し、自然言語コマンドを通じてコース、学生、課題、クイズを管理できるようにする MCP サーバー。

  1. Features
    1. Student Management Tools
    2. Assignment Management Tools
    3. Quiz Management Tools
  2. Requirements
    1. Installation
      1. Usage with Claude
        1. Development
          1. Debugging
        2. Obtaining a Moodle API Token
          1. Security
            1. License
              ID: x1nxui4s5k