Skip to main content
Glama

refresh_user_field_schema

Discovers available user fields from a Moodle instance and updates the field schema to reflect changes, such as added or removed custom profile fields.

Instructions

Discover all available user fields from the connected Moodle instance and create or update the user field schema. Samples standard fields from the current user and custom profile fields from enrolled users across courses. Use this when: connecting to a new Moodle instance for the first time, or after a Moodle admin adds/removes custom profile fields, or when the operator asks to 'refresh the user fields'. Optional 'force' parameter (default false): when true, re-merges all fields from scratch (operator overrides on still-existing fields are preserved). When false, compares discovered fields against the stored schema and only updates if there are differences to report.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
forceNoForce a full re-merge from scratch even if nothing changed
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It explains that the tool samples fields from the current user and enrolled users across courses, that it creates or updates the schema, and that operator overrides on still-existing fields are preserved when force is true. It does not mention return value or potential side effects (e.g., whether it modifies the Moodle instance), but the behavioral details given are sufficient for a refresh operation.

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

Conciseness5/5

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

The description is concise and well-structured. It leads with the core purpose in the first sentence, then provides additional context, followed by usage guidelines and parameter explanation. Every sentence adds value, and there is no redundancy or fluff. The front-loading of the key action helps the agent quickly understand the tool's purpose.

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?

Given the tool has one optional parameter, no output schema, and no annotations, the description is reasonably complete. It covers the action, the scope of data sampled, usage scenarios, and parameter behavior. Minor gaps include not mentioning the output format (e.g., whether it returns a summary or confirmation) and not explicitly stating that this is a write operation. However, the overall coverage is strong for a tool of this complexity.

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 description coverage is 100%, so the baseline is 3. The description adds significant value beyond the schema: it explains the default value (false), the difference between true and false ('re-merges all fields from scratch' vs. 'only updates if there are differences'), and the preservation of operator overrides. This provides the agent with clear decision-making context for the parameter.

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?

The description clearly states the tool's purpose: 'Discover all available user fields from the connected Moodle instance and create or update the user field schema.' It uses specific verbs ('discover', 'create or update') and a specific resource ('user field schema'), and it distinguishes itself from sibling tools like get_user_field_schema (read-only) and update_user_field_schema (manual update) by focusing on automated discovery from the source.

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?

The description explicitly lists three clear use cases: 'when connecting to a new Moodle instance for the first time, or after a Moodle admin adds/removes custom profile fields, or when the operator asks to refresh the user fields.' It also explains the behavior of the force parameter. However, it does not explicitly state when to use alternative tools (e.g., get_user_field_schema for reading) or when not to use this tool, though the context of sibling tools makes this somewhat implicit.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/csmediapro/moodle-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server