MCP server for Moodle plugin development: structural context of a Moodle install for AI agents.
Runs on your machine from its package; the steps are below.

Not assessed yet.
Odel charges nothing per call. The publisher may charge for its own service.
Runs locally over stdio
This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).
Distributed as an MCP bundle (`https://github.com/oito2/mcp-build82/releases/download/v1.1.0/build82.mcpb`) — download it and import the bundle in your MCP client.
🌐 Language: English · Português
An MCP (Model Context Protocol) server that gives AI assistants structural understanding of a Moodle installation and its plugins, so they can answer questions about the codebase and build plugins that follow its real conventions. Distributed as a single static binary.
Point build82 at a Moodle installation and it scans the codebase (version.php, db/*.php, XMLDB
schemas, PHPDoc, hooks, tasks, capabilities, web services...) and generates a set of Markdown
context files describing the installation and any plugin you're developing. An AI assistant
connected to it can then answer questions about the codebase, scaffold new plugins consistently
with existing conventions, and keep the docs in sync as you work.
Main features:
doctor), package a plugin for release,
and create a new plugin skeleton..build82/ (at the Moodle root and at each
plugin's root), never loose in the Moodle or plugin root.Prerequisites:
universal-ctags on PATH, to also
generate a .build82/tags file for editor navigation.Download a release binary (no Go toolchain required). Every release ships a checksums.txt —
verify it before trusting a downloaded binary. From v1.1.0 checksums.txt is also signed with
Sigstore and every binary carries a GitHub build provenance attestation
(how to verify).
Full step-by-step guide with checksum verification and troubleshooting:
Installation Guide.
# amd64
curl -LO https://github.com/oito2/mcp-build82/releases/latest/download/build82_linux_amd64
curl -LO https://github.com/oito2/mcp-build82/releases/latest/download/checksums.txt
sha256sum -c checksums.txt --ignore-missing \
&& chmod +x build82_linux_amd64 \
&& sudo mv build82_linux_amd64 /usr/local/bin/build82
# arm64
curl -LO https://github.com/oito2/mcp-build82/releases/latest/download/build82_linux_arm64
curl -LO https://github.com/oito2/mcp-build82/releases/latest/download/checksums.txt
sha256sum -c checksums.txt --ignore-missing \
&& chmod +x build82_linux_arm64 \
&& sudo mv build82_linux_arm64 /usr/local/bin/build82
build82 --version
Check your chip with uname -m (arm64 = Apple Silicon, x86_64 = Intel):
# Apple Silicon (M1/M2/M3/M4)
curl -LO https://github.com/oito2/mcp-build82/releases/latest/download/build82_darwin_arm64
curl -LO https://github.com/oito2/mcp-build82/releases/latest/download/checksums.txt
shasum -a 256 -c checksums.txt --ignore-missing \
&& chmod +x build82_darwin_arm64 \
&& sudo mv build82_darwin_arm64 /usr/local/bin/build82
# Intel
curl -LO https://github.com/oito2/mcp-build82/releases/latest/download/build82_darwin_amd64
curl -LO https://github.com/oito2/mcp-build82/releases/latest/download/checksums.txt
shasum -a 256 -c checksums.txt --ignore-missing \
&& chmod +x build82_darwin_amd64 \
&& sudo mv build82_darwin_amd64 /usr/local/bin/build82
The binary isn't notarized by Apple, so Gatekeeper will refuse to run it the first time — clear
the quarantine flag: xattr -d com.apple.quarantine /usr/local/bin/build82.
On Windows on Arm, use build82_windows_arm64.exe in every command below.
Invoke-WebRequest -Uri "https://github.com/oito2/mcp-build82/releases/latest/download/build82_windows_amd64.exe" -OutFile "build82_windows_amd64.exe"
Invoke-WebRequest -Uri "https://github.com/oito2/mcp-build82/releases/latest/download/checksums.txt" -OutFile "checksums.txt"
Get-FileHash .\build82_windows_amd64.exe -Algorithm SHA256
Compare the printed Hash with the build82_windows_amd64.exe line in checksums.txt; continue
only if they match:
Unblock-File .\build82_windows_amd64.exe
New-Item -ItemType Directory -Force -Path "$env:LOCALAPPDATA\build82"
Move-Item -Force .\build82_windows_amd64.exe "$env:LOCALAPPDATA\build82\build82.exe"
[Environment]::SetEnvironmentVariable("Path", "$env:Path;$env:LOCALAPPDATA\build82", "User")
Restart your terminal and run build82 --version to confirm it's on your PATH.
The binary isn't code-signed; Unblock-File above keeps SmartScreen from blocking the first run
("Windows protected your PC") — if it still appears, click More info → Run anyway.
Or build from source (requires Go 1.26+):
go install github.com/oito2/mcp-build82/cmd/build82@latest
Register build82 as an MCP server in your AI tool:
build82 install [target]
It detects which supported tools are installed and prompts for the Moodle path. Run it without a
target to configure every tool found, or pass one explicitly: claude (Claude Code),
claude-desktop, antigravity, codex, opencode, cursor, zed, cline. Close the client
first: install edits a configuration file the client also writes.
For example, with Claude Code you can also register it manually:
claude mcp add --scope user build82 -e BUILD82_MOODLE_PATH=/path/to/moodle -- /usr/local/bin/build82
Claude Desktop can also install build82 as a desktop extension: every release ships a
build82.mcpb bundle with the binaries included — see
Claude Desktop. build82 is also
listed in the official MCP Registry as io.github.oito2/mcp-build82.
Per-client guides, including manual configuration: MCP Clients.
To remove it: build82 uninstall [target] — see Uninstallation.
build82 self-update --check # report whether a newer release exists (exit 10 if so), without installing it
build82 self-update # download, verify, and install the latest release
build82 self-update --require-signature # refuse to update unless cosign can verify the release signature
build82 self-update --rollback # restore the previous binary if the new version turns out to be broken
Downloads come only from this repository's release on GitHub. When cosign
v3 or later is on PATH, the release's signature is verified first; without it, a warning is
printed and only the checksum is checked. Every download is checksum-verified against the
release's checksums.txt and smoke-tested before the running binary is replaced; the previous
binary is kept as <path>.bak, and --rollback swaps the two (so running it again undoes it). If
no backup exists, or the backup does not run, it fails with a clear error and nothing is changed. Details:
CLI reference.
The full documentation site lives in docs/en/index.md (also in
Portuguese). Main entry points:
Contributing: see CONTRIBUTING.md for the development workflow and release
process, and the Code of Conduct.
This project was developed with the assistance of generative AI tools:
Scope: Generation of boilerplate, unit tests and refactoring of helper functions.
Oversight: All generated code was manually reviewed, tested and validated before integration.
GPL-3.0 — see LICENSE.