Skip to main content
Glama

moodle-mcp-server — AI駆動のLMS分析

Moodleインスタンスに何でも質問できます。数秒で構造化された回答が得られます。

moodle-mcp-server は、AIエージェントをMoodleのWebサービスAPIに直接接続するオープンソースのMCP(Model Context Protocol)サーバーです。これは、CSMediaProのより広範なAgentic Query Layer(AQL)の取り組みの背後にあるMoodleコネクタです。

レポートビルダーを学習したり、SQLを記述したり、CSVをエクスポートしたりする代わりに、平易な英語で質問するだけで、AIエージェントがLMSにクエリを実行し、構造化されたデータを返します。

プロジェクトホーム: https://csmediapro.com/products/moodle-mcp-server npmパッケージ: https://www.npmjs.com/package/moodle-mcp-server-aql MCPレジストリ: io.github.csmediapro/moodle-mcp-server-aql


機能

  • コアクエリツール — コースカタログ、ユーザー登録、課題、カテゴリナビゲーション、サイトメタデータ、ユーザー検索、キャッシュ管理

  • プレミアムレポートプラグイン — コース完了レポートや最近のアクティビティなどのオプションツールをプラグインランタイムを通じて追加可能

  • LLM非依存 — Claude、GPT、Gemini、Ollama、またはMCP互換の任意のAIクライアントで動作

  • LMSの変更がゼロ — Moodleの既存のWebサービスAPIを使用し、プラグインのインストールは不要

  • コンプライアンス対応のデータ処理 — プライバシーバイデザインによる安全で効率的なデータ処理

  • 読み取り専用 — Moodleデータを変更することはなく、本番環境で安全

  • プラグイン拡張可能 — 新しいツールモジュールをディレクトリにドロップするだけで、ツールとオプションのエージェントルーティングヒントが実行時に自動登録されます


Related MCP server: Moodle MCP Server

クイックスタート

前提条件

  • Node.js 20+

  • Webサービスが有効なMoodleインスタンス

  • Moodle APIトークン(サイト管理 → プラグイン → Webサービス → トークンの管理)

MCPクライアントでの使用

ほとんどのユーザーは、Claude DesktopなどのMCPクライアントを介してサーバーを起動します。

{
  "mcpServers": {
    "moodle-mcp-server-aql": {
      "command": "npx",
      "args": ["-y", "moodle-mcp-server-aql"],
      "env": {
        "MOODLE_URL": "https://your-moodle-instance.example",
        "MOODLE_TOKEN": "your-moodle-web-services-token"
      }
    }
  }
}

ソースからのセットアップ

# Clone the repo
git clone https://github.com/csmediapro/moodle-mcp-server
cd moodle-mcp-server

# Install dependencies
npm install

# Configure
cp packages/server/.env.example packages/server/.env
# Edit .env: add your MOODLE_URL and MOODLE_TOKEN

# Run (stdio mode)
npm run server:build
node packages/server/dist/index.js

ユーザーフィールドスキーマ

ユーザーフィールド表示設定はMoodleインスタンスごとに生成され、ローカルの packages/server/data/user-field-schema.json に保存されます。このファイルは、サイト固有のカスタムプロファイルフィールドを含む可能性があるため、gitによって意図的に無視されます。

Moodleサイトに接続した後、refresh_user_field_schema ツールを1回実行して、利用可能な標準およびカスタムユーザーフィールドを検出します。最小限のサンプル形状が packages/server/data/user-field-schema.example.json に含まれています。

user-directory プラグインは、school などのトップレベルのキーにフラット化されたカスタムプロファイルフィールドを含む、正規化された完全ユーザーキャッシュを保存します。そのキャッシュが存在すると、list_users はキャッシュされたユーザーをメモリ内でフィルタリングでき、summarize_user_directory_field はキャッシュされた個別の値とカウントを返すことができます。たとえば、「ユニークな学校を表示」または「学校とそれぞれに割り当てられたユーザー数を表示」は、別のMoodleフェッチを行わずに、キャッシュされた school フィールドを要約します。

設定ID

コアは2つの異なるサーバーIDフィールドを所有しています。

  • server.id — 安定したマシンID、例: mcp_8f3k2q9x

  • server.name — 人間向けの表示ラベル

server.id がない場合、コアは1つを生成し、起動が続行される前に解決された設定ファイルに永続化します。

環境変数のオーバーライド:

  • MOODLE_MCP_CONFIG または MOODLE_MCP_SERVER_CONFIG — 設定ファイルのパスを選択

  • SERVER_ID — 明示的な server.id のオーバーライド

  • SERVER_NAME — 明示的な server.name のオーバーライド

  • SERVER_VERSION — 明示的な server.version のオーバーライド

server.id がなく、解決された設定パスが書き込み可能でない場合、起動は意図的に失敗します。

リファレンスクライアントの使用

# From the project root
cp packages/client/.env.example packages/client/.env
npm run client:dev
# Open http://localhost:3000

クライアントはMoodleインスタンスを自動検出し、平易な英語で質問できるチャットインターフェースを表示します。


LLMの接続

moodle-mcp-server は、自然言語インターフェースを強化するためにAIモデルを必要とします。モデルはお客様が用意します — moodle-mcp-server コアとリファレンスクライアントは、MCP互換の任意のプロバイダーをサポートしています。

オプション1: ローカルで実行(速度とプライバシーにおすすめ)

ローカルモデルを実行すると、すべてのデータがお客様のハードウェア上に保持され、ネットワーク外に出ることはありません。最新の量子化モデルは、コンシューマーGPUやCPUのみのセットアップでも適切に動作します。

パフォーマンス: 単一のRTX 3090上の量子化24Bモデルは、最初のクエリ後に約1.5秒の応答を提供します — システムが初期化されると、ほとんどのクラウドAPIよりも高速です。

Ollama経由(最も簡単)

# Install Ollama: https://ollama.com
ollama pull gemma3:12b      # Fast, reliable tool use (~200ms TTFT)
ollama pull qwen3:14b       # Strong reasoning, good for complex queries
ollama pull deepseek-r1:14b # Excellent at multi-step chains

次に、リファレンスクライアントを http://localhost:11434(Ollamaのデフォルト)に向けます。

llama.cpp経由(最大の制御)

# Download a GGUF model (example: Devstral 24B Q4)
# Run the llama.cpp server:
llama-server -m devstral-24b-Q4_K_M.gguf --ctx-size 60000 --port 8080

リファレンスクライアントを http://localhost:8080/v1 に向けます。

推奨ローカルモデル

モデル

サイズ

最適な用途

ハードウェア

Gemma 3 12B

~7 GB VRAM

高速なツール呼び出し、単純なクエリ

単一コンシューマーGPU

Qwen 3 14B

~8.5 GB VRAM

複雑な推論、マルチツールチェーン

単一コンシューマーGPU

Devstral 24B Q4

~14.5 GB VRAM

最大能力、60Kコンテキスト

RTX 3090 / 4090

オプション2: クラウドプロバイダー

Anthropic (Claude):

export ANTHROPIC_API_KEY=sk-ant-...

リファレンスクライアントのプロバイダードロップダウンで「Anthropic」を選択します。Claude Sonnetは、最も信頼性の高いツール呼び出し動作を提供します。

OpenAI (GPT):

export OPENAI_API_KEY=sk-...

プロバイダードロップダウンで「OpenAI」を選択します。GPT-4oは構造化クエリで優れたパフォーマンスを発揮します。

Ollama Cloud: ローカルOllamaと同じAPIを使用し、https://ollama.com/v1 でホストされています。良い中間点です — ローカルのコールドスタートよりも高速で、大規模なクラウドプロバイダーよりもプライベートです。

オプション3: Claude Desktop(直接MCP)

Claude Desktopは、moodle-mcp-server コアにstdio経由で直接接続します — リファレンスクライアントは不要です。

Claude Desktopの設定(claude_desktop_config.json)に追加:

{
  "mcpServers": {
    "moodle-mcp-server": {
      "command": "node",
      "args": ["/path/to/moodle-mcp-server/packages/server/dist/index.js"],
      "env": {
        "MOODLE_URL": "https://your-moodle-instance.com",
        "MOODLE_TOKEN": "your-api-token"
      }
    }
  }
}

Claude Desktopを再起動します。サーバーのツールがClaudeのツールリストに表示されます — 直接質問できます。


ツール

コアツール(無料、オープンソース — AGPL)

ツール

説明

list_courses

カテゴリドリルダウン付きの完全なコースカタログ

get_course

任意のコースの詳細ビュー

list_course_users

ロールとアクセスデータを持つ登録ユーザー(インタラクティブ選択によるコース名検索をサポート)

list_assignments

期限付きのすべての課題

list_categories

正確な親解決付きの完全な階層

get_site_info

インスタンスの概要 — サイト名、バージョン、コース数

get_user

Moodleユーザーの詳細ビュー

list_user_courses

特定のユーザーのコース

search_users

標準のMoodle IDフィールドによるユーザー検索

search_courses_by_name

部分一致とインタラクティブ選択による名前でのコース検索

プレミアムプラグイン(別途入手可能)

  • 高度なレポート — 成績表、コース間比較、カスタムレポートビルダー

  • ユーザー分析 — 進捗追跡、エンゲージメントスコアリング、リスクフラグ

  • ユーザーディレクトリ — 標準およびカスタムプロファイルフィールドにわたるキャッシュされたディレクトリ一覧と構造化フィルタリング

  • コンプライアンスパック — 認定追跡、有効期限アラート、監査エクスポート


アーキテクチャ

User (plain English question)
    │
    ▼
AI Agent (Claude / GPT / Gemini / Ollama / local)
    │
    ▼  MCP Protocol
`moodle-mcp-server`
    ├── Tool Registry (core + plugins)
    ├── Agent Runtime Config (core + plugin rules)
    ├── Optimized Data Layer (secure, efficient data handling)
    └── Moodle Client (REST API calls)
    │
    ▼
Moodle Web Services API

トランスポートモード

  • Stdiodist/index.js — サブプロセスとして実行され、Claude Desktopおよび類似のクライアントで使用されます

OSSコアは意図的に stdio のみを同梱しています。ネットワーク対応のラッパー、リモート監視、またはプレミアムプラグインのアタッチメントは、別の商用ノードエージェントまたはラッパーに属します。

プラグインドキュメント


ライセンス

AGPL v3 — LICENSE を参照。

これは、次のことを意味します:

  • moodle-mcp-server コアを、任意の環境で無料で使用できます

  • ✅ ニーズに合わせてソースコードを変更できます

  • ✅ 派生物を構築および配布できます

次のことはできません:

  • moodle-mcp-server コアをクローズドソースの競合する商用製品として再パッケージ化すること

  • ❌ 変更を共有せずにネットワークサービスとして提供すること

商標表示

MoodleはMoodle Pty Ltdの商標です。moodle-mcp-server は独立したCSMediaProプロジェクトであり、Moodle Pty LtdまたはMoodleプロジェクトと提携、承認、後援、または公式に接続されていません。この名前は、Moodle LMSとの互換性を説明するために使用されています。


CSMediaProによって構築

moodle-mcp-server は、AI統合、システムエンジニアリング、ワークフロー自動化を専門とするソフトウェア開発会社 CSMediaPro によって構築および保守されています。

F
license - not found
-
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    D
    maintenance
    A powerful Model Context Protocol (MCP) server that seamlessly integrates AI assistants with Moodle Learning Management System. Enable your AI assistant to access courses, retrieve educational content, download resources, and search through your learning materials.
    14
    MIT
  • F
    license
    -
    quality
    B
    maintenance
    A Model Context Protocol (MCP) server that connects AI coding agents to your Moodle LMS. Fetch assignments, grades, deadlines, and sync everything to Obsidian automatically.

View all related MCP servers

Related MCP Connectors

  • Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer

  • An MCP server that integrates with Discord to provide AI-powered features.

  • An MCP server that gives your AI access to the source code and docs of all public github repos

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/csmediapro/moodle-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server