About Mcp Plus Tard
Mcp Plus Tard is an MCP server for managing social media publishing through Plus Tard. It lets connected AI clients inspect accounts and schedule posts across supported networks.
Key features
- 01List connected social accounts
- 02Schedule posts to one network
- 03Validate API keys
- 04Register users and retrieve details
- 05Expose account and user resources
Use cases
- 01Schedule a post through an AI client
- 02Check which social accounts are connected
- 03Verify an API key before use
MCP support
Exposes five tools and two resources to MCP clients over Streamable HTTP. Requests pass the client’s X-Api-Key through to the Plus Tard API.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
5Saved tool list · updated 3w ago
This tool takes no parameters.
Details
From the project READMEPlus Tard MCP
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
Démo en 30 secondes
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.
Tools (5)
| 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. |
Resources (2)
| URI | Contenu |
|---|---|
plus-tard://accounts | Liste JSON des comptes connectés. |
plus-tard://users/{id} | Détail JSON d'un utilisateur. |
Installation côté client
Claude Desktop
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 Code (CLI)
claude mcp add plus-tard \
--transport http https://mcp.plus-tard.com/mcp/ \
--header "X-Api-Key: your_plus_tard_api_key"
Claude.ai (web)
Settings → Connectors → Add custom connector — URL https://mcp.plus-tard.com/mcp/, header X-Api-Key: your_key.
Cursor / n8n
Mêmes URL et header. Voir la doc complète.
Self-host (pour développeurs)
Stack
- Python 3.12 · FastAPI ·
mcp[fastapi](Streamable HTTP transport) - httpx · pydantic v2 · pydantic-settings
- pytest · pytest-asyncio · respx
Architecture
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.
Développement local
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
Tests
pytest
# 24 passed
Déploiement Docker (production)
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).
Configuration
| 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.
Hosts autorisés
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).
Structure du projet
.
├── 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
Sécurité
- HTTPS uniquement en production (TLS via Let's Encrypt).
- Pas de log du contenu des posts ni des tokens API.
- Anti-DNS rebinding via
TransportSecuritySettingsdu SDK MCP. - Multi-tenancy isolée : chaque requête est traitée avec son propre client httpx, fermé en fin de requête (pas de pooling cross-user).
- Si vous suspectez qu'une clef a fuité, révoquez-la depuis votre espace Plus Tard.
Roadmap
- Logging structuré (JSON, sans tokens ni contenus)
- Rate limiting par clef API
- Métriques Prometheus
- OAuth flow pour les connecteurs (au lieu d'une clef API copy-paste)
- Support
completion/completeMCP pour suggestions depage_id(en attente d'un SDK Python qui exposeToolReference)
Idées et contributions bienvenues — ouvrez une issue ou une PR.
Liens utiles
- Documentation utilisateur
- API Plus Tard (v1.2)
- Spécification MCP
- MCP Inspector
- mcp-remote (pont stdio↔HTTP pour Claude Desktop)
License
MIT © 2026 Plus Tard — Boréales Créations.
Made with ❤️ in France.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.