MCP server that writes LinkedIn lead magnets with 6 anti-hallucination rules, 8 visual archetypes, publication and tracking. Exposes 15+ Publiar tools to MCP-compatible AI agents.
Publiar MCP has well-structured tool definitions with complete input schemas and detailed descriptions. All 4 tools have descriptions exceeding 100 characters and properly typed parameters with enums where appropriate. However, output schemas are not documented, the server returns JSON/NDJSON/PNG but does not specify the structure of response fields. Error handling is minimal (generic RuntimeError messages). Tool names follow verb_noun convention (get_brief, generate_lead_magnet, render_visual, render_gif). The generate_lead_magnet tool is complex with 12 parameters, some with conditional requirements (proof_file_tree required only if proof_type='file_tree') that are documented but could be clearer. No tool annotations (readOnlyHint, destructiveHint) are present despite clear risk levels (get_brief and render_visual are READ_ONLY; generate_lead_magnet is WRITE).
Génère un lead magnet LinkedIn complet (post texte + visual_spec) à partir d'un input structuré (outils utilisés, chiffre + source, type de preuve, etc.). Stream NDJSON (validation → post → visual_spec → done). Renvoie la liste des événements parsés.
LE POINT DE DÉPART de tout lead magnet : appelle-le AVANT d'écrire quoi que ce soit. Un appel rend cinq choses : la méthode Publiar complète (ordre des étapes, les 8 règles anti-hallucination R1-R8, le jury de relecture scrolleur + lecteur pressé, la discipline du hook, la structure du post), l'archétype visuel déduit de la matière déclarée, les 5 posts du corpus gagnant les plus proches du sujet, la mémoire pertinente de l'utilisateur (voix, décisions, règles apprises) et ses ressources déjà hébergées avec leurs vues. Suis la méthode rendue : elle est la référence, y compris face à tes propres habitudes de rédaction. Lecture seule, rejouable.
Rend un lead magnet ANIME en GIF (1080x1080, boucle infinie). Recettes : 'tool_pairing'.
Rend un LeadMagnetVisualSpec en PNG (1080x1080 ou ratio adapté). Retourne le PNG encodé base64 + mime-type. 8 archétypes supportés.
Output schemas not documented. Tools return JSON/NDJSON/PNG but response structure is not specified. LLMs cannot plan downstream operations or extract fields without knowing what the response contains.
Tool annotations missing. get_brief and render_visual are marked READ_ONLY; generate_lead_magnet is WRITE. These should be declared via readOnlyHint and destructiveHint in the tool definition so agents know which calls are safe to retry.
render_gif description is vague (60 chars). States 'Rend un lead magnet ANIME en GIF' and 'Recettes: tool_pairing' but does not explain when to use it, what input it expects, or what the output contains. Lacks actionable context for LLM selection.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | <=2025-11-25 | v2 |
Conditional parameter requirements not machine-parseable. generate_lead_magnet has proof_file_tree, proof_roles, proof_product_name, proof_product_link that are conditionally required based on proof_type enum value. JSON Schema does not express this; LLMs must infer from text descriptions, risking misuse.
Error handling is generic. _err() returns a plain text message without categorization (retryable vs user-fixable vs fatal) or recovery guidance. Agents cannot determine next steps when a call fails.