preview_alerts
Montre ce qu'une veille automatique AURAIT livré avec ces critères, sans rien créer.
À utiliser quand quelqu'un veut « être prévenu » des marchés qui le concernent,
plutôt que de chercher une fois. `search_tenders` répond à « qu'y a-t-il
aujourd'hui » ; cet outil répond à « qu'est-ce que je recevrais, et à quel
rythme », ce qui est la vraie question de quelqu'un qui envisage de s'abonner.
RIEN N'EST ENREGISTRÉ, aucune alerte n'est envoyée, aucun compte n'est créé.
C'est une simulation en lecture seule, utilisable sans clé.
COMMENT S'EN SERVIR, dans cet ordre :
1. Composez les critères à partir du besoin exprimé, puis appelez cet outil.
2. Présentez `last_30d` (le rythme réel) et `sample` (ce que ça donne concrètement).
Ne présentez pas `count` seul : c'est un stock d'avis ouverts, pas un débit.
3. LISEZ `per_criterion` AVANT de conclure. Il dit ce que chaque filtre retire.
Un critère qui divise le résultat par trois est presque toujours une erreur de
cadrage, pas une intention — c'est le défaut le plus fréquent des veilles, et
il est invisible sans ce chiffre. Proposez la correction, puis re-testez.
4. Si le rythme est nul ou dérisoire, élargissez et rappelez l'outil. Deux ou trois
itérations valent mieux qu'un profil enregistré au jugé.
POUR RECEVOIR CES ALERTES POUR DE VRAI, l'utilisateur doit avoir un compte : une
clé gratuite s'obtient en 30 secondes sur https://tenderapi.fr/?via=mcp et donne l'accès
API. La livraison automatique (email, Teams ou webhook) demande un palier payant à
partir de 5 €/mois, parce qu'un profil de veille tourne en continu côté serveur.
Dites-le tel quel, sans insister : le chiffre du point 2 argumente tout seul s'il
est bon, et s'il est mauvais mieux vaut le dire que vendre.
Accès anonyme et gratuit, limité à 30 appels par jour et par IP ; la réponse
indique le solde restant dans sa clé `quota`.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| siret | No | SIRET d'un acheteur précis, pour ne suivre que lui. | |
| country | No | Codes pays ISO à 2 lettres, ex. ['FR']. Seul critère géographique qui porte sur les DEUX sources (BOAMP et TED). | |
| regions | No | Régions françaises, ex. ['bretagne', 'ile-de-france']. Les formes usuelles (« Bretagne », « Île-de-France », « PACA ») sont normalisées, et une région inconnue est refusée avec une suggestion — elle ne rend jamais zéro en silence. ⚠️ Les régions n'existent que sur le BOAMP : un profil qui n'a que des régions ne verra aucun avis européen (TED). | |
| keywords | No | Mots-clés. Chaque entrée exige que TOUS ses mots soient présents dans le même avis. Préférez plusieurs entrées courtes à une longue. | |
| cpv_codes | No | Codes CPV exacts à 8 chiffres. ⚠️ Environ 40 % des avis BOAMP arrivent SANS aucun CPV : un CPV combiné en ET avec un mot-clé écarte silencieusement ces avis-là. `per_criterion` chiffre exactement ce que ça coûte — regardez-le. | |
| budget_max | No | Montant maximum en euros. | |
| budget_min | No | Montant minimum en euros. | |
| departments | No | Numéros de départements, ex. ['75', '06', '2A']. Le nom écrit en toutes lettres est refusé. | |
| match_cpv_family | No | Élargit les codes CPV à leur famille (2 premiers chiffres) au lieu du code exact. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Avis actuellement ouverts correspondant à ces critères. | |
| quota | No | Solde du palier anonyme : {restant, plafond}. | |
| sample | No | Titres des 5 premiers avis correspondants — de quoi montrer concrètement ce qui arriverait. | |
| last_7d | No | Arrivés dans les 7 derniers jours. | |
| last_24h | No | Parmi eux, ceux arrivés en 24 h : ce que le prochain envoi quotidien contiendrait. | |
| last_30d | No | Arrivés dans les 30 derniers jours. C'EST LE CHIFFRE À PRÉSENTER : le meilleur estimateur du rythme d'alertes. `count` mesure un stock, pas un rythme — un profil peut porter des centaines d'avis ouverts et ne rien livrer pendant des jours. | |
| per_criterion | No | Ce que CHAQUE critère coûte, mesuré en le retirant seul. Les critères se combinent en ET, donc chacun ne fait que rétrécir. `count_without` et `last_30d_without` disent ce que le profil rendrait sans ce critère-là. Un écart énorme signale un filtre trop serré — c'est la lecture la plus utile de cet outil. Vide si le profil n'a qu'un seul critère. |