Skip to main content
Glama
boreales

mcp-plus-tard

Plus Tard MCP

Python FastAPI MCP License

AIアシスタント(Claude、Cursor、n8nなど)を Plus Tard に接続し、会話を通じて Facebook、Instagram、LinkedIn、X/Twitter、TikTok、Threads、Bluesky、 Googleマイビジネスへの投稿をスケジュールできます。

本番環境エンドポイント : https://mcp.plus-tard.com/mcp/ ユーザー向けドキュメント : https://plus-tard.com/api-mcp


30秒でわかるデモ

あなた : 「BoréalesページのFacebook投稿を明日の10時に予約して:『Hello le monde !』」

Claude が自動的に呼び出します:

  1. list_accounts → 「Boréales」のFacebook IDを取得

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

Plus Tard : ✅ 投稿 #1432 を2026年5月5日 10:00に予約しました。


ツール (5)

ツール

説明

validate_api_key

APIキーが有効か確認し、メタデータを返します。

list_accounts

Plus Tardに接続されているすべてのSNSアカウントを一覧表示します。

schedule_post

単一のネットワークに投稿をスケジュールします(1呼び出し = 1ネットワーク)。

register_user

新規ユーザーを作成し、OAuth URLを返します。

get_user

ユーザーの詳細(接続済みプロバイダーおよびサブアカウント)を取得します。

リソース (2)

URI

コンテンツ

plus-tard://accounts

接続済みアカウントのJSONリスト。

plus-tard://users/{id}

ユーザー詳細のJSON。


クライアント側のインストール

Claude Desktop

~/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/、ヘッダー X-Api-Key: your_key を設定します。

Cursor / n8n

同じURLとヘッダーを使用します。完全なドキュメントを参照してください。


セルフホスト(開発者向け)

スタック

  • Python 3.12 · FastAPI · mcp[fastapi] (Streamable HTTP transport)

  • httpx · pydantic v2 · pydantic-settings

  • pytest · pytest-asyncio · respx

アーキテクチャ

Client (Claude/Cursor/n8n)
   │  Streamable HTTP + X-Api-Key header
   ▼
MCP server (this repo)
   │  X-Api-Key forwarded as-is
   ▼
Plus Tard Symfony API

各MCPリクエストは X-Api-Key を伴い、そのままPlus Tard APIに転送されます。 セッションやサーバー側のストレージはなく、各クライアントが独自のキーを使用します。

ローカル開発

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

サーバーは http://127.0.0.1:8001/mcp/ でリッスンします。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

Dockerデプロイ(本番環境)

リポジトリには、nginx-proxy + acme-companion を使用したVPS向けの Dockerfile + docker-compose.yml が用意されています:

sudo docker compose up -d --build

詳細(SSE対応のnginx-proxyスニペット、Let's Encrypt TLS管理、更新方法)については deploy/README.md を参照してください。


設定

変数

説明

デフォルト

PLUS_TARD_BASE_URL

Plus Tard APIのベースURL

(必須)

MCP_HOST

uvicornのバインドホスト

0.0.0.0

MCP_PORT

uvicornのバインドポート

8001

認証は X-Api-Key ヘッダーを介したリクエストごとに行われ、サーバー側にトークンは保存されません

許可されたホスト

MCP SDKはDNSリバインディング保護を有効にしており、ホワイトリストに登録されたホストのみを許可します。デフォルトのホストは以下の通りです:

  • mcp.plus-tard.com

  • localhost, 127.0.0.1 (開発用)

独自のドメインを追加するには、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

セキュリティ

  • 本番環境では HTTPSのみ (Let's EncryptによるTLS)。

  • 投稿内容やAPIトークンの ログ記録なし

  • MCP SDKの TransportSecuritySettings による DNSリバインディング対策

  • 分離されたマルチテナンシー:各リクエストは独自のhttpxクライアントで処理され、リクエスト終了時に閉じられます(ユーザー間でのプーリングなし)。

  • キーが漏洩した疑いがある場合は、Plus Tardの管理画面から取り消してください。


ロードマップ

  • [ ] 構造化ログ(JSON形式、トークンやコンテンツは含めない)

  • [ ] APIキーごとのレート制限

  • [ ] Prometheusメトリクス

  • [ ] コネクタ用のOAuthフロー(APIキーのコピー&ペーストの代わり)

  • [ ] page_id 提案のためのMCP completion/complete サポート (ToolReference を公開するPython SDKの更新待ち)

アイデアや貢献を歓迎します。IssueまたはPRを作成してください。


便利なリンク


ライセンス

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

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