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 My Business 게시물을 예약하세요.

프로덕션 엔드포인트 : https://mcp.plus-tard.com/mcp/ 사용자 문서 : https://plus-tard.com/api-mcp


30초 데모

사용자 : « 내 Boréales 페이지에 내일 오전 10시에 "Hello le monde !"라는 Facebook 게시물을 예약해 줘 »

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시로 예약되었습니다.


도구 (5)

도구

설명

validate_api_key

API 키가 활성 상태인지 확인하고 메타데이터를 반환합니다.

list_accounts

Plus Tard에 연결된 모든 소셜 네트워크 계정을 나열합니다.

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 (웹)

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

자세한 내용은 deploy/README.md를 참조하세요 (SSE 호환 nginx-proxy 스니펫, Let's Encrypt TLS 관리, 업데이트).


구성

변수

설명

기본값

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 대기 중)

아이디어와 기여를 환영합니다 — 이슈나 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