Skip to main content
Glama

Perfil de participante

get_participant_profile

Retrieves extended profile details for a class participant, including course, enrollment, description, and Lattes, using the participant's personId and class handle.

Instructions

Extra profile detail (curso, matrícula, descrição, Lattes, …) for a participant, by personId (from get_turma's participants[].personId).

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": {
      "frontEndIdTurma": "<frontEndIdTurma>",
      "personId": "<personId>"
    },
    "name": "get_participant_profile"
  }
}

Input Schema

NameRequiredDescriptionDefault
personIdYesThe participant's personId from get_turma
frontEndIdTurmaYesThe turma handle from get_portal

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.0.1

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are supplied, so the description carries the full burden; it implies a read-only lookup and hints at the returned fields, which is useful since there is no output schema. It says nothing about privacy sensitivity of the profile data (matrícula, Lattes), permission requirements, or behavior on an invalid personId/turma pair.

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?

A single compact sentence with the payload description front-loaded and the parameter provenance trailing. The trailing '…' is slightly loose but costs little.

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 simple two-parameter read tool with no output schema, the description names the returned data categories and the source of the key identifier, which is most of what an agent needs. Only the sensitivity/permission behavior is left uncovered.

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 coverage is 100% and both parameters are documented there, so the baseline is 3. The description reinforces the provenance of personId but adds nothing about frontEndIdTurma, which the schema alone explains.

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?

States a specific retrieval action (fetch extra profile detail) for a named resource (a participant) and enumerates the kinds of fields returned (curso, matrícula, descrição, Lattes). It is distinguishable from get_turma (which yields the participant list) and from download_participant_photo, though it never explicitly contrasts itself with those siblings.

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?

Gives a concrete prerequisite chain: call get_turma first and take participants[].personId, then call this. That is clear context for when to reach for it, but there is no explicit exclusion (e.g. 'for photos use download_participant_photo') or note about what to do if the personId is unknown.

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