Add a training goal option
create_training_goalAdds a training goal (e.g. "Corrida de rua") to the options the trainer picks from.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
create_training_goalAdds a training goal (e.g. "Corrida de rua") to the options the trainer picks from.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this is a non-read-only, non-destructive, open-world write, so the safety profile is covered. The description adds useful scoping context — that the goal becomes a selectable option in the trainer's picklist — but says nothing about duplicate-name handling, validation, permissions, or what is returned, which matters for a create operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the resource, the effect, and a concrete example. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter create tool with annotations present and no output schema, the description covers the core intent but leaves gaps: whether an existing goal with the same name causes an error, and what the call returns (e.g., the created goal with its id for later rename_training_goal calls).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 partially does by giving an example ('Corrida de rua') that implies the parameter is a human-readable display label. It does not state constraints such as uniqueness, max length, or whether the name is user-visible/localized.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource ('Adds a training goal') with a concrete example value ('Corrida de rua') and the qualifier 'to the options the trainer picks from', which clarifies this creates a catalog option rather than assigning a goal to a student. It does not name the near-siblings create_goal or list_training_goals explicitly, so differentiation is inferred rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the agent can infer this is for adding a new selectable goal option, but the description never states when to use this versus create_goal, update_goal, or rename_training_goal. No prerequisites, no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.