Connect your site
One organization, one Moodle
An organization owns exactly one Moodle connection. If you run several Moodle installs (production and staging, or several institutions), create one organization per install — each gets its own endpoint, its own keys and its own usage.
Register the site
- Open Organization → Moodle and enter your Moodle URL. HTTPS is required and the URL is validated against private address ranges, so a site that isn't publicly reachable is rejected here.
- The panel generates two credentials and shows them only once:
- the license key, which identifies your install;
- the panel secret, used to sign every request between the plugin and the panel.
- Copy both, then paste them into the plugin — see Moodle plugin.
Possession of the license key alone grants nothing: every request must also carry a valid signature computed with the secret, so the pair only works together.
Verify the link
The plugin's Validate license button confirms the credentials and that the URL the panel has on file matches the site actually calling. Once verified, the panel caches your site's name, version and language from Moodle's own site-info call, and shows them on the Moodle page.
If the check fails, Troubleshooting covers the usual causes.
Rotate credentials
Organization → Moodle → Rotate credentials invalidates the current license key and panel secret immediately and issues a new pair, shown once. Every owner and admin of the organization receives a security notification.
Rotate when:
- the secret may have been exposed (shared by email, committed to a repo, seen by someone who has left);
- you migrate the site to a new server or hosting provider;
- you lost the values and need a working pair again.
The connection stops working until you paste the new pair into the plugin, so plan a couple of minutes of downtime for the assistants.
Change the site URL
Changing the URL re-runs the same validation. If your Moodle moves domain, update it here first, then re-validate from the plugin. Keys keep working — they are tied to the connection, not to the hostname.
Disconnect
Disconnecting removes the stored credentials and the encrypted Moodle tokens, and stops the MCP endpoint from resolving. Existing keys stop working immediately. The Moodle-side tokens remain in your Moodle until you remove them there, so revoke the users in the plugin as well if you're decommissioning.