Skip to main content
Glama

Listar fóruns da disciplina

get_forums
Read-onlyIdempotent

Lists Moodle course forums, such as announcements and discussion boards, and returns their IDs for reading or posting messages.

Instructions

Lista os fóruns de uma disciplina (ex: "Avisos" e "Fórum de Discussão"), retornando seus IDs para leitura ou publicação de avisos.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "get_forums"
  }
}

Input Schema

NameRequiredDescriptionDefault
courseIdNoID da disciplina no Moodle.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.2.1

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered structurally. The description adds one genuinely new behavioral fact: that the response consists of forum IDs destined for later read/post calls, which matters because there is no output schema. It does not state whether all forums are returned or whether visibility/permission filtering applies.

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?

A single front-loaded sentence that states the action, the scope, illustrative forum names, and the return value. No filler, no repetition of the title.

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 read tool with rich annotations and no output schema, the definition covers purpose, scope, and return shape sufficiently to call it correctly. The only residual gap is permission/visibility behavior for forums, which is minor here.

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

Parameters3/5

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

Schema description coverage is 100% and the single courseId parameter is documented in-schema as "ID da disciplina no Moodle". The description mentions the discipline scope but adds no format, source, or constraint details beyond the schema, so the baseline of 3 applies.

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

Purpose4/5

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

The description gives a specific verb and resource ("Lista os fóruns de uma disciplina") plus concrete examples of what forums look like ("Avisos", "Fórum de Discussão"), so the agent knows this is the forum-listing step rather than the discussion-listing one. It stops short of explicitly naming the sibling get_forum_discussions as the next step, so differentiation is inferred from the resource noun alone.

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

Usage Guidelines3/5

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

"retornando seus IDs para leitura ou publicação de avisos" implies the tool is a prerequisite step before reading or posting, which is useful implicit guidance. However, no alternative is named and there is no when-not-to-use or prerequisite statement, leaving the agent to infer that get_forum_discussions and post_forum_discussion are the follow-ups.

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