Skip to main content
Glama

Crear oferta

create_offer

Create course offers with percentage, fixed amount, fixed price, second-course, or package discounts; offers remain paused until you confirm activation.

Instructions

[Administrador del aula] Crea una oferta para cursos del aula: porcentaje, monto de descuento, precio fijo, descuento en el segundo curso o paquete. Queda pausada salvo que pidas activarla; confirma con la persona antes de activarla.

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": {
      "classroom_id": "<classroom_id>",
      "name": "<name>",
      "kind": "<kind>",
      "course_ids": "<course_ids>"
    },
    "name": "create_offer"
  }
}

Input Schema

NameRequiredDescriptionDefault
kindYesTipo de oferta
nameYesNombre de la oferta
amountNoValor en la moneda de la plataforma, para monto, precio_fijo y paquete
ends_atNoFin en ISO 8601
percentNoPorcentaje, para porcentaje y segundo_curso
activateNo
starts_atNoInicio en ISO 8601
course_idsYes
max_claimsNoCupos
descriptionNoDescripción visible
classroom_idYesAula

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A3.6/5.0
Behavior4/5

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

Annotations only declare the mutation profile (readOnlyHint=false, destructiveHint=false, openWorldHint=false). The description adds real behavioral context beyond that: the created offer is left paused by default and activation requires explicit request plus human confirmation, which tells the agent the side effect is inert unless opted in. It still doesn't describe validation failures or what happens with mismatched kind/parameter combinations.

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?

Two sentences, front-loaded with the actor marker and the action, followed by the default-state and confirmation rule. Dense and largely waste-free; the kind enumeration is the only portion that partly duplicates the enum.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 11-parameter mutation tool with no output schema, the description covers the offer kinds and the activation posture but says nothing about date windows, course selection limits (max 50), claim caps, or the visible description field. Coverage is adequate at a business level, and the rich schema fills most of the gap, but an agent still lacks the outcome shape of a successful creation.

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 82%, so the schema already carries the per-parameter semantics (percent for porcentaje/segundo_curso, amount for monto/precio_fijo/paquete). The description repeats that mapping at a high level and usefully documents `activate`, which has no schema description, but adds no format, range, or interaction detail beyond the structured fields.

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 verb and resource ('Crea una oferta para cursos del aula') and enumerates the five offer kinds that map to the `kind` enum, so an agent knows the resource and its variants immediately. It does not explicitly distinguish itself from siblings like update_offer, set_offer_active or list_offers, which is the only reason it falls short of a 5.

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?

It gives one clear procedural guideline: the offer is created paused unless activation is requested, and the person must be confirmed with before activating. That is useful when-to-do guidance for the `activate` flag, but there is no guidance on when to create a new offer versus updating an existing one, nor any reference to the sibling tools that manage offers.

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