loading…
Search for a command to run...
loading…
Schedule posts around social networks
Connectez votre assistant IA (Claude, Cursor, n8n…) à Plus Tard pour planifier vos publications Facebook, Instagram, LinkedIn, X/Twitter, TikTok, Threads, Bluesky et Google My Business par simple conversation.
Production endpoint : https://mcp.plus-tard.com/mcp/
Documentation utilisateur : https://plus-tard.com/api-mcp
Vous : « Programme un post Facebook sur ma page Boréales demain à 10h : "Hello le monde !" »
Claude appelle automatiquement :
list_accounts→ trouve l'identifiant Facebook de "Boréales"schedule_post(provider="facebook", page_id="…", planned_at="2026-05-05T10:00:00Z", text="Hello le monde !")Plus Tard : ✅ Post #1432 planifié pour le 05/05/2026 à 10h00.
| Tool | Description |
|---|---|
validate_api_key |
Vérifie qu'une clef API est active et retourne ses métadonnées. |
list_accounts |
Liste tous les comptes réseaux sociaux connectés à Plus Tard. |
schedule_post |
Planifie un post sur un seul réseau (1 appel = 1 réseau). |
register_user |
Crée un nouvel utilisateur et retourne une URL OAuth. |
get_user |
Détail d'un utilisateur : providers connectés et sous-comptes. |
| URI | Contenu |
|---|---|
plus-tard://accounts |
Liste JSON des comptes connectés. |
plus-tard://users/{id} |
Détail JSON d'un utilisateur. |
Ajoutez à ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) :
{
"mcpServers": {
"plus-tard": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.plus-tard.com/mcp/",
"--header",
"X-Api-Key:${PLUS_TARD_TOKEN}"
],
"env": {
"PLUS_TARD_TOKEN": "your_plus_tard_api_key"
}
}
}
}
claude mcp add plus-tard \
--transport http https://mcp.plus-tard.com/mcp/ \
--header "X-Api-Key: your_plus_tard_api_key"
Settings → Connectors → Add custom connector — URL https://mcp.plus-tard.com/mcp/, header X-Api-Key: your_key.
Mêmes URL et header. Voir la doc complète.
mcp[fastapi] (Streamable HTTP transport)Client (Claude/Cursor/n8n)
│ Streamable HTTP + X-Api-Key header
▼
MCP server (this repo)
│ X-Api-Key forwarded as-is
▼
Plus Tard Symfony API
Chaque requête MCP arrive avec X-Api-Key, qui est propagé tel quel à
l'API Plus Tard. Pas de session, pas de stockage côté serveur — chaque
client utilise sa propre clef.
git clone https://github.com/<votre-org>/plus-tard-mcp.git
cd plus-tard-mcp
python3.12 -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
cp .env.example .env
# Édite .env : PLUS_TARD_BASE_URL=https://plus-tard.com
uvicorn main:app --reload --port 8001
Le serveur écoute sur http://127.0.0.1:8001/mcp/. Test rapide avec le
MCP Inspector :
npx @modelcontextprotocol/inspector
# Transport: Streamable HTTP
# URL: http://127.0.0.1:8001/mcp/
# Header: X-Api-Key = ta_clef_plus_tard
pytest
# 24 passed
Le dépôt fournit Dockerfile + docker-compose.yml prêts pour un VPS
avec nginx-proxy +
acme-companion :
sudo docker compose up -d --build
Voir deploy/README.md pour le détail (snippet nginx-proxy SSE-friendly, gestion TLS Let's Encrypt, mise à jour).
| Variable | Description | Défaut |
|---|---|---|
PLUS_TARD_BASE_URL |
URL de base de l'API Plus Tard | (requis) |
MCP_HOST |
Bind host pour uvicorn | 0.0.0.0 |
MCP_PORT |
Bind port pour uvicorn | 8001 |
L'authentification se fait par requête via le header X-Api-Key —
aucun token n'est stocké côté serveur.
Le SDK MCP active une protection anti-DNS rebinding qui n'autorise que les hôtes whitelistés. Les hôtes par défaut sont :
mcp.plus-tard.comlocalhost, 127.0.0.1 (pour le dev)Pour ajouter votre propre domaine, éditez la liste dans main.py
(TransportSecuritySettings.allowed_hosts).
.
├── main.py # FastAPI + FastMCP + middleware X-Api-Key
├── app/
│ ├── config.py # Settings via pydantic-settings
│ ├── auth/ # Dependency X-Api-Key (réutilisable hors MCP)
│ ├── models/ # Schémas pydantic v2 (post, account, user)
│ ├── services/ # PlusTardClient async (httpx)
│ └── tools/ # 5 tools métier (str → str)
├── tests/ # 24 tests pytest-asyncio
├── deploy/
│ ├── README.md # Guide déploiement VPS
│ ├── vhost.d/ # Snippet nginx-proxy SSE
│ └── twig/ # Template Symfony pour la doc utilisateur
├── docs/index.html # Doc utilisateur statique (HTML)
├── Dockerfile
├── docker-compose.yml
└── pyproject.toml
TransportSecuritySettings du SDK MCP.completion/complete MCP pour suggestions de page_id
(en attente d'un SDK Python qui expose ToolReference)Idées et contributions bienvenues — ouvrez une issue ou une PR.
MIT © 2026 Plus Tard — Boréales Créations.
Made with ❤️ in France.
Add this to claude_desktop_config.json and restart Claude Desktop.
{
"mcpServers": {
"mcp-plus-tard": {
"command": "npx",
"args": []
}
}
}