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 服务器,并逐步引导其发布。