Skip to main content
Glama
boreales

mcp-plus-tard

Plus Tard MCP

Python FastAPI MCP License

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 :

  1. list_accounts → trouve l'identifiant Facebook de "Boréales"

  2. 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.


Related MCP server: BlackTwist MCP

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-Keyaucun 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.com

  • localhost, 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 TransportSecuritySettings du 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/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.


Liens utiles


License

MIT © 2026 Plus Tard — Boréales Créations.

Made with ❤️ in France.

F
license - not found
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to manage scheduled social media posts and content automation across multiple platforms (X/Twitter, Reddit, LinkedIn, Instagram, TikTok, YouTube). Supports organizing campaigns into tracks, scheduling posts with natural language, and automating content workflows with local SQLite storage.
    Last updated
    7
    32
    MIT
  • A
    license
    -
    quality
    C
    maintenance
    Manage Threads and Bluesky social media from AI assistants. Schedule posts, check analytics, and automate follow-up replies.
    Last updated
    3
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    AI-powered social media posting across 14 platforms. Post to Twitter, Instagram, TikTok, Facebook, LinkedIn, YouTube and more with one command. AI adapts content per platform, schedules posts, and generates 30-day content calendars.
    Last updated
    6
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Schedule and manage social media posts across 10 platforms (Instagram, Facebook, TikTok, X, LinkedIn, YouTube, Threads, Pinterest, Bluesky, Telegram) from any MCP-compatible AI assistant. Supports batch posting, media uploads, analytics, and platform-specific features like Reels, Shorts, and carousels.
    Last updated
    11
    129
    5
    MIT

View all related MCP servers

Related MCP Connectors

  • Schedule, publish, and analyze social posts on TikTok, Instagram, YouTube, X, Threads, LinkedIn.

  • Schedule and publish social posts to 11 platforms with media, campaigns, analytics and AI captions

  • Social media scheduler for Instagram, Facebook, YouTube, TikTok, LinkedIn, X, Bluesky, and Telegram.

View all MCP Connectors

Latest Blog Posts

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/boreales/mcp-plus-tard'

If you have feedback or need assistance with the MCP directory API, please join our Discord server