Skip to main content
Glama
boreales

mcp-plus-tard

by boreales

Plus Tard MCP

Python FastAPI MCP License

Connect your AI assistant (Claude, Cursor, n8n…) to Plus Tard to schedule your Facebook, Instagram, LinkedIn, X/Twitter, TikTok, Threads, Bluesky, and Google My Business posts through simple conversation.

Production endpoint : https://mcp.plus-tard.com/mcp/ User documentation : https://plus-tard.com/api-mcp


30-second demo

You : "Schedule a Facebook post on my Boréales page for tomorrow at 10 AM: 'Hello world!'"

Claude automatically calls:

  1. list_accounts → finds the Facebook ID for "Boréales"

  2. schedule_post(provider="facebook", page_id="…", planned_at="2026-05-05T10:00:00Z", text="Hello world!")

Plus Tard : ✅ Post #1432 scheduled for 05/05/2026 at 10:00 AM.


Related MCP server: atlas-social-mcp

Tools (5)

Tool

Description

validate_api_key

Verifies that an API key is active and returns its metadata.

list_accounts

Lists all social media accounts connected to Plus Tard.

schedule_post

Schedules a post on a single network (1 call = 1 network).

register_user

Creates a new user and returns an OAuth URL.

get_user

User details: connected providers and sub-accounts.

Resources (2)

URI

Content

plus-tard://accounts

JSON list of connected accounts.

plus-tard://users/{id}

JSON detail of a user.


Client-side installation

Claude Desktop

Add to ~/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

Same URL and header. See the full documentation.


Self-host (for developers)

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

Each MCP request arrives with X-Api-Key, which is propagated as-is to the Plus Tard API. No session, no server-side storage — each client uses its own key.

Local development

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

The server listens on http://127.0.0.1:8001/mcp/. Quick test with the 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

Docker deployment (production)

The repository provides Dockerfile + docker-compose.yml ready for a VPS with nginx-proxy + acme-companion:

sudo docker compose up -d --build

See deploy/README.md for details (SSE-friendly nginx-proxy snippet, Let's Encrypt TLS management, updates).


Configuration

Variable

Description

Default

PLUS_TARD_BASE_URL

Base URL for the Plus Tard API

(required)

MCP_HOST

Bind host for uvicorn

0.0.0.0

MCP_PORT

Bind port for uvicorn

8001

Authentication is done per request via the X-Api-Key header — no tokens are stored server-side.

Allowed hosts

The MCP SDK enables anti-DNS rebinding protection that only allows whitelisted hosts. The default hosts are:

  • mcp.plus-tard.com

  • localhost, 127.0.0.1 (for dev)

To add your own domain, edit the list in main.py (TransportSecuritySettings.allowed_hosts).


Project structure

.
├── 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

Security

  • HTTPS only in production (TLS via Let's Encrypt).

  • No logging of post content or API tokens.

  • Anti-DNS rebinding via TransportSecuritySettings from the MCP SDK.

  • Isolated multi-tenancy: each request is processed with its own httpx client, closed at the end of the request (no cross-user pooling).

  • If you suspect a key has leaked, revoke it from your Plus Tard space.


Roadmap

  • [ ] Structured logging (JSON, without tokens or content)

  • [ ] Rate limiting per API key

  • [ ] Prometheus metrics

  • [ ] OAuth flow for connectors (instead of a copy-paste API key)

  • [ ] Support for MCP completion/complete for page_id suggestions (waiting for a Python SDK that exposes ToolReference)

Ideas and contributions are welcome — open an issue or a PR.



License

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

Made with ❤️ in France.

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

Maintenance

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

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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.
    7
    12
    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.
    6
    MIT
  • A
    license
    -
    quality
    A
    maintenance
    Social media scheduling and publishing for AI agents. 17 validation-first tools to post to X, LinkedIn, Instagram, TikTok, YouTube, Reddit, Discord, Telegram, and more through one connected workspace.
    306
    76
    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

  • Create, schedule and publish social posts to TikTok, Instagram, Facebook and YouTube.

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