Skip to main content
Glama

StampyWallet

Programmer un message récurrent

programmer_message_recurrent
Destructive

Programme un message qui se répète tout seul sur l’écran verrouillé des clients : chaque semaine (un ou plusieurs jours), ou chaque mois (tel jour du mois, ou « le premier lundi », « le dernier vendredi »), à une heure du commerce entre 7 h et 21 h 45. Exemples : « chaque mardi 11 h, l’emplacement du food truck », « le 1er de chaque mois, aux anniversaires du mois ». Le groupe visé se recalcule à chaque envoi. Fin facultative : une date, ou un nombre d’envois. Règles : un message par jour (un jour où un autre message part déjà, l’occurrence est sautée), jours de fermeture et congés sautés (ou décalés au jour ouvert suivant avec si_ferme=decaler), heures calmes respectées, premier envoi dans les 60 jours. confirmer=false (défaut) rend un aperçu ; confirmer=true l’exécute, après l’accord explicite de la personne. Pour un envoi unique et immédiat, utiliser envoyer_message.

Input Schema

NameRequiredDescriptionDefault
finNoDernier jour possible, inclus (AAAA-MM-JJ). Facultatif.
rangNoPour frequence=mois : « premier » lundi, …, « dernier » vendredi du mois (avec jour_rang).
debutNoPremier jour possible (AAAA-MM-JJ). Par défaut aujourd’hui.
heureNoL’heure du commerce, HH:MM, entre 07:00 et 21:45.
joursNoPour frequence=semaine : les jours d’envoi.
texteYesLe texte exact de la notification, 180 caractères au plus.
groupeNoQui le reçoit, recalculé à chaque envoi : tous, inactifs_30/60/90 (pas venus depuis N jours), proches (à 1 ou 2 tampons de la récompense), anniversaires (nés ce mois-ci), meilleurs, nouveaux. Un groupe autre que tous demande les notifications ciblées. Pour programmer seulement (défaut tous).
nombreNoOu : le nombre d’envois réellement partis après lequel la règle s’arrête.
si_fermeNoUn jour de fermeture ou de congés : sauter (défaut) ou décaler au jour ouvert suivant.
confirmerNofalse (défaut) : rend seulement un aperçu de ce qui serait fait, sans rien changer. true : exécute. Toujours montrer l’aperçu à la personne et attendre son accord avant de repasser avec true.
frequenceNosemaine : avec jours. mois : avec jour_mois, ou rang et jour_rang.
jour_moisNoPour frequence=mois : le jour du mois (1 à 31 ; un 31 tombe le dernier jour d’un mois plus court).
jour_rangNoLe jour de la semaine qui va avec rang.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Beyond destructiveHint=true and openWorldHint=true, the description discloses non-obvious behavior: one message per day (colliding occurrences are skipped), closed days and vacations skipped or shifted via si_ferme, quiet hours respected, first send must fall within 60 days, and the target group is recomputed at each send. The preview/confirm safety path is spelled out, which the annotations alone would not convey.

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?

Front-loaded with purpose, then cadence, examples, business rules, the confirmer workflow, and finally the sibling alternative — a deliberate ordering with no filler despite the density required by 13 parameters. Every sentence carries an operational constraint.

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

Completeness5/5

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

For a 13-parameter mutation tool with no output schema, the description supplies the missing pieces: collision rules, closure handling, the 60-day horizon, quiet hours, and the mandatory preview-then-confirm protocol. Nothing an agent needs to invoke it safely is absent.

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%, so the schema already documents every parameter, including enum meanings and defaults; that sets the baseline at 3. The description reinforces parameter meaning with worked examples ('chaque mardi 11 h', 'le 1er de chaque mois') and the 07:00–21:45 time window, but most of this restates what the schema says.

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

Purpose5/5

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

States a specific verb and resource ('Programme un message qui se répète... sur l'écran verrouillé des clients') and enumerates the two scheduling modes (weekly / monthly) with concrete examples. It explicitly contrasts itself with envoyer_message for one-off sends, so an agent can route correctly without opening the schema.

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

Usage Guidelines5/5

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

Explicit when-to-use (recurring weekly/monthly at a business hour) and when-not ('Pour un envoi unique et immédiat, utiliser envoyer_message'). It also prescribes the operational flow: run with confirmer=false for a preview, show it to the person, then re-run with confirmer=true only after explicit consent.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources