← Back to Skills Marketplace
Moodle Connector Skill
by
Jabir Iliyas Suraj-Deen
· GitHub ↗
· v1.0.0
· MIT-0
91
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install moodle-connector-skill
Description
Moodle REST API client, batch downloader, and MCP server for Claude Code integration
Usage Guidance
What to check before installing or enabling this skill:
- Do not blindly paste your encryption password into agent config files. Instead, prefer setting MOODLE_CRED_PASSWORD as a process environment variable (and do not commit it to disk).
- There are clear mismatches to fix before trusting the skill: mcp_server.py currently uses a hard-coded password ('test-pass') rather than reading MOODLE_CRED_PASSWORD; batch_downloader.py references os.getenv but doesn't import os. These bugs can cause the server to run with incorrect credentials or leak prompts.
- SKILL.md and metadata disagree: the registry lists no required env vars but the runtime requires a password and a Moodle token in config.json. Verify which secrets the skill actually needs and whether you are comfortable supplying them.
- The MCP server exposes Moodle functions to any MCP-capable agent that you configure. Limit exposure by either (a) running the MCP server manually under your control, (b) using a dedicated account/token with minimal privileges, or (c) not adding the server to global agent configs.
- Playwright will download browser binaries and the code appears to drive an interactive Microsoft SSO flow (login.microsoftonline.com). If you plan automated runs, confirm the code's headless behavior and that MFA flows won't leak session data.
- License/author notes are inconsistent in SKILL.md (MIT header but a contributing instruction mentions GPLv3) — confirm licensing before reuse.
If you want, I can:
- Point to the exact lines to change so mcp_server reads MOODLE_CRED_PASSWORD from the environment and batch_downloader imports os.
- Produce a short secure deployment checklist (least-privilege token creation, run MCP server manually, avoid storing secrets in agent config).
Confidence: medium — the files are not obviously malicious, but the number of mismatches and insecure instructions meaningfully increase risk and warrant fixing/review before use.
Capability Analysis
Type: OpenClaw Skill
Name: moodle-connector-skill
Version: 1.0.0
The Moodle Connector skill is a legitimate tool for interacting with Moodle LMS instances, providing features like course listing, grade tracking, and file downloading. It uses standard security practices such as PBKDF2 and Fernet for local credential encryption and Playwright for handling Microsoft SSO/MFA. No evidence of malicious intent, data exfiltration, or prompt injection was found; the code's behavior is consistent with its documented purpose.
Capability Tags
Capability Assessment
Purpose & Capability
The code implements a Moodle REST client, batch downloader, and MCP server which matches the stated purpose. However the SKILL metadata declares no required environment variables while SKILL.md and the code expect an encryption password / tokens (MOODLE_CRED_PASSWORD, config.json with web_service_token). That mismatch between declared requirements and what the skill actually needs is incoherent.
Instruction Scope
SKILL.md instructs adding MOODLE_CRED_PASSWORD in claude_desktop_config.json (putting the encryption password into an agent config file) and enabling an MCP server that gives the agent direct access to Moodle functions. The code, however, contains mismatches: mcp_server.py constructs the connector with a hard-coded password ('test-pass') instead of reading the env var, and batch_downloader references os.getenv without importing os. The SKILL.md also claims 'no telemetry' and 'safe for headless' even though the code uses Playwright for interactive SSO (and launches a non-headless browser in the truncated snippet).
Install Mechanism
This is instruction-only (no install spec in registry) and the repo includes requirements.txt and a package.json 'install' script that runs pip and playwright. No remote downloads or obscure installers are present in the package itself, but following the published install steps will install third-party packages and Playwright (which will download browser binaries).
Credentials
The skill expects sensitive inputs (Moodle webservice token in config.json and an encryption password). The registry lists no required env vars, yet SKILL.md requires MOODLE_CRED_PASSWORD. SKILL.md recommends putting that password directly into claude_desktop_config.json (cleartext in agent config) — this is disproportionate and risky. The code writes encrypted credentials to disk, but the hard-coded 'test-pass' in mcp_server undermines that model and could cause incorrect behavior or require storing secrets elsewhere.
Persistence & Privilege
The skill is not marked always:true. The main persistence concern is operational: the MCP server runs as a long-lived tool and the SKILL.md tells the user to add it to claude_desktop_config.json with the MOODLE_CRED_PASSWORD — that gives any agent with access to that MCP configuration the ability to call Moodle on the user's behalf. This is expected for an MCP integration but increases blast radius; combine with the secret-in-config guidance it becomes riskier.
How to Use
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install moodle-connector-skill - After installation, invoke the skill by name or use
/moodle-connector-skill - Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release of moodle-connector-skill v1.0.0.
- Full-featured Moodle REST API client with batch downloading and MCP protocol support (Claude Code/OpenCode integration).
- Provides complete Moodle API access for courses, grades, assignments, materials, deadlines, and announcements; aggressive download caching.
- Offers multiple integration modes: CLI, Python library, and native MCP server.
- Supports JSON-configurable batch downloads organized by course/module.
- Credentials are encrypted with PBKDF2 and Fernet; sensitive data never stored in git.
- Detailed security features: mandatory environment password, error sanitization, no telemetry.
- Includes documentation for installation, quick start, configuration, and troubleshooting.
Metadata
Frequently Asked Questions
What is Moodle Connector Skill?
Moodle REST API client, batch downloader, and MCP server for Claude Code integration. It is an AI Agent Skill for Claude Code / OpenClaw, with 91 downloads so far.
How do I install Moodle Connector Skill?
Run "/install moodle-connector-skill" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Moodle Connector Skill free?
Yes, Moodle Connector Skill is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Moodle Connector Skill support?
Moodle Connector Skill is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Moodle Connector Skill?
It is built and maintained by Jabir Iliyas Suraj-Deen (@jabir-srj); the current version is v1.0.0.
More Skills