post2all

io.github.zexahq由 GitHub 帳號 zexahq 發布v1.0.0更新於 Nov 5, 2026

Schedule, publish, and analyze social posts on 15 platforms including X, LinkedIn, and Instagram.

已驗證Streamable HTTP可網頁執行溝通與協作資料與分析商業與電商

概覽

AI 產生的概覽

託管式 MCP 伺服器,讓助理在同一個工作區內為 15 個平台草擬、排程、發布、修改、取消並分析社群貼文。

可以做什麼
  • 列出已連結的社群帳號及其發布能力,以及 Discord 頻道、TikTok 隱私選項等動態設定
  • 讀取帳號分析資料、時間序列、前期比較,以及單篇貼文各平台目標的表現,包含在 post2all 之外發布的貼文
  • 檢視草稿、已排程、發布中、已發布、部分失敗與失敗的貼文
  • 建立含文字與媒體的貼文,存成草稿、排程或立即發布,並依各目標帳號分別設定
  • 建立前驗證目標,更新或取消貼文,並在平台支援時刪除已確認的線上貼文
適用情境
適合讓助理把更新日誌、公告或行銷文案轉成多平台社群貼文、依排程發布,並回報成效,不必逐一登入各平台後台。
執行需求
透過 streamable HTTP 存取的遠端託管端點;post2all 帳號與工作區;至少一個已連結的社群帳號;用於完成 OAuth 2.1 授權流程的瀏覽器;支援遠端 HTTP MCP 伺服器的用戶端。可用功能取決於方案與工作區權限。
安裝前請注意
立即發布、為時效性內容排程、刪除線上社群貼文以及刪除 post2all 紀錄都不易復原,建議先使用草稿並在執行前確認。刪除 post2all 紀錄不會移除已發布到社群平台的內容。存取權限限於 OAuth 授權的工作區,可在帳號設定中撤銷。額度型工作區的 X 貼文會從預付額度逐篇扣款。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 post2all,將其新增到工作區。
  2. 連接 所需的 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
  3. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.zexahq%2Fpost2all/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。 客戶端會在首次連接時完成 OAuth 登入。

{
  "mcpServers": {
    "post2all": {
      "type": "http",
      "url": "https://mcp.post2all.com/mcp"
    }
  }
}

README

post2all Agent Plugin

post2all Agent Plugin teaches AI coding assistants to create, schedule, inspect, update, cancel, manage, and analyze posts through post2all. It includes shared agent guidance plus the hosted Model Context Protocol connection for supported clients.

text
https://mcp.post2all.com/mcp

Capabilities

  • List connected social accounts and their publishing capabilities.
  • Read normalized account analytics, time series, and previous-period comparisons for supported platforms.
  • Compare provider-wide post performance, including posts published outside post2all when the provider supports account post discovery.
  • Read analytics independently for each target of a multi-platform post2all post.
  • Inspect draft, scheduled, publishing, published, partially failed, and failed posts.
  • Create posts with optional text and media (images, videos, or mixed when the platform allows).
  • Accept PNG input across platforms; Instagram and TikTok automatically convert PNG images to JPEG when publishing, while other platforms retain PNG transparency.
  • Save drafts, schedule future delivery, or publish immediately.
  • Apply settings independently to every destination account.
  • Discover dynamic publishing options such as Discord channels and TikTok privacy choices.
  • Update draft, scheduled, failed, and partially failed posts while retained media is available; cancel scheduled posts.
  • Inspect deletion.available and deletion.reason on published targets and remove one confirmed live social post on platforms where deletion is publicly supported.
  • Remove posts from post2all when explicitly requested. This local deletion does not remove content already published to social platforms.

Actual capabilities depend on the connected accounts, platform restrictions, workspace permissions, and post2all plan.

Embedded SaaS account onboarding

post2all also exposes a headless REST/SDK account-connection flow for products that use post2all as their social backend. This is separate from MCP: MCP does not expose account-connect or reconnect tools.

Business, Agency, and manually onboarded credit workspaces can additionally use optional Profiles to organize clients, brands, or SaaS customers inside the same workspace. Business supports 2 profiles, Agency supports up to 10, and credit workspaces support up to 10,000. Profiles can be managed/filtered from MCP or the CLI; REST/SDK integrations use x-profile-id (or client.forProfile(profileId)) as an organization context. Profiles are not separate security tenants, and account moves do not break existing post targets. Provider OAuth account connection itself remains a REST/SDK/CLI flow.

For embedded production publishing, the REST API and TypeScript SDK expose idempotent post creation, request/rate-limit metadata, credit billing and publishing-capacity reads, exact zero-markup X API pricing, and signed webhook verification. Credit X posts debit $0.015 without a URL or $0.20 with a URL from prepaid credits; standard subscriptions keep their included X allowances. Credit workspace owners/admins configure webhook endpoints and copy their one-time secrets from the post2all dashboard; webhook management is intentionally not exposed through REST, SDK, CLI, or MCP. See the SDK quickstart and webhook guide.

A SaaS backend starts a connection with its workspace API key, sends the end user's browser to the returned social-provider authorization URL, and supplies its own HTTPS callback URL. The user authenticates with the social network, not post2all. post2all completes the provider callback and redirects the browser back to the SaaS with an opaque connection ID/status. The SaaS backend then verifies the result through the authenticated connection-status endpoint.

The end user does not need a post2all account, login, or browser session, and the SaaS API key must never be placed in frontend code. See the account connection guide and REST API reference.

Agents should list accounts, then call publishing_schema once with all selected account IDs before composing. It returns only public publishing capabilities, fixed choices, and account overrides such as X subscription limits. Call publishing_options only when the schema requests account discovery (for example Discord channels or TikTok creator restrictions). Do not send a fixed post type. Composition is inferred from attached media; mixed image/video is allowed only when a platform sets media.allowMixedMedia.

When a selected capability includes media.convertPngToJpeg: true, PNG conversion is handled automatically at publish time and needs no extra MCP or API field. If source media or a crop derivative is missing or deleted, only the affected target fails with MEDIA_UNAVAILABLE and the message Media is unavailable.; other targets continue independently.

On MCP, call the read-only post_validate tool after constructing targets and before creating the post.

Supported clients

This repository includes metadata and shared guidance for:

  • Claude Code
  • OpenAI Codex
  • Cursor
  • Gemini CLI
  • MCP-compatible clients that support a remote HTTP MCP server
  • Coding agents with shell access to the @post2all/cli package

The shared MCP configuration lives in .mcp.json (Claude and Codex) and mcp.json (Cursor). server.json describes the server for the official MCP Registry. Agent guidance is maintained in skills/post2all/SKILL.md and mirrored into the packaged plugin directory.

Before you start

You need:

  • A post2all account and workspace.
  • At least one connected social account for publishing.
  • A supported MCP client or the post2all CLI.
  • A browser for the MCP OAuth consent flow.

The hosted MCP server uses OAuth 2.1. The CLI uses a post2all API key configured locally; agents should never ask users to paste API keys into chat.

Claude setup

Install post2all from the Claude plugin directory in one click. Complete the browser OAuth flow when Claude first connects to post2all.

Claude Code setup

bash
claude plugin marketplace add zexahq/post2all-agentclaude plugin install post2all@post2all-plugins

Complete the browser OAuth flow when Claude first connects to post2all.

Codex setup

bash
codex plugin marketplace add https://github.com/zexahq/post2all-agentcodex plugin add post2all@post2all-agent

Manual MCP configuration:

toml
[mcp_servers.post2all]url = "https://mcp.post2all.com/mcp"

Complete the browser sign-in flow and authorize the post2all workspace you want the agent to use.

Cursor setup

Install post2all from the Cursor Marketplace, or add the server manually in ~/.cursor/mcp.json:

json
{  "mcpServers": {    "post2all": { "url": "https://mcp.post2all.com/mcp" }  }}

Complete the browser OAuth flow when Cursor first connects to post2all.

Gemini CLI setup

bash
gemini extensions install https://github.com/zexahq/post2all-agent

Then run /mcp auth post2all inside Gemini CLI to complete the browser OAuth flow.

Target and delivery model

Every destination is represented by a target containing its platform discriminator, social account ID, and settings:

json
{  "targets": [    {      "platform": "discord",      "accountId": "acc_discord_123",      "settings": {        "channelId": "1234567890",        "autoCrosspost": true      }    },    {      "platform": "threads",      "accountId": "acc_threads_123",      "settings": {        "caption": "A shorter Threads version",        "topicTag": "buildinpublic"      }    }  ],  "delivery": {    "mode": "scheduled",    "scheduledAt": "2026-07-20T09:00:00+05:30"  }}

The platform value selects the exact settings schema. Invalid cross-platform fields are rejected. Multiple accounts on the same platform are separate targets.

Delivery modes are:

  • draft: save without publishing; targets and incomplete settings may be omitted.
  • now: publish immediately.
  • scheduled: publish at a timezone-aware ISO 8601 timestamp.

CLI examples

bash
post2all config whoami --jsonpost2all constraints <accountId...> --jsonpost2all accounts --jsonpost2all account publishing-options acc_discord_123 --jsonpost2all account analytics acc_instagram_123 --jsonpost2all account analytics-posts acc_instagram_123 --sort-by views --jsonpost2all post analytics post_abc --json

Create a draft:

bash
post2all post create \  --content "Work in progress" \  --delivery draft \  --json

Publish immediately:

bash
post2all post create \  --content "New release shipping today 🚀" \  --targets '[{"platform":"linkedin","accountId":"acc_linkedin_123","settings":{}}]' \  --delivery now \  --json

Schedule:

bash
post2all post create \  --content "Scheduled update" \  --targets '[{"platform":"linkedin","accountId":"acc_linkedin_123","settings":{}}]' \  --delivery scheduled \  --scheduled-at "2026-07-20T09:00:00+05:30" \  --json

Example prompts

  • “List my connected post2all accounts.”
  • “Show the available Discord channels for this account.”
  • “Create a draft LinkedIn post from this changelog.”
  • “Schedule this announcement for tomorrow at 9 AM IST.”
  • “Publish to LinkedIn and Threads, but use shorter copy on Threads.”
  • “Show my scheduled posts for this week.”
  • “Show my Instagram account analytics for the last 30 days.”
  • “Which of my recent posts got the most views?”
  • “Show the analytics for each platform target on this post.”
  • “Cancel the scheduled launch post.”

Authentication and permissions

  • MCP access is scoped to the workspace authorized through OAuth.
  • The agent can only perform actions allowed by the user's post2all account and plan.
  • Long-lived MCP sessions depend on refresh-token-capable scopes requested by the client.
  • Access can be revoked from post2all account settings.

Safety

Review immediate publishing, time-sensitive schedules, published deletion, and destructive post2all record deletion before confirming them. Prefer drafts for review workflows. Before deleting a live social post, use post_get, require deletion.available to be true, show the exact account/platform, and obtain explicit confirmation. When unavailable, use deletion.reason to explain why. That runtime state already includes public rollout and current account/platform constraints; private rollout platforms stay blocked on public MCP/CLI surfaces. Deleting the post2all record is a separate action and does not remove live social content.

Troubleshooting

  • Confirm the plugin or MCP server is enabled when tools are missing.
  • Repeat OAuth sign-in when authorization fails.
  • List accounts again when an account ID or platform is rejected.
  • Load account publishing options when a required dynamic setting is missing.
  • Check media type, size, target platform support, and required settings when publishing fails.
  • For MEDIA_UNAVAILABLE, restore or re-upload the missing source media or crop derivative before retrying the affected target.

Links

來源:README.md,提交 f615fd5

工具

0
該伺服器需要登入,因此 SourceWeft 無法在沒有帳號的情況下讀取其工具,也未收錄。已連接帳號所能看到的內容可能因帳號及其權限而異。

版本歷史

1
  1. v1.0.0最新Nov 5, 2026

評分

已滿足適用檢查項的 85%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分