Moodle MCP Server Aql logo

Moodle MCP Server Aql

Read-only MCP access to Moodle courses, users, assignments, categories, and site metadata through natural-language queries.

Install Moodle MCP Server Aql

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "moodle-mcp-server-aql": {
      "command": "npx",
      "args": [
        "-y",
        "moodle-mcp-server-aql"
      ],
      "env": {
        "MOODLE_URL": "YOUR_VALUE_HERE",
        "MOODLE_TOKEN": "YOUR_VALUE_HERE"
      }
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Values are written into the snippet above so you can paste it as is. They never leave your browser.

Install not yet sandbox-tested— we haven't run this command through our automated sandbox yet. Not a red flag; we're working through the catalog.

Overview

moodle-mcp-server-aql connects AI agents to Moodle through its Web Services API and exposes read-only query tools over MCP. Agents can inspect courses, enrollments, assignments, categories, users, and instance metadata without writing SQL or changing LMS data. It runs over stdio, supports MCP-compatible clients such as Claude Desktop, and can be launched with npx or from source. Reach for it when an agent needs permission-aware access to operational Moodle data or when optional reporting plugins are appropriate.

Use cases

  • Browse a Moodle course catalog by category
  • Check user enrollments and course access
  • Find assignments and due dates
  • Search users or courses by name
  • Inspect Moodle instance metadata

Key features

  • Read-only Moodle Web Services access
  • Course, category, user, and assignment queries
  • Partial course-name search with selection
  • MCP stdio connection support
  • Plugin-based tool registration
  • Custom user-field schema discovery

Tools10

What Moodle MCP Server Aql lets your agent do. Expand a tool for its parameters.

Self-reported~154 tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

10/10 checks healthy over the last 51d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 5d ago via OSV.dev · moodle-mcp-server-aql (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars1Stargazers on the source repository.
npm downloads630Package downloads in the last 30 days.
Last commit6d agoMost recent push to the default branch.
Tools exposed10Callable tools this server registers over MCP.
Directory activity1 viewsConfig copies, upvotes, and views on AllMCPs.

How Moodle MCP Server Aql works

What moodle-mcp-server-aql does

moodle-mcp-server-aql provides an MCP interface to a Moodle instance's Web Services API. It is designed for natural-language questions that need structured LMS data, such as finding courses, checking enrollments, locating assignments, or inspecting site metadata. The core is read-only, so its tools retrieve information without modifying Moodle records.

The server follows an Agentic Query Layer design: an AI agent communicates through MCP, while the server handles the Moodle API access and exposes a defined set of query operations. Moodle remains the system of record, and the server does not require a Moodle plugin installation.

Optional plugin modules can add capabilities such as course completion reporting, recent activity, gradebook access, user analytics, directory filtering, or compliance reporting. These are separate from the open-source core and are loaded through the plugin runtime when available.

How it works

An MCP-compatible client sends tool requests to the server after a user asks a question in natural language. The server uses the configured Moodle URL and API token to query the LMS, then returns structured results to the agent. The core tools are read-only and intended to respect the access available through the Moodle API token.

The server uses stdio for direct MCP connections. A reference web client is also included in the project; it can provide a chat interface and connect to providers including Anthropic, OpenAI, Ollama, or other MCP-compatible model setups. The model itself is supplied by the client or reference application rather than by the MCP server.

Setup and configuration

Running the server requires Node.js 20 or newer, a Moodle installation with Web Services enabled, and a Moodle API token. The token is created in Moodle under Site administration, Plugins, Web services, and Manage tokens.

The simplest client configuration launches the package with npx and supplies these environment variables:

  • MOODLE_URL: URL of the Moodle instance.
  • MOODLE_TOKEN: Moodle Web Services API token.

From source, install the project dependencies, copy the server environment template, set the Moodle values, build the server, and run the generated Node entry point. Claude Desktop can connect directly over stdio using either the package command or a locally built server path.

The server also supports configuration identity overrides. MOODLE_MCP_CONFIG and MOODLE_MCP_SERVER_CONFIG select the configuration file, while SERVER_ID, SERVER_NAME, and SERVER_VERSION override identity fields. After connecting to a Moodle site, refresh_user_field_schema can discover standard and custom user fields and store the resulting schema locally.

Tools and capabilities

Core tools include:

  • list_courses for the course catalog and category drill-down.
  • get_course for details about a specific course.
  • list_course_users for enrolled users, roles, and access data; course-name search can lead to interactive selection.
  • list_assignments for assignments and due dates.
  • list_categories for the category hierarchy and parent relationships.
  • get_site_info for the site name, Moodle version, and course count.
  • get_user for Moodle user details.
  • list_user_courses for courses associated with a user.
  • search_users for standard Moodle identity-field searches.
  • search_courses_by_name for partial course-name matching and selection.

Plugin support allows additional tool modules to be placed in a plugin directory and registered at runtime. Separate plugins cover reporting, analytics, directory, and compliance scenarios.

Limitations and notes

The core only reads Moodle data; it is not an authoring or administration interface for changing courses, users, assignments, or other LMS records. Access depends on the permissions associated with the Moodle API token. Optional premium plugins are separate from the core tool set, and a model or MCP client must be provided to turn natural-language questions into tool calls.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Moodle MCP Server Aql

moodle-mcp-server-aql is an MCP server that connects AI agents to Moodle's Web Services API. Its main tools query courses, enrolled users, assignments, categories, user records, course memberships, course names, and site metadata. It is read-only and returns structured LMS data for natural-language questions.

Install it by launching the npm package with `npx -y moodle-mcp-server-aql`, or build it from the repository after installing dependencies. Configure `MOODLE_URL` and `MOODLE_TOKEN`, then connect the process from an MCP client such as Claude Desktop.

It needs a Moodle instance with Web Services enabled and a Moodle API token. Set `MOODLE_URL` to the instance address and `MOODLE_TOKEN` to the token created through Moodle's Manage tokens area.

Yes, moodle-mcp-server-aql works with Claude Desktop over stdio. Add the server command or built Node entry point to Claude Desktop's MCP configuration and provide the Moodle URL and API token as environment variables.

No, the core tools are read-only. They retrieve courses, users, assignments, categories, memberships, searches, and site information through Moodle's Web Services API without changing LMS records.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewMoodle MCP Server Aql AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/moodle-mcp-server-aql?style=directory)](https://allmcps.com/mcp/moodle-mcp-server-aql)
HTML Embed
<a href="https://allmcps.com/mcp/moodle-mcp-server-aql"><img src="https://allmcps.com/api/badge/moodle-mcp-server-aql?style=directory" alt="Moodle MCP Server Aql on AllMCPs" /></a>