Moodle-MCP

70/100

Capped at 70: core tools not tested (only setup or self-check calls passed); the tests add up to 100. Why scores are capped

Last tested 2026-11-09 (Fresh: tested within 30 days) Connects · tools listedNo tool call tested yet Connects without a key; tool calls need one

No advisories in range for tested 1546a7009b0111c1a48ee5f736e89772ec08dd5c (checked 2026-11-10)

Security review: not tested

Test points add up to 100; the score is capped at 70 until a tool call passes. Not a quality or security rating. Methodology

Test points before the cap (100/100)

  • Install20/20
  • Handshake30/30
  • Maintenance25/25
  • Docs15/15
  • License10/10

Git-only (pinned)
Git-only (pinned): installed from GitHub commit 1546a7009b0111c1a48ee5f736e89772ec08dd5c (git clone https://github.com/Faixiang/Moodle-MCP && git -C Moodle-MCP checkout <sha> && python3 Moodle-MCP/server.py), install scripts off. Initialize and tools/list worked (10 tools). Stand-alone Python script (stdlib only, no dependencies), run with python3. Real calls (no credentials): moodle_setup_guide returned the token setup guide and moodle_config_status returned the configuration self-check (no token configured). The Moodle data tools (courses, assignments, files) were not called: they need a Moodle web-service token. The default site URL in the code is moodle.sfu.edu.hk. Not listed on Glama when tested. Score capped at 70 (setup and self-check calls do not count as a tested tool): only the setup guide and config self-check passed; core tools not tested (they need a Moodle token).
Tool-call test (2026-11-09, direct MCP stdio client, no LLM): self-check only. 2 of 2 calls passed; both are setup/self-check tools. Moodle data tools not called (need a Moodle token). Setup/self-check calls only: core tools not tested. Evidence: local test run, Nov 9, 2026.

Transport (tested 2026-11-09): stdio

Tested commit: 1546a70 · tested 2026-11-09

Token cost (estimate): approx. 942 tokens, cl100k estimate (10 tools, measured 2026-11-11, SHA 1546a7009b0111c1a48ee5f736e89772ec08dd5c). This is an estimate from our testing of the tool names, descriptions and input schemas, counted with cl100k_base.

Permissions: 4 read, 0 write (state-changing), 6 unclassified · Auth: API key · Rate limit: unknown · Pricing unit: unknown

Auth: API key. Rate limit: unknown. Pricing unit: unknown.

  • moodle_config_status — read
  • moodle_course_files — unclassified
  • moodle_download_week — unclassified
  • moodle_list_courses — read
  • moodle_pending_assignments — unclassified
  • moodle_quiz_status — read
  • moodle_recent_updates — unclassified
  • moodle_setup_guide — unclassified
  • moodle_site_info — read
  • moodle_weekly_digest — unclassified

listing-flags calls_need_key or auth_kind

Score 70/100 · Tools 10 · Token cost approx. 942 tokens · Compare · Last tested 2026-11-09 · Version tested 1546a7009b0111c1a48ee5f736e89772ec08dd5c · Package moodle-mcp · Repo Faixiang/Moodle-MCP

Summary: Moodle-MCP completed an MCP handshake without credentials and exposed 10 tools.

Evidence summary

Handshake
pass
Tools listed
10
Context cost
approx. 942 tokens, cl100k estimate (10 tools, measured 2026-11-11, SHA 1546a7009b0111c1a48ee5f736e89772ec08dd5c; an estimate) ranking · add up your servers' context cost
API key
Connects without a key; tool calls need one
Tested
2026-11-09

Test results

TestResultPointsEvidence
installpass20git clone https://github.com/Faixiang/Moodle-MCP && git -C Moodle-MCP checkout 1546a7009b0111c1a48ee5f736e89772ec08dd5c && python3 Moodle-MCP/server.py (git install pinned to commit 1546a7009b0111c1a48ee5f736e89772ec08dd5c, Node 20 / Python venv, Linux, scrubbed env) succeeded in 0s; installed package resolves to the pinned SHA (1546a7009b0111c1a48ee5f736e89772ec08dd5c).
handshakepass30MCP initialize + tools/list over stdio succeeded with no credentials; 10 tools listed in 0.0s.
maintenancepass25Pinned commit 1546a70 dated 2026-11-01 (https://api.github.com/repos/Faixiang/Moodle-MCP/commits/1546a7009b0111c1a48ee5f736e89772ec08dd5c), 7 days before test; 204 GitHub stars.
docspass15README over 3,000 chars; install instructions present; mcpServers config example present. Check of the package's own README (README.md at pinned commit 1546a70 (raw.githubusercontent.com)).
licensepass10MIT (OSI-approved).

Local-model readiness

Token cost (estimate): approx. 942 tokens, cl100k estimate for 10 tools · about 11% of an 8k context. This is an estimate from our testing (counted with cl100k_base).

Small-model friendly (schema heuristic, not a model result): unknown.

Not tested

Small-model task runs: Not yet tested.

What we tested and what we didn't

Tested on 2026-11-09

  • Install from the registry
  • We connected with no credentials and asked for its tool list: it listed 10 tools (Method details: MCP initialize then tools/list)
  • Maintenance signals (last push, archived/deprecated status)
  • Docs (README length, install and config example)
  • License (OSI-approved or not)
  • Token cost (estimate)

Not tested

  • Security: not audited (no code review, no permission or data-flow analysis)
  • Real tasks (no functional task runs yet)
  • Behaviour with real credentials or a real account
  • Performance, rate limits or load
  • Correctness of results beyond the listed tasks

Methodology: how we test. A high score means it installs and responds, not that giving it access to your data carries no risk.

Known security issues

Checked on 2026-11-10 for version 1546a7009b0111c1a48ee5f736e89772ec08dd5c against GitHub repository advisories. Scope: the package itself; dependencies not scanned.

No published advisories found in OSV and GitHub advisories for github.com/Faixiang/Moodle-MCP 1546a7009b0111c1a48ee5f736e89772ec08dd5c as of 2026-11-10. This is not a security audit.

Monthly roundup: MCP security issues, October 2026.

Tool list changes

Unchanged since the previous snapshot (latest 2026-11-11).

Snapshot hash (fingerprint of the tool list)

8d4cd04cc13d: SHA-256 of the canonical tool names, descriptions and input schemas. If it changes, the tool list changed.

Feeds: RSS · JSON.

Raw test record (JSON)
{
  "name": "moodle-mcp",
  "version": "1546a7009b0111c1a48ee5f736e89772ec08dd5c",
  "registry": "git",
  "status": "working",
  "tested": "2026-11-09",
  "tools_count": 10,
  "deprecated": false,
  "archived": false,
  "tests": {
    "install": [
      "pass",
      20,
      "`git clone https://github.com/Faixiang/Moodle-MCP && git -C Moodle-MCP checkout 1546a7009b0111c1a48ee5f736e89772ec08dd5c && python3 Moodle-MCP/server.py` (git install pinned to commit 1546a7009b0111c1a48ee5f736e89772ec08dd5c, Node 20 / Python venv, Linux, scrubbed env) succeeded in 0s; installed package resolves to the pinned SHA (1546a7009b0111c1a48ee5f736e89772ec08dd5c)."
    ],
    "handshake": [
      "pass",
      30,
      "MCP `initialize` + `tools/list` over stdio succeeded with no credentials; 10 tools listed in 0.0s."
    ],
    "maintenance": [
      "pass",
      25,
      "Pinned commit 1546a70 dated 2026-11-01 (https://api.github.com/repos/Faixiang/Moodle-MCP/commits/1546a7009b0111c1a48ee5f736e89772ec08dd5c), 7 days before test; 204 GitHub stars."
    ],
    "docs": [
      "pass",
      15,
      "README over 3,000 chars; install instructions present; `mcpServers` config example present. Check of the package's own README (README.md at pinned commit 1546a70 (raw.githubusercontent.com))."
    ],
    "license": [
      "pass",
      10,
      "MIT (OSI-approved)."
    ]
  }
}

Install

git clone https://github.com/Faixiang/Moodle-MCP && git -C Moodle-MCP checkout 1546a7009b0111c1a48ee5f736e89772ec08dd5c && python3 Moodle-MCP/server.py

Tools listed

moodle_config_status, moodle_course_files, moodle_download_week, moodle_list_courses, moodle_pending_assignments, moodle_quiz_status, moodle_recent_updates, moodle_setup_guide, moodle_site_info, moodle_weekly_digest

Tool history: captured Nov 11, 2026. All tool history.

Quick config

{
  "mcpServers": {
    "moodle-mcp": {
      "command": "python3",
      "args": [
        "/abs/path/Moodle-MCP/server.py"
      ]
    }
  }
}

Add to config Opens the config generator with this server selected.

Setup

  1. Install. Run git clone https://github.com/Faixiang/Moodle-MCP && git -C Moodle-MCP checkout 1546a7009b0111c1a48ee5f736e89772ec08dd5c && python3 Moodle-MCP/server.py (git install pinned to commit 1546a7009b0111c1a48ee5f736e89772ec08dd5c). This is the exact command we ran on 2026-11-09.
  2. Configure. Add the mcpServers entry below to your MCP client config.
  3. Verify. Restart the client and check that tools/list returns tools (10 in our test).
{
  "mcpServers": {
    "moodle-mcp": {
      "command": "python3",
      "args": [
        "/abs/path/Moodle-MCP/server.py"
      ]
    }
  }
}

Test history

Follow this server (RSS) · Monthly changelog

Related: Troubleshooting: Protocol version mismatch (HTTP 400)

FAQ

Is Moodle-MCP deprecated?

No. moodle-mcp was not deprecated or archived when we last tested it on 2026-11-09.

What replaces Moodle-MCP?

Nothing; Moodle-MCP is not deprecated as of 2026-11-09.

Does Moodle-MCP need an API key?

It connects and lists 10 tools without a key, but its Moodle data tools need a Moodle web-service token, so we called only the setup and config self-check tools (our test, 2026-11-09).

Embed the badge

TestedMCP: 70/100, tested 2026-11-09

Every tested server gets a free embeddable badge. It shows the current score and test date and expires after 90 days. Testing is free; payment never changes a score.

Claim this listing · Report an issue