publiar-mcp
Serveur MCP qui écrit des lead magnets LinkedIn et refuse d'inventer.
EN. MCP server for Publiar. Writes LinkedIn lead magnets that refuse to fabricate facts, renders the matching visual, publishes to LinkedIn and tracks what happened. 22 tools, hosted over streamable HTTP with OAuth, or local over stdio. Generated posts are in French. MIT.
Demande un post LinkedIn à un LLM, il te sort « après 7 semaines de tests intensifs, +340 % d'engagement ». Tu n'as rien testé pendant 7 semaines et le chiffre sort de nulle part. Tu le publies, quelqu'un demande la source, et tu n'en as pas.
Ce serveur applique six règles bloquantes avant d'écrire une ligne. Pas de chiffre sans source déclarée, pas de marque non citée, pas de client anonyme fictif, pas de durée de test imaginaire, pas d'années d'expérience sorties du chapeau, et pas de ressource promise dont l'URL ne répond pas. Si tu ne l'as pas dit, ça n'existe pas.
Deux façons de le brancher
Hébergé, rien à installer. Le serveur tourne déjà sur api.publiar.app.
Ton client se connecte à l'URL et ouvre une fenêtre de connexion.
claude mcp add --transport http publiar https://api.publiar.app/api/mcp
Aucune clé à copier, aucun secret posé dans un fichier de configuration. L'endpoint répond 401 en désignant sa métadonnée OAuth, le client s'enregistre tout seul, tu autorises dans le navigateur. Révocable depuis ton profil, ce qu'une clé collée dans un fichier n'est pas.
En local, par paquet. Si tu préfères que le processus tourne chez toi, ou si ton client ne parle pas encore le transport HTTP, la voie stdio reste entière.
Installation
pip install publiar-mcp
Configuration
Génère une clé sur publiar.app/profile, section « Clés MCP ». Elle n'est affichée qu'une fois.
Claude Desktop, %APPDATA%\Claude\claude_desktop_config.json sur Windows,
~/Library/Application Support/Claude/claude_desktop_config.json sur macOS :
{
"mcpServers": {
"publiar": {
"command": "publiar-mcp",
"env": {
"PUBLIAR_API_KEY": "mcp_pub_xxxxx",
"PUBLIAR_API_URL": "https://api.publiar.app/api"
}
}
}
}
Cursor, ~/.cursor/mcp.json, même format. Claude Code :
claude mcp add publiar -e PUBLIAR_API_KEY=mcp_pub_xxxxx -- publiar-mcp
Redémarre complètement l'agent pour qu'il charge le serveur.
Les 22 outils
Commencer
Écrire et rendre
Publier
Mesurer et relancer
Mémoire et corpus
Les 8 archétypes visuels
Le serveur déduit l'archétype depuis ta matière, tu n'as pas à le choisir.
Une preuve réelle uploadée bat toujours une preuve générée. Si tu fournis une
photo, l'archétype est selfie_workspace, même si tu as aussi nommé deux outils.
Exemple
Génère un lead magnet sur Claude + Notion pour automatiser ma prise de notes. J'ai mesuré 3 h gagnées par jour depuis 2 mois. CTA : NOTION.
L'agent appelle generate_lead_magnet et te rend le post, les hashtags et le
visual_spec. render_visual en fait un PNG, publish_lead_magnet l'envoie.
Variables d'environnement
Architecture
Agent IA publiar-mcp API Publiar
Claude Desktop → ce paquet, → Django,
Cursor processus stdio api.publiar.app
│ │
│ Bearer mcp_pub_… │
└───────────────────────┘
HTTPS, JSON et NDJSON
Aucune logique métier ici. Ce paquet est un adaptateur de protocole ; tout vit dans le backend qui sert déjà publiar.app.
Sécurité
Les clés sont stockées hachées en SHA-256 côté serveur, la valeur brute n'est
montrée qu'à la création. Chaque clé est révocable depuis publiar.app/profile.
last_used_at est suivi pour repérer les clés dormantes. Le préfixe
mcp_pub_ reste visible pour identifier une clé sans la révéler.
Limitations connues
poll_published_now renverra toujours vide. Lire les commentaires d'un post
personnel exige la permission LinkedIn r_member_social, que LinkedIn classe
en accès privé et n'accorde plus. Utilise paste_comments : tu colles les
commentaires, le serveur fait le reste.
generate_lead_magnet consomme de l'inférence côté serveur.
Les envois d'images pour selfie_workspace et system_workflow_screenshot ne
passent pas encore par le MCP. L'agent doit fournir le base64 dans le spec.
Licence
MIT.