MCP Server for Moodle Developer Documentation
SaferSkills independently audited moodle_dev_mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
A Model Context Protocol (MCP) server that provides seamless access to Moodle developer documentation from moodledev.io. This server enables AI assistants and other MCP clients to search, browse, and retrieve Moodle development documentation with version-specific support.
The easiest way to install the Moodle Developer Documentation MCP Server is via PyPI:
pip install moodle_dev_mcp#### For Development or Specific Environments
If you're working in a virtual environment (recommended):
# Create a virtual environment
python -m venv moodle_mcp_env
# Activate the virtual environment
# On Windows:
moodle_mcp_env\Scripts\activate
# On macOS/Linux:
source moodle_mcp_env/bin/activate
# Install the package
pip install moodle_dev_mcp#### Install with UV (Recommended for faster installs)
If you have uv installed:
uv pip install moodle_dev_mcpAfter installation, verify that the server is properly installed:
python -c "import moodle_dev_mcp; print('Installation successful!')"Or test the server directly:
python -m moodle_dev_mcpTo use this MCP server with Claude Desktop, add the following configuration to your Claude Desktop config file:
Location of config file:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.jsonConfiguration:
{
"mcpServers": {
"moodle_dev_docs": {
"command": "python",
"args": ["-m", "moodle_dev_mcp"],
"env": {}
}
}
}If you installed in a virtual environment, use the full path to the Python executable:
{
"mcpServers": {
"moodle_dev_docs": {
"command": "/path/to/your/venv/bin/python",
"args": ["-m", "moodle_dev_mcp"],
"env": {}
}
}
}For other MCP clients, use the following command to start the server:
python -m moodle_dev_mcpThe server provides the following tools that can be used by MCP clients:
get_versionsGet a list of available Moodle versions in the developer documentation.
Parameters: None
Example usage:
Get available Moodle versionssearch_docsSearch Moodle developer documentation for specific topics or APIs.
Parameters:
query (required): Search query (e.g., "database API", "plugin development")version (optional): Specific Moodle version to searchlimit (optional): Maximum number of results (default: 10)Example usage:
Search for "plugin development" in Moodle documentation
Search for "database API" in version 4.2 with limit 5get_api_structureGet the API documentation structure for a specific Moodle version.
Parameters:
version (optional): Moodle version (defaults to latest)Example usage:
Get API structure for Moodle 4.2
Get latest API structurefetch_pageFetch full content of a specific Moodle developer documentation page.
Parameters:
url (required): Full URL of the documentation pageExample usage:
Fetch content from https://moodledev.io/docs/apis/plugintypes/modOnce configured with your MCP client, you can use natural language to interact with the Moodle documentation:
For development, clone the repository and install in development mode:
git clone https://github.com/khairu-aqsara/moodle_dev_mcp.git
cd moodle_dev_mcp
# Install in development mode
pip install -e .
# Or with development dependencies
pip install -e ".[dev]"Run tests with:
pytestpip install --user moodle_dev_mcp if you encounter permission issuespython --versionEnable debug logging by setting the environment variable:
export PYTHONPATH=.
python -c "import logging; logging.basicConfig(level=logging.DEBUG)" -m moodle_dev_mcpContributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
git checkout -b feature/amazing-feature)pytest)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)This project is licensed under the MIT License - see the LICENSE file for details.
Note: This is an unofficial tool and is not affiliated with Moodle HQ. It's designed to make Moodle developer documentation more accessible through modern AI tools.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.