io.github.AnonymousOnyx22/moodle-student-mcp·Utilities

moodle-student-mcp

Read-only Moodle for AI: due dates, assignments, grades, announcements and course content.

Stars
0
Version
0.1.0
License
MIT
Review
Passed
Language
TypeScript
Last commit
1h ago
Forks
0
Open issues
0
Registry update
Oct 14, 2026
chatgptclaudeedtechmcpmcp-servermodel-context-protocolmoodlestudents

Connect

npm
Terminal
$claude mcp add moodle-student-mcp \  -- npx -y [email protected]

Environment variables

Nothing to configure — it works as is.

Security review

Review passed

Reviewed 4m ago.

metadata
scanned
packages
1 checked

No findings.

Tools

This server runs on your machine, so its tool list is not fetched before install — the README below describes what it offers.

Moodle MCP for students

Ask your AI what's actually left to do in Moodle.

This is a free, open source MCP server. It lets Claude, ChatGPT, Cursor and other AI apps read your Moodle courses, due dates, grades and announcements. It is read only. It can never submit, edit or delete anything.

Works with Moodle sites that have the mobile web service turned on. Not affiliated with Moodle Pty Ltd.

Free forever. No sign up and no subscription. Your login details only ever go to your own school.

Quick start

  1. In Moodle, open your profile menu, go to Preferences > User account > Security keys. Copy the key for Moodle mobile web service.
  2. Add this to your AI app's MCP config (for Claude Desktop that's claude_desktop_config.json):
{
  "mcpServers": {
    "moodle": {
      "command": "npx",
      "args": ["-y", "moodle-student-mcp"],
      "env": {
        "MOODLE_BASE_URL": "https://moodle.yourschool.edu",
        "MOODLE_TOKEN": "paste-your-key-here"
      }
    }
  }
}
  1. Restart your AI app and ask something like "what's due this week?"

To check your setup first, run npx moodle-student-mcp doctor with the two environment variables set.

If you can't find a Security keys page, your school has turned off the mobile web service, or signs you in through single sign on without exposing keys. In that case this server can't connect to your account.

What you can ask

  • "What's due in the next two weeks?"
  • "Is anything overdue?"
  • "What's my grade in each course, and what's in the gradebook for Networking?"
  • "Any new announcements?"
  • "Which assignments have I not submitted yet?"

Tools

All tools are read only.

ToolWhat it does
get_my_coursesYour current courses and their IDs
get_upcoming_due_datesEverything due in the next 60 days, soonest first
get_overduePast due items that still need action
get_assignmentsAssignments for a course with due dates and submission status
get_my_gradesCurrent grade for each course
get_course_grade_itemsEvery graded item in a course with mark and percentage
get_course_contentSections and activities for a course
get_announcementsRecent announcements

Privacy and security

  • Your key stays on your computer. It is only sent to your own school's Moodle address.
  • Nothing is sent to any other server by this project.
  • Every tool is marked read only. You can reset your key any time on the Security keys page.

Troubleshooting

MessageFix
Not signed inYour key expired or was reset. Copy the new one.
Access deniedYour school turned that feature off for students.
Web services not enabledYour school hasn't turned on the mobile web service.
Not foundCheck the course ID with get_my_courses.

Development

npm install
npm run build
npm test

Tests run against a fake Moodle server, so they need no account or network.

Also available

  • Brightspace MCP for D2L Brightspace, with a hosted version, deadline alerts and a daily digest.

License

MIT

From the server's repository — third-party content, read it before running anything it suggests.

More in Utilities

Listing from the official MCP Registry · repository facts from GitHub, 6m ago.