Skip to main content
Glama

Outil.io

Create presentation

create_presentation

Créer une présentation à partir de diapositives que vous rédigez entièrement : le service valide chaque diapositive contre sa mise en page, la met en page selon le modèle et l’enregistre (aucune génération). Une diapositive dont le contenu ne remplit pas sa mise en page est refusée avec la raison. Renvoie id, embedUrl (aperçu intégrable 1 h), openPath (page de l’outil), presentUrl (présentation plein écran) et editUrl (éditeur visuel).

Chaque diapositive : {layout, title (≤ 120, obligatoire), subtitle?, notes? (notes de l'orateur ≤ 3200), keyTerms? (≤ 6), encart? {type: astuce|attention|cle|source, texte}, …champs de sa mise en page}. Champs par mise en page :

  • titre : couverture : "subtitle"?, "image": {"url" (https, PNG/JPEG/WebP/GIF ≤ 10 Mo) ou "asset" (chemin renvoyé par le service), "alt"?, "fit"?: "cover"|"contain", "caption"?, "credit"?: {"author","license","url"}}? (photo de fond)

  • chapitre : intercalaire de partie : "subtitle"? (résumé), "points"? (≤ 6), "chapter"? (numéro, sinon compté automatiquement)

  • image : "image": {"url" (https, PNG/JPEG/WebP/GIF ≤ 10 Mo) ou "asset" (chemin renvoyé par le service), "alt"?, "fit"?: "cover"|"contain", "caption"?, "credit"?: {"author","license","url"}} OBLIGATOIRE, "points"?, "pointDetails"?

  • objectifs : "points" (1 à 6 objectifs)

  • points : "points" (1 à 6, ≤ 180 car.), "pointDetails"? (une explication par point, ≤ 520 car.), "image": {"url" (https, PNG/JPEG/WebP/GIF ≤ 10 Mo) ou "asset" (chemin renvoyé par le service), "alt"?, "fit"?: "cover"|"contain", "caption"?, "credit"?: {"author","license","url"}}? (panneau à côté)

  • definition : "term" (≤ 80), "definition" (≤ 400), "example"? (≤ 300)

  • etapes : "steps": [2 à 6 {"label" (2 à 5 mots), "detail" (1 à 2 phrases)}]

  • comparaison : "left" et "right": {"title", "points": [1 à 5]}

  • chiffre : "figure": {"value" (≤ 24 car., ex. « 30 % »), "label", "context"?}

  • citation : "quote": {"text" (≤ 400), "source"?}

  • schema : "image": {"url" (https, PNG/JPEG/WebP/GIF ≤ 10 Mo) ou "asset" (chemin renvoyé par le service), "alt"?, "fit"?: "cover"|"contain", "caption"?, "credit"?: {"author","license","url"}} (figure montrée entière), "points"? (1 à 3 notes)

  • cas : "cas": {"contexte" (qui/où), "situation" (2 à 4 phrases chiffrées), "analyse": [2 à 5 étapes], "lecon"? (la leçon), "donnees"? [≤ 5 {"label","valeur"}], "livrable"?}

  • recap : "points" (1 à 6 idées à retenir)

  • chronologie : "elements": [3 à 6 {"date", "titre", "texte"?}]

  • cartes : "elements": [2 à 6 {"icone"? (un emoji), "titre", "texte"?}]

  • statistiques : "elements": [2 à 4 {"valeur" (court : « 72 % »), "titre", "texte"?}]

  • cycle : "elements": [3 à 6 {"titre", "texte"?}] dans l'ordre de la boucle

  • pyramide : "elements": [3 à 5 {"titre", "texte"?}], le 1er est le sommet

  • entonnoir : "elements": [3 à 5 {"titre", "texte"?, "valeur"?}] du plus large au plus étroit

  • matrice : "axes": {"x", "y"}, "elements": EXACTEMENT 4 {"titre", "texte"?} (haut-gauche, haut-droite, bas-gauche, bas-droite)

  • graphique : "elements": [2 à 8 {"titre" (libellé), "valeur" (NOMBRE)}], "unite"? (barres)

  • tableau : "tableau": {"colonnes": [2 à 5], "lignes": [2 à 7 lignes d'autant de cases que de colonnes, cases courtes]}

  • pour-contre : "left" (avantages) et "right" (limites) : {"title"?, "points": [1 à 5]}

  • grande-image : "image": {"url" (https, PNG/JPEG/WebP/GIF ≤ 10 Mo) ou "asset" (chemin renvoyé par le service), "alt"?, "fit"?: "cover"|"contain", "caption"?, "credit"?: {"author","license","url"}} OBLIGATOIRE (plein écran), "subtitle"? (une phrase)

  • code : "code": {"langage", "contenu" (≤ 18 lignes de 90 car.)}, "points"? (annotations)

  • secteurs : "elements": [2 à 6 {"titre", "valeur" (NOMBRE)}], "unite"? (camembert)

  • courbe : "elements": [3 à 10 {"titre" (période), "valeur" (NOMBRE), "valeur2"? (2ᵉ série)}], "unite"?, "legendes"? [noms des séries]

  • radar : "elements": [3 à 8 {"titre" (critère), "valeur" (NOMBRE), "valeur2"?}], "unite"?, "legendes"?

  • venn : "elements": [2 ou 3 {"titre", "texte"?}], "centre"? (ce qu'ils ont en commun)

  • arbre : "centre" (la racine) OBLIGATOIRE, "elements": [2 à 5 branches {"titre", "enfants"?: [≤ 4]}]

  • jauges : "elements": [2 à 4 {"titre", "valeur" (NOMBRE de 0 à 100), "texte"?}]

  • timeline : "elements": [3 à 8 {"date", "titre", "texte" (1 à 2 phrases)}] (frise verticale détaillée)

  • composition : "disposition"?: "colonnes"|"principal"|"grille", "blocs": [2 à 4 blocs {"layout" parmi points, image, tableau, secteurs, courbe, graphique, radar, jauges, statistiques, chiffre, cartes, chronologie, citation, code, definition, etapes, venn, arbre, matrice, pour-contre, comparaison, pyramide, entonnoir, cycle, quadrant, "title"?, …champs de cette mise en page}] (au plus un bloc "image", qui montre l'image de la diapositive)

  • roadmap : "roadmap": {"periodes": [2 à 12 libellés courts], "taches": [2 à 8 {"id"?, "titre", "debut" et "fin" (rangs de période, à partir de 0), "statut": "fait"|"en-cours"|"a-faire"|"bloque", "avancement"? (0 à 100), "responsable"?, "sousTaches"? [≤ 4 {"titre","statut"}], "dependances"? [id]}], "jalons"? [≤ 4 {"titre","periode"}], "maintenant"? (rang, décimal possible)}

  • quadrant : "axes": {"x","y"}, "quadrants"? [4 noms], "elements": [2 à 12 {"titre", "valeur" (x de 0 à 100), "valeur2" (y de 0 à 100)}]

  • a-retenir (À retenir (cartes numérotées)) : "elements": [{"titre" (3 à 5 mots), "texte" (1 phrase, une consigne ou une règle)}], "quote"? {"text", "source"} (la phrase des sources qui résume tout, en bandeau)

  • piliers (Piliers et garde-fous) : "subtitle" (la phrase d'intention qui les relie), "elements": [{"titre" (2 à 4 mots), "texte" (2 phrases), "valeur2"? (la devise du pilier, 2 à 4 mots), "enfants"? [1 garde-fou : « Nom — explication courte »]}], "centre"? (titre de la rangée des garde-fous, ex. « Garde-fous »)

  • tableau-de-bord (Tableau de bord) : "elements": [2 à 6 tuiles {"titre" (l'indicateur, en capitales courtes), "valeur" (le chiffre : « 950 $ », « 62 % »), "texte" (1 ligne d'explication), "enfants"? [2 à 4 « Libellé : nombre » qui détaillent l'indicateur en barres]}] ; jamais de chiffres inventés

  • chiffre-vedette (Chiffre vedette) : "elements": [le 1er est la vedette {"valeur", "titre" (ce qu'il mesure), "texte" (pourquoi il compte)}, puis 1 à 3 chiffres d'appui {"valeur", "titre"}]

  • declaration (Déclaration et appuis) : "subtitle" (la thèse : 1 phrase de 15 à 30 mots, les mots-clés entre astérisques), "elements": [2 à 4 appuis {"titre", "texte" (1 phrase)}]

  • message-cle (Message clé) : "centre" (le message : 8 à 20 mots), "subtitle"? (une précision courte), "elements"? [0 à 3 faits d'appui {"titre" (court), "texte"?}]

  • avant-apres (Avant / après) : situation d'arrivée) → "elements": EXACTEMENT 2 {"titre" (« Avant : … », « Après : … »), "texte" (1 phrase), "enfants"? [2 à 4 traits courts]}

  • probleme-solution (Problème → solution) : "elements": [le problème {"titre", "texte"}, la cause? {"titre", "texte"}, la solution {"titre", "texte"}] dans cet ordre

  • questions-reponses (Questions / réponses) : "elements": [2 à 6 {"titre" (la question, avec « ? »), "texte" (la réponse, 1 à 2 phrases)}]

  • mythes-realites (Idées reçues / réalités) : "elements": [2 à 4 {"titre" (l'idée reçue, telle qu'on l'entend), "texte" (la réalité, 1 phrase des sources)}]

  • erreurs-frequentes (Erreurs fréquentes) : "elements": [2 à 5 {"titre" (l'erreur), "texte" (le bon réflexe, 1 phrase)}]

  • checklist (Liste de contrôle) : "elements": [3 à 8 {"titre" (l'action ou la condition, 3 à 8 mots), "texte"? (précision courte)}]

  • chevrons (Processus en chevrons) : "elements": [{"titre" (1 à 3 mots), "texte" (1 phrase), "image"? (une photo de l'étape : {"kind":"web","query","idea"})}] dans l'ordre — chaque élément peut porter "image": {"url" (https, PNG/JPEG/WebP/GIF ≤ 10 Mo) ou "asset" (chemin renvoyé par le service), "alt"?, "fit"?: "cover"|"contain", "caption"?, "credit"?: {"author","license","url"}}

  • escalier (Escalier de progression) : "elements": [3 à 5 marches {"titre", "texte" (1 phrase)}] du bas vers le haut

  • frise-alternee (Frise alternée) : "elements": [{"date", "titre", "texte" (1 à 2 phrases)}] dans l'ordre

  • parcours (Parcours (chemin sinueux)) : "elements": [3 à 6 étapes {"titre", "texte" (1 phrase)}] dans l'ordre

  • etoile (Étoile (concept central)) : "centre" (la notion, 1 à 3 mots), "elements": [3 à 8 satellites {"titre" (1 à 3 mots), "texte"? (quelques mots)}]

  • cible (Cible (cercles concentriques)) : "elements": [3 à 5 {"titre", "texte" (1 phrase)}], le 1er est le CŒUR

  • iceberg (Iceberg (visible / caché)) : "elements": [{"titre", "texte"? (court), "valeur": "visible" pour les 1 à 2 éléments qu'on voit, rien pour les éléments cachés}]

  • equation (Équation (A + B = C)) : "elements": [2 ou 3 ingrédients {"titre", "texte"? (court)}, puis le RÉSULTAT en dernier {"titre", "texte"?}]

  • triangle (Triangle) : "elements": EXACTEMENT 3 {"titre", "texte" (1 phrase)}, "centre"? (ce que leur équilibre produit)

  • temple (Temple (toit, piliers, socle)) : "centre" (le toit : l'objectif, 2 à 6 mots), "elements": [2 à 5 piliers {"titre", "texte"? (court)}], "subtitle" (le socle : la base commune, 2 à 8 mots)

  • ishikawa (Arête de poisson (causes → effet)) : "centre" (l'effet, 2 à 6 mots), "elements": [2 à 6 familles de causes {"titre", "enfants": [1 à 3 causes courtes]}]

  • dialectique (Thèse / antithèse / synthèse) : "elements": EXACTEMENT 3 {"titre" (la position, 3 à 8 mots), "texte" (1 à 2 phrases)} dans l'ordre thèse, antithèse, synthèse

  • profils (Profils (personnes, rôles)) : "elements": [2 à 4 {"titre" (le nom), "valeur" (le rôle ou l'époque, court), "texte" (ce qu'il faut savoir d'elle, 1 à 2 phrases)}]

  • citations (Citations croisées) : "elements": [{"texte" (la citation exacte), "titre" (l'auteur), "valeur"? (sa qualité ou la date)}]

  • glossaire (Glossaire) : "elements": [{"titre" (le terme), "texte" (sa définition, 1 phrase)}]

  • colonnes (Colonnes (familles d'éléments)) : "elements": [{"titre" (la catégorie), "texte"? (1 phrase), "enfants": [2 à 4 éléments courts, ou « nom : valeur » pour une carte, un menu, des tarifs], "image"? (une photo de la catégorie : {"kind":"web","query","idea"})}] — chaque élément peut porter "image": {"url" (https, PNG/JPEG/WebP/GIF ≤ 10 Mo) ou "asset" (chemin renvoyé par le service), "alt"?, "fit"?: "cover"|"contain", "caption"?, "credit"?: {"author","license","url"}}

  • bento (Mosaïque (bento)) : "elements": [3 à 6 tuiles {"titre", "texte" (1 phrase), "valeur"? (un chiffre court)}]

  • focus (Focus (une idée mise en avant)) : "elements": [la 1re mise en avant {"titre", "texte" (2 phrases)}, puis 2 à 5 autres {"titre", "texte"? (court)}]

  • progression (Barres de progression) : "elements": [2 à 6 {"titre", "valeur" (NOMBRE de 0 à 100), "texte"?}]

  • podium (Podium) : "elements": [du 1er au 3e {"titre", "valeur"? (le score), "texte"? (court)}]

  • classement (Classement) : "elements": [3 à 8 {"titre", "valeur"? (le score : NOMBRE, pour dessiner la barre), "texte"? (court)}] dans l'ordre

  • echelle (Échelle (spectre)) : "legendes": [le pôle gauche, le pôle droit], "elements": [2 à 6 {"titre", "valeur" (sa position : NOMBRE de 0 à 100), "texte"? (court)}]

  • galerie (Galerie de photos) : "elements": [2 à 8 {"titre" (légende courte), "texte"? (1 phrase), "valeur"? (étiquette : une date, un prix, un statut), "image ({"kind":"web","query":"mots-clés PRÉCIS en anglais","idea":"ce que montre la photo"}, ou {"kind":"image","imageId":n} pour une figure des sources)"}] — chaque élément peut porter "image": {"url" (https, PNG/JPEG/WebP/GIF ≤ 10 Mo) ou "asset" (chemin renvoyé par le service), "alt"?, "fit"?: "cover"|"contain", "caption"?, "credit"?: {"author","license","url"}}

  • cartes-photo (Cartes photo (texte sur l'image)) : "elements": [{"titre", "texte" (1 à 2 phrases), "valeur"? (étiquette courte), "image ({"kind":"web","query":"mots-clés PRÉCIS en anglais","idea":"ce que montre la photo"}, ou {"kind":"image","imageId":n} pour une figure des sources)"}] — chaque élément peut porter "image": {"url" (https, PNG/JPEG/WebP/GIF ≤ 10 Mo) ou "asset" (chemin renvoyé par le service), "alt"?, "fit"?: "cover"|"contain", "caption"?, "credit"?: {"author","license","url"}}

  • etapes-photo (Étapes illustrées) : "elements": [{"titre" (l'étape, 1 à 3 mots), "texte" (1 phrase), "image ({"kind":"web","query":"mots-clés PRÉCIS en anglais","idea":"ce que montre la photo"}, ou {"kind":"image","imageId":n} pour une figure des sources)"}] dans l'ordre — chaque élément peut porter "image": {"url" (https, PNG/JPEG/WebP/GIF ≤ 10 Mo) ou "asset" (chemin renvoyé par le service), "alt"?, "fit"?: "cover"|"contain", "caption"?, "credit"?: {"author","license","url"}}

  • equipe (Équipe (portraits)) : "elements": [{"titre" (le nom), "valeur" (son rôle ou son époque), "texte" (ce qu'elle a fait, 1 phrase), "image" ({"kind":"web","query":"nom exact + portrait","idea":"portrait de …"})}] — chaque élément peut porter "image": {"url" (https, PNG/JPEG/WebP/GIF ≤ 10 Mo) ou "asset" (chemin renvoyé par le service), "alt"?, "fit"?: "cover"|"contain", "caption"?, "credit"?: {"author","license","url"}}

  • offres (Offres (cartes à prix ou à valeur)) : "elements": [{"titre", "valeur" (le chiffre clé : prix, durée, quantité), "texte" (pour qui, 1 phrase), "enfants"? [2 à 3 « Clé : valeur »], "image ({"kind":"web","query":"mots-clés PRÉCIS en anglais","idea":"ce que montre la photo"}, ou {"kind":"image","imageId":n} pour une figure des sources)"?}] — chaque élément peut porter "image": {"url" (https, PNG/JPEG/WebP/GIF ≤ 10 Mo) ou "asset" (chemin renvoyé par le service), "alt"?, "fit"?: "cover"|"contain", "caption"?, "credit"?: {"author","license","url"}}

  • liste-vignettes (Liste à vignettes) : "subtitle" (l'introduction, 1 à 2 phrases), "elements": [{"titre", "texte" (1 phrase), "image ({"kind":"web","query":"mots-clés PRÉCIS en anglais","idea":"ce que montre la photo"}, ou {"kind":"image","imageId":n} pour une figure des sources)"}] — chaque élément peut porter "image": {"url" (https, PNG/JPEG/WebP/GIF ≤ 10 Mo) ou "asset" (chemin renvoyé par le service), "alt"?, "fit"?: "cover"|"contain", "caption"?, "credit"?: {"author","license","url"}}

  • mosaique-photo (Mosaïque de photos et texte) : "subtitle" (le paragraphe, 2 à 3 phrases), "elements": [{"titre" (légende posée sur la photo), "image ({"kind":"web","query":"mots-clés PRÉCIS en anglais","idea":"ce que montre la photo"}, ou {"kind":"image","imageId":n} pour une figure des sources)"}] — chaque élément peut porter "image": {"url" (https, PNG/JPEG/WebP/GIF ≤ 10 Mo) ou "asset" (chemin renvoyé par le service), "alt"?, "fit"?: "cover"|"contain", "caption"?, "credit"?: {"author","license","url"}}

  • options (Deux options comparées) : "elements": EXACTEMENT 2 {"titre", "valeur"? (étiquette : « gratuit », « sur rendez-vous »), "enfants": [3 à 4 « Critère : réponse » — les MÊMES critères pour les deux], "image ({"kind":"web","query":"mots-clés PRÉCIS en anglais","idea":"ce que montre la photo"}, ou {"kind":"image","imageId":n} pour une figure des sources)"} — chaque élément peut porter "image": {"url" (https, PNG/JPEG/WebP/GIF ≤ 10 Mo) ou "asset" (chemin renvoyé par le service), "alt"?, "fit"?: "cover"|"contain", "caption"?, "credit"?: {"author","license","url"}}

  • imagier (Imagier (images et mots)) : "elements": [3 à 8 {"titre" (le mot), "texte"? (une courte définition), "image ({"kind":"web","query":"mots-clés PRÉCIS en anglais","idea":"ce que montre la photo"}, ou {"kind":"image","imageId":n} pour une figure des sources)"}] — chaque élément peut porter "image": {"url" (https, PNG/JPEG/WebP/GIF ≤ 10 Mo) ou "asset" (chemin renvoyé par le service), "alt"?, "fit"?: "cover"|"contain", "caption"?, "credit"?: {"author","license","url"}}

  • chiffres-illustres (Chiffres illustrés) : "elements": [{"valeur" (le chiffre : « 100 % », « 2 récoltes »), "titre" (ce qu'il mesure), "texte"?, "image ({"kind":"web","query":"mots-clés PRÉCIS en anglais","idea":"ce que montre la photo"}, ou {"kind":"image","imageId":n} pour une figure des sources)"}] — chaque élément peut porter "image": {"url" (https, PNG/JPEG/WebP/GIF ≤ 10 Mo) ou "asset" (chemin renvoyé par le service), "alt"?, "fit"?: "cover"|"contain", "caption"?, "credit"?: {"author","license","url"}}

  • anatomie (Schéma légendé (image et étiquettes)) : visual image ou web OBLIGATOIRE (l'objet entier, bien visible), "elements": [2 à 8 parties {"titre" (le nom), "texte"? (son rôle, quelques mots)}]

  • invitation (Invitation (carte sur photo)) : "subtitle" (l'appel, 1 à 2 phrases), "elements"? [0 à 3 informations pratiques : {"titre"} (une étiquette) ou {"titre" (« Où », « Quand », « Contact »), "texte" (la valeur)}], visual web OBLIGATOIRE (une photo d'ambiance)

  • sommaire (Sommaire) : "elements": [3 à 8 {"titre" (la partie), "texte"? (quelques mots)}]

  • horaire (Horaire (heure par heure)) : "elements": [3 à 10 {"date" (l'heure : « 7 h 30 »), "titre" (ce qui se passe), "texte"? (précision courte)}] dans l'ordre

  • fiche-infos (Fiche d'informations) : "elements": [3 à 10 {"titre" (l'intitulé), "texte" (la valeur, courte)}]

  • colonnes-texte (Colonnes de texte) : "elements": [{"titre" (la rubrique), "texte" (le paragraphe, 2 à 3 phrases)}]

  • mot-geant (Mot géant) : "centre" (le mot : 1 mot, 12 caractères au plus), "subtitle" (ce qu'il veut dire, 1 à 2 phrases), "elements"? [0 à 3 précisions {"titre", "texte"?}], visual? (une photo qui accompagne)

  • diptyque (Diptyque (deux moitiés)) : "elements": EXACTEMENT 2 {"titre" (court, 2 à 4 mots), "texte" (2 phrases)}

  • bandeau-photo (Bandeau photo et chiffres) : visual web OBLIGATOIRE (paysage, lieu, vue large), "elements": [{"valeur"? (un chiffre court) ou "date"? (« 01 »), "titre", "texte"? (court)}]

  • mur-citations (Mur de citations) : "elements": [3 à 6 {"texte" (la citation, 1 phrase courte), "titre" (qui parle)}]

  • regle (Règle (comparer des tailles)) : "elements": [{"titre" (la chose), "valeur" (sa taille : NOMBRE dans l'unité), "texte"? (« environ 3 cm »), "image" ({"kind":"web","query","idea"})}] du plus petit au plus grand, "unite" (cm, m, km…), "centre"? (la phrase de conclusion) — chaque élément peut porter "image": {"url" (https, PNG/JPEG/WebP/GIF ≤ 10 Mo) ou "asset" (chemin renvoyé par le service), "alt"?, "fit"?: "cover"|"contain", "caption"?, "credit"?: {"author","license","url"}}

  • tri (Tri en deux groupes) : "legendes": [le nom du groupe A, le nom du groupe B], "elements": [{"titre" (la chose), "valeur" (EXACTEMENT le nom de son groupe, tel que dans legendes), "image" ({"kind":"web","query","idea"})}] — chaque élément peut porter "image": {"url" (https, PNG/JPEG/WebP/GIF ≤ 10 Mo) ou "asset" (chemin renvoyé par le service), "alt"?, "fit"?: "cover"|"contain", "caption"?, "credit"?: {"author","license","url"}}

  • notes-de-marge (Texte et notes de marge) : "centre" (le passage : 2 à 4 phrases), "elements": [{"titre" (le mot ou l'idée annotés, 1 à 3 mots), "texte" (la note, 1 phrase courte)}], "quote"? {"text"} (la référence du passage — ouvrage, page —, en pied)

  • rubriques (Rubriques (libellé et paragraphe)) : "elements": [{"titre" (la rubrique, 1 à 3 mots), "date"? (un petit repère sous la rubrique : « 5 min », « p. 12 »), "texte" (le paragraphe, 2 phrases)}]

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": {
      "title": "<title>",
      "slides": "<slides>"
    },
    "name": "create_presentation"
  }
}

Input Schema

NameRequiredDescriptionDefault
themeNoModèle visuel (list_slide_themes) ; défaut « ocean ».
titleYesTitre de la présentation.
slidesYesLes diapositives, dans l’ordre : la 1re est en général une couverture (layout « titre »).
languageNoLangue des libellés (défaut fr).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Beyond the annotations, the description discloses that each slide is validated against its layout and rejected with a reason if content does not fit, which is important behavioral context for a write tool. It also lists the returned identifiers and URLs, including a one-hour embed preview, although it does not cover permissions, authentication, rate limits, or partial-failure behavior across a large batch.

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?

It is front-loaded with purpose, validation behavior, and return values, which is good. However, the body is an enormous wall of layout definitions with repeated image-object schemas dozens of times; given the roughly ninety layouts some length is justified, but the repetition and lack of grouping make it harder to scan than necessary.

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?

For a highly complex creation tool with no output schema, the description supplies substantial completeness: validation semantics, return URLs, and detailed per-layout content contracts. Remaining gaps are relatively minor, such as not naming list_slide_themes for theme selection or explaining permission requirements.

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

Parameters5/5

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

Although top-level schema coverage is 100%, the schema's nested 'elements' object is generic and does not describe most layout-specific fields. The description compensates extensively by specifying required fields, constraints, ordering, and cardinalities for each layout, which is essential for correct invocation.

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?

The first sentence states a precise verb and resource: 'Créer une présentation à partir de diapositives que vous rédigez entièrement'. It immediately distinguishes this tool from generation-oriented siblings by adding '(aucune génération)', so an agent can tell it is for author-supplied slides rather than AI-generated ones.

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

Usage Guidelines4/5

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

The description makes the primary usage condition clear: slides must be fully written by the caller, and the service only validates and lays them out. It does not explicitly name alternatives such as generate_presentation, add_slide_ai, or import_pptx, so some routing still requires inference from sibling names.

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.