Skip to main content
Glama

propose_recommendation

Reserve one semantic-fit hint per turn and per card/task, recording the reason and matched conditions for later review.

Instructions

After semantic fit assessment, reserve ONE hint per turn and per card/task. No popup yet.

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": {
      "recommendation": "<recommendation>"
    },
    "name": "propose_recommendation"
  }
}

Input Schema

NameRequiredDescriptionDefault
manualNo
recommendationYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, openWorldHint=false, so mutability and safety are covered. The description adds real behavioral context beyond that: a hard limit of one hint per turn per card/task, and 'No popup yet' indicating no UI side effect is produced. What it omits is what happens on a second call in the same turn (error, overwrite, or no-op) and whether the reservation persists — material for a mutating tool.

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

Conciseness3/5

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

Two short sentences with no wasted words, but the brevity comes at the cost of clarity — 'No popup yet' is cryptic and 'reserve ONE hint' is front-loaded without first stating what the tool produces. Terse rather than well-structured.

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?

An output schema exists, so return values need no explanation, and the description does supply the key constraint (one reservation per turn per card/task) plus the no-popup note. Still, for a mutating tool with a nested payload at 0% schema coverage, an agent is left guessing about conflict behavior and the meaning of the 'manual' flag.

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

Parameters2/5

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

Schema description coverage is 0% and the single required parameter is a nested Recommendation object with six undocumented fields (reason, card_id, task_id, turn_id, matched_conditions, caveats). The description never explains any of these; only 'per card/task' loosely gestures at the card_id/task_id fields. The 'manual' flag is entirely unexplained.

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

Purpose3/5

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

The description says it 'reserve[s] ONE hint per turn and per card/task', which conveys an action and a scoping constraint, but it never states plainly that the tool proposes a recommendation record, nor does it distinguish itself from siblings like get_recommendation or expand_recommendation. The action is inferable from the name plus 'reserve', but the description alone leaves the core purpose ambiguous.

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?

'After semantic fit assessment' establishes a sequencing precondition, which is genuine usage context. However, there are no when-not conditions and no routing to alternatives such as expand_recommendation or get_recommendation, even though those siblings clearly overlap in the recommendation lifecycle.

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