PostLake
Publish, schedule and read analytics across every major social network from one MCP server.
Что умеет
- Whoami: Confirm which PostLake account this API key belongs to and which platforms are supported.
- Get Platform Capabilities: Machine-readable capabilities per platform: character limits, media rules (required/video-only/max images/formats/sizes), whether publishing is async, and EVERY platformOpti
- Get Publish Info: Live creator-level publish constraints for one connected account (TikTok: available privacy options, whether comments/duet/stitch are allowed, max video duration for this creator). U
Какие данные видит
Нужен ли аккаунт
Не нужен: сервер работает без входа
Publish, schedule and read analytics across every major social network from one MCP server. Hosted, OAuth, 15 tools, one normalised response shape.
Как подключить
Как подключить PostLake к Claude
Адрес сервера, который нужно вставить в настройках Claude:
https://socials--postlake.run.tools
- Откройте Claude (сайт claude.ai или приложение для компьютера).
- Перейдите в Настройки → Коннекторы (в английском интерфейсе: Settings → Connectors).
- Нажмите Добавить пользовательский коннектор (Add custom connector).
- Вставьте адрес сервера, скопированный ниже, в поле URL удалённого MCP-сервера и нажмите Добавить.
- В чате нажмите + → Коннекторы и включите новый коннектор.
Пользовательские коннекторы доступны на тарифах Free, Pro, Max, Team и Enterprise. На Free можно добавить только один. В Team и Enterprise коннектор сначала добавляет владелец организации в Настройки организации → Коннекторы.
Авторизация
После нажатия Добавить откроется окно входа в сервис. Войдите под своим аккаунтом и подтвердите доступ. Пароль Claude не видит.
Как подключить PostLake к ChatGPT
Адрес сервера, который нужно вставить в настройках ChatGPT:
https://socials--postlake.run.tools
- Откройте ChatGPT в браузере (chatgpt.com). Нужен тариф Plus, Pro, Business, Enterprise или Edu.
- Один раз включите режим разработчика: Настройки → Приложения → Дополнительные настройки → Режим разработчика (Settings → Apps → Advanced settings → Developer mode).
- Откройте Настройки → Коннекторы и нажмите Создать (Create).
- Заполните форму: Название (любое), Описание (одна фраза, что делает сервис), URL MCP-сервера (скопируйте ниже).
- В поле Аутентификация выберите OAuth, если сервис требует вход, иначе Нет. Нажмите Создать.
- В новом чате откройте + → Приложения/Коннекторы и включите коннектор.
Название раздела у OpenAI менялось (Connectors → Apps/Plugins). Если пункт называется иначе, ищите «режим разработчика» в настройках. В рабочих пространствах Business/Enterprise администратор должен разрешить пользовательские коннекторы.
Авторизация
При первом использовании ChatGPT откроет окно входа в сервис. Войдите и подтвердите доступ.
Как подключить PostLake к Cursor
Адрес сервера, который нужно вставить в настройках Cursor:
https://socials--postlake.run.tools
Быстрый способ: нажмите кнопку Открыть в Cursor ниже, Cursor сам предложит добавить сервер.
Вручную:
- В Cursor откройте Settings → Cursor Settings → MCP и нажмите Add new global MCP server.
- Вставьте JSON, скопированный ниже, в открывшийся файл
~/.cursor/mcp.json(для одного проекта:.cursor/mcp.jsonв корне проекта). - Сохраните файл. Сервер появится в списке MCP; при необходимости пройдите авторизацию по кнопке рядом с ним.
Авторизация
Если сервис требует вход, рядом с сервером в списке MCP появится кнопка авторизации.
Список инструментов сервера (15)
Технические названия из tools/list. Нужны только разработчикам.
| whoami | Confirm which PostLake account this API key belongs to and which platforms are supported. |
| get_platform_capabilities | Machine-readable capabilities per platform: character limits, media rules (required/video-only/max images/formats/sizes), whether publishing is async, and EVERY platformOptions field with its valid values. Call this before create_post to construct a valid post. Omit `platform` for all platforms. |
| get_publish_info | Live creator-level publish constraints for one connected account (TikTok: available privacy options, whether comments/duet/stitch are allowed, max video duration for this creator). Use it to pick a valid privacyLevel before posting to TikTok. |
| validate_post | Dry-run a post WITHOUT publishing: runs the exact validation create_post would run (media rules, per-platform character limits, option values) and returns per-target errors and warnings. Free — call it before create_post. |
| upload_media | Upload media from a public URL so it can be attached to posts. PostLake fetches the URL server-side, validates type/size (images ≤20MB: jpeg/png/webp/gif; videos ≤200MB: mp4/mov/webm) and returns a med_… id to pass as `media` in create_post. |
| list_social_accounts | List the social accounts the caller has connected (handles + ids). Use the returned ids when creating a post. |
| list_account_targets | List the postable destinations inside a connected account (Pinterest boards, Facebook Page). Returns {id,name}; pass the id back in platformOptions (e.g. boardId). |
| create_post | Publish (or schedule) one post to one or more connected accounts. Say WHERE to post the simple way — `profile` (a profile name), optionally narrowed with `platforms` — or the precise way, explicit `accounts` ids. Provide at least one. Returns a normalised result with per-platform status and live URLs. Omit scheduledAt to publish now. |
| get_post | Fetch a previously created post by its id (post_…), including per-platform status. |
| list_posts | List the caller's posts (most recent first), each with per-platform status. Pass state='scheduled' to see the upcoming schedule. Cursor pagination: pass `limit` (default 50, max 100) and `cursor` (the previous response's `nextCursor`). |
| edit_post | Edit a scheduled post's text and/or fire time before it fires. Only 'scheduled' posts can be edited; the new time must be in the future. |
| cancel_post | Cancel a scheduled post before it fires. Only posts still in 'scheduled' state can be cancelled. |
| get_post_analytics | Get normalised performance metrics for one post — per-platform plus totals (impressions, reach, likes, comments, shares, saves, clicks, followers). Metrics are null for platforms whose analytics aren't wired yet. |
| get_analytics | Cross-platform analytics over a period — decisions, not just measurements. One normalised response with totals, a per-platform breakdown with engagement RATES (the honest cross-platform comparison), precomputed derived metrics (engagement rate, CTR — never derive them yourself), a daily timeseries, top posts, best posting times from this account's own history, structured recommendations[] ({action, reason, confidence}) for what to post next, and a one-line summary. Fields are null when there's no real data behind them (never fabricated). periodDays defaults to 30. |
| list_profiles | List the caller's profiles — named buckets (e.g. a brand or client) that own connected accounts. |