Skip to main content
Glama

moodle_get_page

Fetch any Moodle page as readable Markdown using a path or full URL, covering forums, resources, and sections without a dedicated tool.

Instructions

Fetch any Moodle page and return it as readable Markdown.

Use this for forums, resources, pages, sections, or anything without a dedicated tool. The URL may be a path like /mod/forum/view.php?id=123 or a full https://moodle.umontpellier.fr URL.

Args: url: path or full URL on moodle.umontpellier.fr.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "url": "<url>"
    },
    "name": "moodle_get_page"
  }
}

Input Schema

NameRequiredDescriptionDefault
urlYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.5.1

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations at all, the description carries the full behavioral burden. It usefully discloses the return format (readable Markdown) even though there is no output schema, but it never mentions whether authentication/moodle_login is required, how non-HTML or binary targets are handled, or what happens on an invalid or off-domain URL.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The key sentence leads, followed by usage and URL-format guidance, so it is front-loaded and easy to scan. The Args stanza largely repeats the host/path point already made in prose, a small redundancy rather than a real cost.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter fetch tool with no annotations and no output schema, the definition covers purpose, return format, and accepted URL shapes, which is most of what an agent needs. Auth prerequisites and failure behavior are the remaining omissions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate, and it does: it explains that url accepts either a relative path (with a concrete example, /mod/forum/view.php?id=123) or a full https://moodle.umontpellier.fr URL, and constrains the host. It stops short of query-parameter semantics, but the single parameter's format is well covered.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

"Fetch any Moodle page and return it as readable Markdown" gives a specific verb, resource, and output format. The definition explicitly carves out its niche ("forums, resources, pages, sections, or anything without a dedicated tool"), which distinguishes it from siblings like moodle_get_course or moodle_get_assignment without naming them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It clearly states the fallback condition: use this when no dedicated tool exists, and it lists the content types it covers. The main gap is that it doesn't say what to do when a dedicated tool does exist (e.g., prefer moodle_get_course for course pages), leaving the boundary partially inferential.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.