MCP server exposing a Moodle site as 86 typed AI tools: read courses, grades and deadlines; build courses, quizzes, questions and content.
Project description
moodle-mcp-bridge
Talk to Moodle. An MCP server that exposes a
Moodle site as 86 typed tools for AI clients like Claude Desktop and Claude
Code — read courses, grades, deadlines and quiz results; build courses,
sections, quizzes (six question types), assignments and content; back courses
up to real .mbz files and restore them.
"Create a course called Biology 101, add a welcome page, and enrol these five students." — and it actually happens.
Install
pip install moodle-mcp-bridge
Configure
Three environment variables (or a .env file in the working directory):
MOODLE_URL=https://moodle.example.edu # your Moodle site
MOODLE_TOKEN=xxxxxxxxxxxxxxxx # a web service token
MOODLE_ALLOW_WRITE=true # omit for read-only (the default)
Read tools are always available. Write tools (course/content creation,
enrolment, grading, backup/restore) only register when MOODLE_ALLOW_WRITE
is explicitly true, so a misconfiguration can never silently enable writes.
Connect Claude Desktop
{
"mcpServers": {
"moodle": {
"command": "moodle-mcp-bridge",
"env": {
"MOODLE_URL": "https://moodle.example.edu",
"MOODLE_TOKEN": "your-token",
"MOODLE_ALLOW_WRITE": "true"
}
}
}
}
The companion Moodle plugin
Core Moodle web services cannot create activities (pages, quizzes, questions…).
The companion plugin local_mcpbridge adds those functions — grab it from
the GitHub releases and
install it on your Moodle (4.2+). Without the plugin, all core-backed tools
(courses, users, enrolment, grades, completion, messaging) still work.
Documentation
Full setup guide, tool reference and security model: https://nmaaalhawary.github.io/MCP-Moodle/
MIT licensed. Source: https://github.com/NmaaAlhawary/MCP-Moodle
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file moodle_mcp_bridge-1.6.0.tar.gz.
File metadata
- Download URL: moodle_mcp_bridge-1.6.0.tar.gz
- Upload date:
- Size: 21.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a9030503d92ff460befab1e89ccba9ebcdc74c4a59c82442e91c4fb4b24aa9bf
|
|
| MD5 |
ada5c44798e56f3ba3428077bac8497b
|
|
| BLAKE2b-256 |
109721090929a3d7074ca3f301f8a4ba964c0c08f6e6e22ec8f191a23aa2bf43
|
Provenance
The following attestation bundles were made for moodle_mcp_bridge-1.6.0.tar.gz:
Publisher:
publish.yml on NmaaAlhawary/MCP-Moodle
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
moodle_mcp_bridge-1.6.0.tar.gz -
Subject digest:
a9030503d92ff460befab1e89ccba9ebcdc74c4a59c82442e91c4fb4b24aa9bf - Sigstore transparency entry: 2229080790
- Sigstore integration time:
-
Permalink:
NmaaAlhawary/MCP-Moodle@83cc5f5e04a8c02d79450a54f39df0f6f9046950 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/NmaaAlhawary
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@83cc5f5e04a8c02d79450a54f39df0f6f9046950 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file moodle_mcp_bridge-1.6.0-py3-none-any.whl.
File metadata
- Download URL: moodle_mcp_bridge-1.6.0-py3-none-any.whl
- Upload date:
- Size: 23.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3aa5905375389552fb943a1b438e030cd4004d55d7685bcb3a9d48ae01614559
|
|
| MD5 |
61381df50a0e9bb61c7d1c2e89da06db
|
|
| BLAKE2b-256 |
a1b900f941b9bf72d5e461b769abb924ced57109cb9d91b2b9274637dec88a0d
|
Provenance
The following attestation bundles were made for moodle_mcp_bridge-1.6.0-py3-none-any.whl:
Publisher:
publish.yml on NmaaAlhawary/MCP-Moodle
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
moodle_mcp_bridge-1.6.0-py3-none-any.whl -
Subject digest:
3aa5905375389552fb943a1b438e030cd4004d55d7685bcb3a9d48ae01614559 - Sigstore transparency entry: 2229081386
- Sigstore integration time:
-
Permalink:
NmaaAlhawary/MCP-Moodle@83cc5f5e04a8c02d79450a54f39df0f6f9046950 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/NmaaAlhawary
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@83cc5f5e04a8c02d79450a54f39df0f6f9046950 -
Trigger Event:
workflow_dispatch
-
Statement type: