viraldar
Sends videos and photo carousels from the local working folder as TikTok drafts to linked TikTok accounts, and lets the agent check the status of each draft upload. Requires a TikTok account connected via viraldar.
viraldar pour ton agent
Branche ton Claude sur viraldar : il cherche dans une base de posts TikTok viraux relevés dans ta niche (surtout de petits comptes, avec leurs chiffres), te dit pourquoi ils ont marché, puis fabrique tes carrousels et tes montages sur ton ordinateur, en suivant une méthode de création éprouvée. Rien de ce que tu crées n'est envoyé chez viraldar.
Ce dossier contient trois choses, construites depuis le même code :
un serveur MCP local (
js/index.js, Node 22 ou plus) : la base, les carrousels, le montage ;le skill
viraldar-creation(skills/) : la méthode que suit ton agent, aussi servie par le MCP (outilmethode, promptmethode_viraldar) pour les clients qui ne lisent pas les skills ;l'emballage pour Claude Code (plugin) et Claude Desktop (extension
.mcpb).
Il te faut un compte viraldar (gratuit pendant les tests) : https://viraldar.rayvol.net.
Installer
Claude Code (plugin : MCP et skill d'un coup)
claude plugin marketplace add ThomasRayvol/viraldar-agent
claude plugin install viraldar@viraldarOu dans Claude Code : /plugin install viraldar --marketplace ThomasRayvol/viraldar-agent. Claude Code installe lui-même
les dépendances (d'après package-lock.json, sans script). Réglages facultatifs :
claude plugin configure viraldar@viraldar (dossier de travail, familles d'outils, lecture de fichiers en plus).
On peut aussi l'installer par l'URL git : claude plugin marketplace add https://github.com/ThomasRayvol/viraldar-agent.git.
Claude Desktop (extension)
Télécharge viraldar.mcpb (page Releases du dépôt), ouvre-le (double-clic) et clique sur « Installer ». Claude Desktop fournit Node : rien
d'autre à installer. Dans les réglages de l'extension : le dossier de travail, les familles d'outils et la lecture de fichiers en plus. La méthode est
servie par l'extension (outil methode) ; pour qu'elle se déclenche seule, ajoute aussi le skill
(viraldar-creation.zip) dans Réglages → Capacités.
Autres clients MCP
{ "mcpServers": { "viraldar": { "command": "node", "args": ["/chemin/vers/viraldar-agent/js/index.js"] } } }après npm ci --omit=dev dans le dossier. (Un paquet npm, pour npx -y viraldar-mcp, n'est pas encore publié.)
Ce qu'il faut en plus
Chrome, Chromium, Edge ou Brave pour les carrousels (sinon
npx playwright install chromium) ;ffmpeg pour les vidéos, facultatif (
brew install ffmpeg,winget install Gyan.FFmpeg,apt install ffmpeg).
Related MCP server: CapCut MCP Server
Se connecter
Dis à ton agent « connecte-toi à viraldar ». Il ouvre viraldar.rayvol.net/agent dans ton navigateur ; tu te
connectes (Google, ou e-mail et mot de passe) et autorises l'agent. Ton mot de passe ne passe jamais par l'agent.
L'agent reçoit une session à lui, distincte de celle de ton navigateur, gardée dans ~/.config/viraldar/session.json
(lisible par toi seul). deconnexion la révoque.
Réglages
variable | défaut | |
|
| où ranger carrousels et montages ; seules les vidéos de ce dossier peuvent partir en brouillon TikTok |
|
| familles d'outils chargées ( |
| — (lecture stricte) | vide : les outils ne lisent que le dossier de travail (copie-y tes médias). Pour élargir, ton choix : des dossiers en plus (séparés par |
| — | chemin du navigateur |
| — | chemin de ffmpeg |
| — | chemin d'un projet Remotion (le tien : ni fourni ni sous licence ici) |
|
| |
| ceux de viraldar | pour les essais seulement |
Sécurité, en bref
Le détail est dans SECURITY.md.
La base se lit avec ta session et tes quotas (600 posts distincts par jour, 30 appels par minute, partagés avec le site) ; aucun outil ne cherche sur TikTok ni ne garde de post sur ta machine.
Les textes des posts (descriptions, commentaires) sont écrits par des inconnus : ils arrivent à l'agent entre
⟦ ⟧, marqués comme des données, jamais comme des consignes.Les outils ne lisent que des médias (vérifiés par leur contenu pour les images), par défaut dans le dossier de travail seulement (
VIRALDAR_LECTUREl'élargit, par ton choix), et jamais dans un dossier caché (~/.ssh,~/.config…) ; ils n'écrivent que dans le dossier de travail ; ffmpeg et Chromium sont lancés sans shell, sans paramètre libre dans les filtres, et Chromium sans réseau ni script.
Développer
npm ci # dépendances du serveur
npm run outils # TypeScript et mcpb, à part (outils/)
npm run dev # le serveur depuis src/ (Node ≥ 22.18, type stripping)
npm run construire && npm run verifier # js/ est versionné : le plugin s'installe depuis git
npm run paquet # construit/viraldar.mcpbLicence
Apache-2.0 : le code, les modèles et le skill (voir LICENSE et NOTICE). La base viraldar (posts,
statistiques, listes) n'en fait pas partie : elle reste derrière un compte et ses conditions. Les polices de
modeles/carrousel/polices/ sont sous OFL (licences à côté).
Référence des outils
Chercher dans la base
Seulement dans la base déjà relevée par viraldar : aucun outil ne lance de recherche sur TikTok. Les quotas du site s'appliquent (600 posts distincts par jour, 30 appels par minute) ; un post revu le même jour ne recompte pas.
outil | ce qu'il fait |
| thèmes (clés et nombre de posts), langues, règles, date d'export ; mots fréquents d'un thème |
| recherche par mots, thèmes, langue, vues, outlier, date, taille du compte, format, 📲, avec tri |
| les recommandés : comptes ≤ 50 k abonnés, ≥ 300 k vues et ≥ 20 × les abonnés |
| toutes les stats d'un post (id ou URL) |
| posts aux hashtags communs et à la durée proche d'un post |
| lire ou changer Mes thèmes |
| garder, passer, retirer un post ; noter ce qu'on en reprend |
| tous les posts gardés, avec leur note |
| l'accueil et la fiche produit |
Brouillons TikTok
Famille publication (VIRALDAR_OUTILS), pas chargée par défaut : l'app TikTok de viraldar attend sa validation. Il faut avoir relié son compte TikTok sur viraldar.rayvol.net. Les vidéos partent en brouillon : l'utilisateur les
finit dans l'app TikTok.
outil | ce qu'il fait |
| les comptes TikTok reliés |
| envoie une vidéo du dossier de travail (mp4, mov, webm) |
| envoie un carrousel d'images déjà en ligne (URL publiques) |
| où en est un envoi |
Montage
Module src/creation/montage.ts. Les outils exécutent ; le choix des plans, des textes et du rythme revient
à l'agent de l'utilisateur. Tout ce qui sort va dans <dossier de travail>/montages/ (~/viraldar/montages/ par
défaut), nommé <nom>-<date-heure>, sans métadonnées (-map_metadata -1, bitexact).
ffmpeg (et ffprobe) : cherché dans VIRALDAR_FFMPEG (chemin de ffmpeg), sinon le PATH. S'il manque, chaque
outil le dit et donne la commande d'installation de l'OS (brew, winget Gyan.FFmpeg, apt/dnf/pacman). Les textes
passent par libass (filtre ass), présent dans les versions courantes.
outil | ce qu'il fait |
| durée, taille, ratio, i/s, codecs, son ; écarts au format TikTok. Sans fichier : état de ffmpeg |
| 1080×1920 9:16, H.264 High + AAC 48 kHz, 30 i/s, MP4 faststart ; |
| un passage, taille inchangée (ré-encodé, précis) |
| plans vidéo ou image bout à bout, mis au 9:16 ; fondus |
| images (PNG d'un carrousel) → vidéo, durée par image, fondus, piste audio |
| accroches (haut, centre, bas ou |
| une image (jpg/png) à l'instant donné |
| trouve le projet Remotion de l'utilisateur, sinon dit à l'agent de lui demander |
| décrit nos compositions types, les copie dans |
|
|
Zones sûres : celles de modeles/zones-sures.json (voir plus bas), cas description par défaut ; centrage sur
l'axe de la zone. Les compositions Remotion les lisent aussi : remotion_modeles écrit
<projet>/src/viraldar/zones-sures.ts à chaque appel, et chaque composition prend une prop zone.
Remotion : ni fourni ni installé ici (licence payante au-delà de 3 personnes : c'est à l'utilisateur).
VIRALDAR_REMOTION peut donner le chemin de son projet. Les compositions types (modeles/montage/remotion/) :
ViraldarTexteSurVideo (textes animés sur vidéo, image ou fond), ViraldarListeDefile (titre et liste qui
défile), ViraldarCitation (citation mot à mot, puis l'auteur) ; 1080×1920, 30 i/s, durée tirée des props
(props-exemples.json). Vérifiées avec Remotion 4.0.542. Le CLI est lancé par node (pas de npx, pas de shell).
Limites : les emoji ne sont pas rendus par libass (ils le sont par Remotion) ; pas de transcription automatique (les sous-titres viennent d'un SRT ou de segments fournis par l'agent).
Zones sûres et formats
Un seul fichier, modeles/zones-sures.json, lu par src/creation/zones.ts (carrousels, montage, aperçu) et copié dans
le projet Remotion. Les zones sont en fractions de l'écran 9:16, par cas, chacune avec sa source et sa date ; elles
viennent de relevés sur de vrais téléphones (oct. 2026), pas de guides :
cas | quand | texte entre (sur 1080×1920) | à éviter |
| post avec légende, carrousel ou vidéo | x 86–907, y 403–1382 | avatars « aimé par » : x < 173 entre y 864 et 1325 |
| carrousel sans légende | x 76–929, y 384–1536 | — |
| publicité in-feed / Spark | x 60–1020, y 248–1233 | colonne de la pub : x > 768 sous y 822 |
Mécanisme mesuré : TikTok met l'image à la largeur de l'écran et la centre en hauteur ; avec une légende, entre la barre
d'état et le panneau de description (une image 9:16 y perd son haut et son bas). zonePour(l, h, cas) reporte une zone
sur n'importe quelle taille d'image ; verifier(boites, zone) dit ce qui en sort. On ne change une valeur qu'avec un
nouveau relevé, en gardant le pire.
src/creation/apercu.ts (navigateur et planche contact) est partagé par carrousel_apercu et la planche de contrôle
de montage_texte.
Carrousels
Module src/creation/carrousel.ts, modèles dans modeles/carrousel/. Le texte et les choix créatifs viennent de
l'agent de l'utilisateur ; l'outil rend : un JSON décrit les diapositives, un Chromium headless (playwright-core)
en fait une image par diapositive dans <dossier de travail>/carrousels/<nom>/ (01.png, 02.png…, plus
carrousel.json, l'entrée, pour retoucher et relancer).
outil | ce qu'il fait |
| les modèles : à quoi chacun sert, les champs qu'il lit, son thème, un exemple de JSON complet |
| rend le carrousel ; renvoie les chemins et des avertissements (texte coupé ou trop réduit, image introuvable) |
| planche contact de toutes les diapositives en une image (renvoyée à l'agent, gardée dans |
Modèles : citation (phrase sur photo floutée ou fond uni, Lora italique), liste (« X choses que… », couverture
puis un grand numéro par diapositive), notes (app de notes, ou carnet manuscrit avec variante: "papier"),
contraste (mythe / réalité, avant / après, deux moitiés empilées), ecran (capture d'app, ou interface dessinée :
cartes à cocher, bulle), revelation (accroche et tension, la réponse sur la dernière diapositive), natif (le texte
de l'éditeur de TikTok sur une photo plein cadre nette : variante bandeau — un pavé blanc par ligne —, contour ou
bandeau_noir ; l'auteur en étiquette rouge, numero en pastille, position haut / centre / bas ; réglages relevés
sur l'éditeur : TikTok Sans 560, 54-60 px, interligne 1,22-1,32).
Format JSON (le détail et un exemple par modèle : carrousel_modeles) :
{
"nom": "5-habitudes-anxiete", "modele": "liste", "format": "4:5", "sortie": "png",
"signature": "@moncompte", "numerotation": true,
"theme": { "fond": "#F3EEE6", "texte": "#1A1A1A", "accent": "#E4572E", "police_titre": "archivo" },
"diapositives": [
{ "etiquette": "santé mentale", "titre": "5 habitudes qui calment l'anxiété" },
{ "titre": "Écrire ce qui tourne en boucle", "texte": "Sur papier, pas dans ta tête. **5 lignes** suffisent." },
{ "numero": false, "titre": "Enregistre pour la prochaine fois 🤍" }
]
}Champs d'une diapositive : etiquette, titre, texte, liste ([ ] / [x] = cases, * = carte en vedette),
citation, auteur, date, numero, image (chemin local ou URL), image_large, avant / apres
({ etiquette, texte, image, note }), note, fond, position (natif). Dans les textes : **gras**, ==surligné==,
\n. Polices : archivo, lora, caveat, tiktok (TikTok Sans). theme.etalonnage (sombre, chaud, froid,
noir_et_blanc, sepia, doux) : un traitement commun à toutes les photos, pour qu'elles fassent série.
Apostrophes courbes et espaces fines insécables du français posées d'office.
Formats :
9:16(1080×1920, plein écran, par défaut),3:4(1080×1440, presque entier sous une légende) et4:5(1080×1350, toujours entier). TikTok prend 1 à 35 images par post photo (limite de l'API Content Posting), d'où 35 diapositives au plus.Sortie : PNG par défaut ;
"sortie": "jpeg"pour un envoi en brouillon par l'API, qui n'accepte que JPEG et WebP (1080p, 20 Mo par image). Aucune métadonnée : PNG sans bloc texte ni EXIF, JPEG avec le seul profil sRGB.Zones sûres :
"zone"=description(défaut),sans_descriptionoupub, reportée sur le format (l'image s'affiche à la largeur de l'écran, centrée en hauteur). Le texte est posé dedans (il rétrécit jusqu'à 55 % s'il déborde), puis chaque ligne rendue est vérifiée contre la zone et ses parties à éviter : l'outil prévient (zone_verifiee), comme sous 36 px (≈ 13 pt sur un téléphone) ou si le texte reste coupé.carrousel_apercutrace la zone (rouge : recouvert par TikTok, vert : zone du texte) sur des images de toute taille, y compris une image tirée d'une vidéo.Rien du réseau au rendu : polices (Archivo, Lora, Caveat, OFL, dans
modeles/carrousel/polices/) et images embarquées dans la page, toute requête de la page coupée. Une image donnée par URL est téléchargée par le MCP.Navigateur :
VIRALDAR_CHROMIUM(ouCHROME_PATH), sinon Chrome, Chromium, Edge ou Brave aux emplacements habituels de Linux, macOS et Windows, sinon le Chromium de Playwright. S'il n'y en a aucun, l'outil dit d'installer Google Chrome ou de lancernpx playwright install chromium.
Limites : pas d'autre police que les quatre embarquées (les emoji viennent de la police emoji du système) ; le texte de droite à gauche n'est pas soigné ; une capture d'écran plus haute que le cadre est rognée par le bas ; un navigateur est lancé à chaque appel (~1 s par diapositive).
Le skill de création
skills/viraldar-creation/SKILL.md : la méthode que suit l'agent de l'utilisateur, de la fiche produit à l'itération (base viraldar →
formats prouvés → brief → production → brouillon → mesure). Ses références, chargées à l'étape qui les demande :
lire-les-stats, decortiquer, accroches, formats, brief, production (écrire un carrousel, choisir format et
zone sûre, rendre, contrôler, varier et apprendre : le process rodé en production, avec ses chiffres et leur n),
calendrier, sources. Les noms d'outils y sont ceux du code.
Available Tools
25 toolsa_reproduireÀ reproduire (posts gardés)B
Tous les posts que l'utilisateur a gardés, du plus récent au plus ancien, avec sa note « ce qu'il en reprend » : le point de départ pour créer ses contenus. Hors quota (5 lectures par minute au plus).
Inputs: detail.
carrousel_apercuAperçu d'un carrouselARead-only
Planche contact : toutes les diapositives d'un carrousel rendu, réduites, en une image (renvoyée ici et gardée dans apercu.jpg). Les zones couvertes par l'interface TikTok sont surlignées en rouge, le cadre vert est la zone du texte (zones_sures, par défaut oui) : aucun texte ne doit tomber dans le rouge. Le cas (zone) est celui du carrousel rendu, sinon la description. Donner nom (un carrousel rendu par carrousel_rendre) ou chemins (des images quelconques, de toute taille : une image tirée d'une vidéo par montage_couverture s'y vérifie de la même façon).
Inputs: nom, zone, chemins, zones_sures.
carrousel_modelesModèles de carrouselARead-only
Liste les modèles de carrousel TikTok (citation, liste, notes, contraste, ecran, revelation, natif) : à quoi chacun sert, les champs qu'il lit, son thème par défaut et un exemple de JSON complet à passer à carrousel_rendre ; et les formats (9:16, 3:4, 4:5) et les zones sûres par cas (avec ou sans description, pub), avec leur source. À appeler avant d'écrire un carrousel. Avec modele, ne donne que celui-là.
Inputs: modele.
carrousel_rendreRendre un carrouselA
Rend un carrousel TikTok décrit en JSON : une image par diapositive (PNG, ou JPEG pour l'envoi par l'API TikTok) dans /carrousels// (01.png, 02.png…), plus carrousel.json (l'entrée, pour retoucher). Renvoie les chemins et des avertissements (texte coupé, trop réduit, hors de la zone sûre du cas zone, image introuvable). Voir carrousel_modeles pour les champs et des exemples ; vérifier ensuite avec carrousel_apercu.
Inputs: nom (required), modele (required), diapositives (required), zone, +7 more.
chercher_postsChercher dans la base viraldarA
Cherche parmi les posts TikTok viraux (≥ 100 k vues) déjà relevés par viraldar — jamais sur TikTok lui-même : si rien ne sort, la base n'a pas encore ce sujet (la recherche vide est notée pour le prochain relevé). Filtres : mots, thèmes, langue, vues, outlier, date, taille du compte, format, 📲. Tri au choix. 24 posts par page, chacun avec son URL TikTok, ses vues, son outlier (avec la médiane du compte et son n), vues ÷ abonnés, 📲, thèmes, langue, date. Compte dans le quota du jour (600 posts distincts). Pour des idées à reproduire sur de petits comptes, préfère petits_comptes_viraux.
Inputs: tri, mots, page, detail, +10 more.
connexionSe connecter à viraldarA
Connecte ce MCP au compte viraldar de l'utilisateur. Ouvre une page de viraldar.rayvol.net dans son navigateur, où il se connecte (Google, ou e-mail + mot de passe) pour autoriser l'agent ; la page rend la session au MCP par 127.0.0.1. L'outil attend jusqu'à 2 minutes ; s'il rend la main avant, l'utilisateur peut finir dans le navigateur (le lien reste valable 10 minutes) puis tu rappelles connexion ou qui_suis_je. À appeler quand un autre outil répond « pas connecté ». Ne demande jamais son mot de passe à l'utilisateur.
Inputs: forcer.
deconnexionSe déconnecter de viraldarA
Déconnecte ce MCP : révoque sa session chez viraldar (pas celle du navigateur) et efface ~/.config/viraldar/session.json.
Inputs: no named parameters.
formats_similairesFormats viraux similairesA
Des posts de la base qui partagent le plus de hashtags avec un post (ou avec une liste de hashtags), puis de durée proche (± 50 %), puis le plus haut outlier ; 24 au plus, 2 par compte. Pour décliner un format qui marche. Compte dans le quota du jour.
Inputs: post, detail, duree_s, hashtags.
infos_baseCe que contient la base viraldarA
Les thèmes (clés d'étiquettes à passer aux autres outils, avec leur nom et leur nombre de posts), les langues, les règles chiffrées (recommandés, critères) et la date du dernier export. Ne coûte rien sur le quota. À appeler avant de filtrer par thème. Avec theme, donne aussi les mots les plus fréquents de ce thème (idées de mots à chercher).
Inputs: theme.
ma_ficheMa fiche produitA
Ce que l'utilisateur a dit de lui à l'accueil (objectifs, @TikTok, ce qu'il vend, son lien, qui filme, vues visées, ce qui le bloque) et sa fiche produit si elle est rédigée (produit, clients, problèmes, positionnement, angles de vidéos, stratégie s'il y en a une). À lire avant de proposer des contenus. Hors quota.
Inputs: no named parameters.
mes_themesMes thèmesA
Les thèmes que l'utilisateur a choisis sur viraldar (« Mes thèmes »), ceux que le site lui suggère d'après les hashtags de ses vidéos, et ces hashtags. Sert de filtre mes_themes aux recherches. Hors quota.
Inputs: no named parameters.
methodeMéthode viraldarARead-only
La méthode à suivre pour créer du contenu TikTok avec viraldar. À lire avant de proposer une stratégie, un brief ou un contenu ; sans reference : la méthode, sinon une de ses références.
Inputs: reference.
modifier_mes_themesModifier Mes thèmesA
Ajoute ou retire des thèmes (clés de infos_base) dans « Mes thèmes » de l'utilisateur, ou les remplace tous. C'est la même liste que sur le site : ne la change que si l'utilisateur le demande.
Inputs: ajouter, retirer, remplacer.
montage_assemblerAssembler des plansA
Met bout à bout plusieurs plans (vidéos, chacune avec son passage, ou images avec leur durée), tous mis au 9:16 de la même façon, avec des fondus entre eux et une musique en option. Pour du texte par-dessus, enchaîner avec montage_texte.
Inputs: plans (required), fps, nom, mode, +4 more.
montage_couvertureImage de couvertureB
Extrait une image de la vidéo à l'instant donné (JPEG ou PNG, sans métadonnées), en option mise au 1080×1920.
Inputs: fichier (required), nom, mode, format, +1 more.
montage_decouperDécouperA
Garde un passage d'une vidéo (au centième de seconde près : ré-encodé), sans changer sa taille. Pour découper et mettre au 9:16 d'un coup, utiliser montage_format_tiktok avec debut/fin.
Inputs: debut (required), fichier (required), fin, nom, +2 more.
montage_diaporamaDiaporama vidéoB
Fait une vidéo 1080×1920 à partir d'images (par exemple les PNG d'un carrousel), avec une durée par image (ou une pour chacune), des fondus en option et une piste audio en option.
Inputs: images (required), fps, nom, mode, +7 more.
montage_format_tiktokMettre au format TikTokA
Ré-encode une vidéo (ou une image) en 1080×1920 9:16, H.264 + AAC, 30 i/s, MP4 sans métadonnées : recadrage, fond flouté ou bandes. Peut découper en même temps. Ajoute une piste silencieuse si la source n'a pas de son.
Inputs: fichier (required), fin, fps, nom, +6 more.
montage_infosInfos d'un médiaARead-only
Durée, taille, ratio, images/s, codecs et son d'une vidéo, d'une image ou d'un son (ffprobe), et ce qui l'écarte du format TikTok (1080×1920, H.264/AAC, 30 i/s). Sans fichier : dit si ffmpeg est installé (et comment l'installer sinon) et rappelle les zones sûres.
Inputs: fichier.
montage_texteIncruster texte et sous-titresA
Incruste des textes (accroche en haut par défaut) et des sous-titres (fichier SRT ou segments) dans la zone sûre TikTok du cas zone (par défaut « description » : x 86–907, y 403–1382 px sur 1080×1920, avatars à gauche évités ; voir montage_infos pour les autres cas). Coupure des lignes automatique, centrage sur l'axe de la zone. Prévient si un texte reste moins de 0.25 s par mot (2.5 s au moins). Rend aussi une planche de contrôle (-controle.jpg : une image par texte, zones tracées) quand un Chrome/Chromium est trouvé : regarde-la. Repère 1080×1920 : mettre d'abord la vidéo au format TikTok. Les emoji en couleur ne sont pas rendus (libass).
Inputs: fichier (required), nom, fond, gras, +14 more.
noter_postNoter un post gardéA
Écrit (ou efface, avec une note vide) « ce que tu en reprends » sur un post déjà gardé dans À reproduire.
Inputs: note (required), post (required).
petits_comptes_virauxPetits comptes viraux (recommandés)A
Les recommandés de viraldar : des posts de comptes ≤ 50 k abonnés qui ont fait ≥ 300 k vues et ≥ 20 × leurs abonnés, classés par vues ÷ abonnés, 2 au plus par compte, les 100 premiers — les formats qui marchent sans audience, donc les plus reproductibles. Mêmes filtres que chercher_posts (thèmes, mes_themes, langue, mots…). Les posts déjà gardés ou passés par l'utilisateur n'y sont plus. Compte dans le quota du jour.
Inputs: mots, page, detail, format, +9 more.
postDétail d'un postA
Toutes les stats d'un post de la base (likes, partages, enregistrements, son, mots-clés qui l'ont trouvé, exemples de commentaires qui demandent l'app, ta note s'il est gardé). Prend un id ou une URL TikTok. Un post déjà rendu par un autre outil pendant cette session ne coûte rien ; sinon il faut son URL (avec le @compte) : il est cherché parmi les posts de ce compte, dans le quota.
Inputs: post (required).
qui_suis_jeCompte viraldar connectéA
Dit si ce MCP est connecté à viraldar, et avec quel compte (e-mail, identifiant). Ne coûte rien sur le quota.
Inputs: no named parameters.
trier_postGarder ou passer un postA
Comme les boutons du site : « garder » met le post dans À reproduire (avec une note facultative : ce qu'on en reprend — hook, structure, visuel, son), « passer » le sort des recommandés, « retirer » efface le tri. Seul un post déjà montré à l'utilisateur ces 2 derniers jours (rendu par un outil de recherche) peut être trié.
Inputs: post (required), action (required), note.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 25 tools
Most tools target clearly distinct actions (auth, search, curation, carousel rendering, video montage), and the carrousel_*/montage_* groupings are self-explanatory. The main overlap risk is in the retrieval cluster — chercher_posts, petits_comptes_viraux, formats_similaires and post all return posts — but descriptions differentiate them by scope and quota cost. Minor confusion also possible between trier_post, noter_post and a_reproduire, though the descriptions separate 'classify', 'annotate' and 'list kept posts'.
Two coherent prefix families (carrousel_*, montage_*) coexist with verb_noun names (chercher_posts, modifier_mes_themes, trier_post) and bare noun names (connexion, deconnexion, mes_themes, infos_base, ma_fiche, methode, post). The mix is readable and loosely French-consistent, but there is no single predictable verb_noun pattern across the whole set.
At 25 tools this sits right at the heavy end of the scale, which is defensible given the breadth of the domain (search, curation, carousel generation, video assembly). Still, several tools are thin wrappers (montage_decouper vs montage_format_tiktok with debut/fin) and the surface could likely be consolidated.
The lifecycle is well covered end to end: connection/identity, theme discovery and editing, search and scoring, keep/skip/annotate, then carousel preview/render and full montage pipeline (probe, crop, cut, assemble, slideshow, text overlay). Gaps are minor — e.g. no bulk management of kept posts or export of a finished asset beyond file paths — and an agent can work around them.
Maintenance
Related MCP Connectors
AI agent for social media: finds videos, cuts captioned clips, posts to TikTok, Instagram, YouTube.
TikTok research for AI agents. Ask ChatGPT, Claude, Cursor, Codex or any MCP client what people search, watch, say and buy on TikTok, and get real numbers back. 34 tools: weekly TikTok search volume and 7-day trends, content gaps, videos, creators, comments and caption transcripts, hashtags and sounds, TikTok Shop sales estimates for products, shops, creators, videos and LIVE streams, TikTok’s Top Ads library with CTR and retention, places, and a fair comment-giveaway picker. 17 markets. Built for marketers, agencies, TikTok Shop sellers and creators. Sign in with OAuth or an API key; 50 free credits, no card.
Clone viral TikTok/Instagram slideshows for your business. Async; 6 tools; Bearer API key.
Managed TikTok/Instagram/YouTube accounts + video posting at scale, operated by human managers.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceReplicate viral TikTok slideshows in your niche by talking to your agent. It generates images locally or via API and assembles the final result.1MIT
- AlicenseBqualityCmaintenanceEnables AI coding agents to programmatically assemble vertical videos and manage local CapCut Desktop drafts, including AI background removal, audio mastering to -14 LUFS or Demucs vocal isolation, music auto-ducking, punch zooms, karaoke captions, PiP proof overlays, hook badges, safe-zone linting, proxy previews, and EN→ES cloning/dubbing. It outputs real CapCut draft JSON ready for review and export.172MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to edit video locally through FFmpeg: probing media, validating and previewing JSON edit projects, rendering short-form clips with captions, reframing, transitions and ducked music. Also analyses existing videos and applies or saves reusable format templates, without cloud services or API keys.1Apache 2.0
- AlicenseAqualityBmaintenanceEnables AI agents to perform deterministic FFmpeg video edits—silence removal, vertical reframing, 3D LUT grading, and metadata/audio extraction—and generate native CapCut Desktop drafts, with a local web studio for previewing and batch processing.51MIT