BulkPublish
io.github.azeemkafridi由 GitHub 帳號 azeemkafridi 發布v1.42.0更新於 Oct 27, 2026
Schedule, cross-post, and analyze social media posts across 15 platforms from AI agents.
發布方自己的服務:Publish.fun
概覽
BulkPublish 讓 AI 助理透過 BulkPublish 發佈 API,在 15 個平台上排程、跨平台發佈並分析社群媒體內容。
- 可以做什麼
- 建立、修改、排程、發佈、重試、核准、退回和刪除貼文,支援限時動態、輪播、串文和批次操作
- 列出已連結頻道、檢查頻道權杖健康狀態、讀取平台選項並管理頻道群組
- 上傳與管理媒體(含大檔案影片分段上傳)、標籤和主題標籤組
- 讀取互動指標與分析摘要,並開啟互動式儀表板和貼文編輯器
- 管理循環排程、RSS 自動發佈來源、範本、行事曆備註以及審閱連結和客戶連結連結
- 使用 inbox 設定時,可讀取對話與留言、回覆並管理留言
- 適用情境
- 適合讓助理在多個已連結帳號上草擬、排程或發佈社群內容、彙報貼文成效,或整理留言與私訊,而不必切換到 BulkPublish 網頁版。
- 執行需求
- 需要 BulkPublish 帳號與 API 金鑰,透過環境變數 BULKPUBLISH_API_KEY 提供(以 bp_ 開頭)。本機執行需 Node 20.19 以上版本,可用 npx 或全域 npm 安裝;也可使用託管 HTTP 端點。選用的 BULKPUBLISH_TOOL_PROFILE 可選擇 core、inbox 或 full 工具集。託管伺服器支援 OAuth。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 BulkPublish,將其新增到工作區。
- 連接 所需的 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
- 為需要使用其工具的對話啟用該服務。
Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。
交給代理程式安裝
把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。
閱讀 https://sourceweft.com/mcp/io.github.azeemkafridi%2Fbulkpublish/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。其他 MCP 客戶端
把它新增到你客戶端的 mcpServers 設定中。 客戶端會在首次連接時完成 OAuth 登入。
{
"mcpServers": {
"bulkpublish": {
"type": "http",
"url": "https://mcp.bulkpublish.com/mcp"
}
}
}README
BulkPublish MCP Server
A Model Context Protocol server that lets Claude and other AI assistants interact with the BulkPublish social media publishing API.
What it does
This MCP server exposes BulkPublish API operations as tools that AI assistants can call directly. You can ask Claude to schedule posts, check analytics, upload media, manage labels, and more — all through natural conversation.
Installation
Option 1: npx (recommended)
Option 2: Global install
Option 3: From source
Requires Node ≥ 20.19.
npm run buildbundles the composer UI with Vite (build:ui), then compiles the server withtsc.
Configuration
Set your API key as an environment variable:
Get your API key at app.bulkpublish.com/developer.
Claude Desktop
Add this to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
If you installed from source:
Claude Code
Add the MCP server to your Claude Code configuration:
Set the environment variable in your shell profile or .env file:
Remote / hosted server (HTTP)
The npx/stdio setup above runs the server locally. Web clients that cannot spawn a local process — claude.ai custom connectors and Smithery's gateway — connect to a hosted HTTP endpoint instead. Alongside the stdio bin, the server ships a Streamable HTTP transport (dist/http.js, run with npm run start:http):
It is multi-tenant — the process holds no API key. Each caller supplies their own bp_… key per request via the connection URL (?key=bp_…), a Smithery ?config= blob, or an Authorization: Bearer bp_… / X-BulkPublish-Key header. initialize, tools/list, and resources/* need no key (so scans and tool discovery work); a tools/call without one returns 401.
A Dockerfile is included:
Once deployed, add it to claude.ai → Settings → Connectors → Add custom connector as https://<host>/mcp?key=bp_…, or publish the https://<host>/mcp URL to Smithery.
Auto-connect for organizations
The hosted server at https://mcp.bulkpublish.com/mcp supports enterprise-managed authorization (the MCP io.modelcontextprotocol/enterprise-managed-authorization extension). An organization on Claude Team or Enterprise can connect every member to BulkPublish at once, with no sign-in screen and no pasted API key: the workspace owner trusts the organization's issuer (its Claude organization, or its identity provider) under API → MCP Auto-connect in BulkPublish, and members are matched to the workspace by their verified email address. In Claude, an organization Owner sets it up under Organization settings → Connectors → Set up auto-connect.
For client developers: the token endpoint accepts grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer with an identity assertion, from a public client identified by a Client ID Metadata Document (an https client_id). Access tokens from this grant last up to an hour and carry no refresh token. Dynamic client registration and the authorization-code flow are unchanged.
Tool profiles
The server ships three tool profiles, chosen with BULKPUBLISH_TOOL_PROFILE:
Set BULKPUBLISH_TOOL_PROFILE=full on a hosted deployment to expose everything, or core locally to keep a small tool list. The panels' buttons call back into create_post, publish_post, retry_post, update_post, delete_post, list_channels, list_media, get_post, create_media_upload and finalize_media_upload, so all of those are in core.
Every tool carries a title and explicit readOnlyHint, destructiveHint, idempotentHint and openWorldHint booleans; npm run check:annotations verifies that for every profile (add --table to print the per-tool justification table used in directory submissions).
Available Tools
Tools marked ★ are in the core profile (see Tool profiles); tools marked ✉ are in inbox (with every ★ tool); the rest need full.
Interactive UI (MCP Apps)
In hosts that support MCP Apps — Claude, ChatGPT, VS Code, Goose, Postman, and the Smithery playground — the compose_post tool opens an interactive composer rendered inline in the conversation: pick channels, write content, optionally schedule, then submit. On submit it calls create_post through the host bridge, so the sandboxed iframe never holds your API key. Hosts without MCP Apps support simply receive a plain-text summary, so nothing breaks.
Several tools render UIs — compose_post (composer), view_analytics, view_posts, view_channels, view_media, and view_quota. Each is a self-contained widget under src/ui/<name>/, bundled into a single HTML file with Vite (one single-input pass per widget — see scripts/build-ui.mjs) and inlined into the server via src/ui/widgets.generated.ts. They share the BulkPublish web app's design tokens (src/ui/tokens.css), so the look matches. A View receives its data from the triggering tool's structuredContent and can call other tools back through the host bridge — so the sandboxed iframe never holds your API key. Hosts without MCP Apps support simply receive a plain-text summary.
Prompts
The server also lists ready-made prompts: starting points your MCP client shows in its prompt or slash menu (for example /schedule_post or /weekly_report). Each one tells the assistant which tools to call, the limits that apply, and to ask before anything is published, sent or deleted.
A prompt is listed only when every tool it needs is available, so what you see depends on the tool profile: all means every profile, including the hosted core server; inbox, full needs the inbox or full profile; full needs the full profile (the npm server's default). plan_usage is also left out when BULKPUBLISH_HIDE_BILLING=1. Prompts read nothing from your account until the assistant follows them.
Example Conversation
Here is an example of using the BulkPublish tools in Claude:
You: Schedule a post for tomorrow at 9am EST saying "Excited to announce our new feature! Check it out at example.com" to all my connected channels.
Claude: Let me check your connected channels first.
[Calls list_channels]
You have 3 active channels:
- X/Twitter: @yourcompany (ID: 1)
- LinkedIn: Your Company Page (ID: 2)
- Instagram: @yourcompany (ID: 3)
Now I'll schedule the post for tomorrow at 9:00 AM Eastern.
[Calls create_post with content, channels, scheduledAt: "2025-01-16T14:00:00Z", timezone: "America/New_York", status: "scheduled"]
Done! Your post has been scheduled:
- Post ID: 42
- Status: scheduled
- Scheduled for: January 16, 2025 at 9:00 AM EST
- Channels: X/Twitter, LinkedIn, Instagram
You: How did my posts perform this month?
Claude: [Calls get_analytics with from: "2025-01-01", to: "2025-01-31"]
Here is your January analytics summary:
- Total posts: 28
- Published: 25
- Failed: 1
- Scheduled (pending): 2
- By platform: X/Twitter (25 posts, 24 published), LinkedIn (20 posts, 19 published), Instagram (15 posts, all published)
- Best day: January 12 with 5 posts
You: Upload this image and create a draft post with it: https://example.com/product-launch.png
Claude: [Calls upload_media with url]
Image uploaded successfully (ID: 15, 1200x630px, 245KB).
[Calls create_post with content and mediaFileIds]
Draft post created (ID: 43) with the product launch image attached. You can review and publish it when ready.
Environment Variables
License
MIT
來源:mcp-server/README.md,提交 5d608cd
工具
0版本歷史
2- v1.42.0最新Oct 8, 2026
- v1.1.2Sep 16, 2026
評分
已滿足適用檢查項的 85%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通必需25 分
- 已宣告認證方式必需10 分
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分
其他 Publish 整合
Publish.fun
fun.publish官方發布者
Publish.fun 讓助理提交研究論文接受 AI 審查、追蹤與修訂稿件、上傳圖片、引用已發表論文,並提出或回應問題報告。
new.estate — listing drafts
estate.new官方發布者
遠端 MCP 伺服器,讓助理透過對話在使用者的 new.estate 帳戶中建立個人房產刊登草稿。

Publish To All Skill Stores
由 GitHub 帳號 xixi048 發布
本機 MCP 伺服器,協助助理列出各類 agent skill 商店、對 SKILL.md 技能做就緒檢查,並產生各商店要求的打包格式。

HaoyouBox Publish
com.haoyoubox
把單一本地 HTML 或 Markdown 檔案發佈到 HaoyouBox,產生含密碼與到期時間的瀏覽器連結,並回傳連結、密碼與實際到期時間。

mcpship: check and publish MCP servers
由 GitHub 帳號 emanueltns 發布
依 Claude 連接器目錄規則檢查遠端 MCP 伺服器,並逐步引導其發布。