publiar-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PUBLIAR_API_KEY | Yes | Required. API key `mcp_pub_...` created on publiar.app/profile. | |
| PUBLIAR_API_URL | No | REST API endpoint. Defaults to https://api.publiar.app/api | https://api.publiar.app/api |
| PUBLIAR_TIMEOUT | No | HTTP timeout in seconds. Defaults to 60. | 60 |
| PUBLIAR_LOG_LEVEL | No | Log level on stderr. Defaults to INFO. | INFO |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| generate_lead_magnetA | 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. |
| render_visualA | Rend un LeadMagnetVisualSpec en PNG (1080x1080 ou ratio adapté). Retourne le PNG encodé base64 + mime-type. 8 archétypes supportés. |
| render_gifA | Rend un lead magnet ANIME en GIF (1080x1080, boucle infinie). Recettes : 'tool_pairing' (brands[], connector, caption_bottom) et 'metric_counter' (value, unit, prefix, label, caption_bottom). PUBLIABLE SUR LINKEDIN, verifie le 2026-08-11 par un aller-retour reel : un GIF de 39 frames uploade via /rest/images ressort en 39 frames animees. L'artefact servi s'appelle image-shrink_1280 et reste anime, ce nom ne prouve donc aucun aplatissement. La cause des GIF figes d'avant etait /v2/assets, qui n'accepte que jpeg et png : le format n'etait pas supporte en entree. Seul point non verifie : que le fil JOUE l'animation a l'affichage, ce qu'un post reel regarde a l'oeil confirmerait. Coute cher a rendre (528 Mo de pic memoire), reste sur render_visual quand l'animation n'apporte rien. |
| list_corpusB | Liste les lead magnets du corpus de référence (45 entrées : 30+ posts du docx Darius + 45 images classifiées). Filtrable par archetype, tri par engagement. |
| find_similar_corpusA | RAG retrieval : retourne les top-K lead magnets du corpus les plus similaires à une requête (texte libre + brands optionnels). Score = embedding cosine + engagement bump (log10 likes). |
| publish_lead_magnetA | Publie un lead magnet sur LinkedIn depuis l'agent, sans ouvrir la webapp. DEUX PHASES OBLIGATOIRES. Premier appel sans confirmed : le serveur rend le visuel et retourne un APERÇU (post_text + png_base64) SANS rien publier. Tu DOIS alors montrer le texte ET l'image à l'utilisateur et attendre son accord explicite. Second appel avec confirmed: true : la publication part. Ne confirme jamais à la place de l'utilisateur, c'est son nom sur le post. Si resource_url est fourni, il est TESTÉ avant publication (règle R6 : une ressource morte annoncée à des commentateurs coûte plus cher que l'absence de post). Retourne le post_urn : enchaîne avec register_published pour activer le suivi des commentaires et les DM. |
| update_postA | Reecrit le texte d'un post LinkedIn DEJA publie. Sert quand le hook est rate ou qu'une affirmation s'avere fausse : editer bat republier, l'URN, la date et l'engagement sont conserves. DEUX PHASES OBLIGATOIRES, comme publish_lead_magnet. Premier appel sans confirmed : retourne l'avant et l'apres SANS rien toucher. Montre les deux a l'utilisateur, puis rappelle avec confirmed: true s'il valide. Le VISUEL n'est pas modifiable, LinkedIn ne l'autorise pas : l'image publiee reste en place, seul le texte change. Passe le texte ENTIER, pas un fragment : le champ est remplace, jamais fusionne. |
| add_memoryA | Ecrit une entree dans la memoire de l'utilisateur. C'est la voie d'entree du second cerveau : ce que tu sais et que Publiar n'a pas vu passer. source et source_date sont OBLIGATOIRES, sans provenance une note ancienne ressort plus tard dans une phrase au present. kind parmi brand_voice, past_post, audience, decision, manual. learned_rule et anti_pattern sont refuses : ils se derivent des performances mesurees, on ne les declare pas. scope cloisonne par projet et filtre le retrieval. La deduplication rend le rejeu d'une ingestion inoffensif. |
| register_publishedC | Enregistre un lead magnet publié sur LinkedIn (snapshot du LeadMagnetInput + URN du post LinkedIn pour le tracking engagement). |
| list_publishedA | Liste les lead magnets publiés de l'utilisateur (avec stats engagement rolling). |
| get_published_detailA | Détail d'un PublishedLeadMagnet + ses engagements (comments + statut DM). |
| toggle_published_dmB | Active/désactive auto_dm_enabled sur un PublishedLeadMagnet. |
| set_published_statusC | Change le status d'un PublishedLeadMagnet (active/paused/completed/error). |
| paste_commentsA | Sprint E.3' Option B : import des comments LinkedIn collés par l'utilisateur (formats : tab, pipe, free-form). Parse + matche le CTA + génère les DM personnalisés prêts à copier-coller manuellement (LinkedIn r_member_social étant CLOSED, l'envoi auto est impossible). |
| mark_engagement_sentB | Marque un CommentEngagement comme DM envoyé (manuellement via LinkedIn). |
| generate_pairA | Pipeline v3 legacy : génère 2 variants (hook + image SPEC) couplés via le pair_generator (coupled motifs + proof gate). Utilise plutôt generate_lead_magnet — celui-ci reste pour le retrieval explicite via biais/motifs. |
| prepare_visual_baseA | Pour l'archétype dark_thumbnail : génère via Gemini 2.5 Flash Image un fond cinematic background à partir d'un base_prompt. Retourne un data: URL prêt à injecter dans le spec. |
| poll_published_nowA | Force un poll Community API immédiat sur un PublishedLeadMagnet (legacy, retournera des engagements vides puisque r_member_social est CLOSED — préférer paste_comments). |
| whoamiA | Retourne les infos du user authentifié via la clé MCP (utile pour debug auth). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/TokDar2410621/publiar-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server