Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
azeemkafridi avatar

Bulkpublish MCP

  • 1 repo stars
  • Updated August 8, 2026
  • azeemkafridi/bulkpublish-api

BulkPublish is an MCP server that publishes, schedules, and manages social media across 11 platforms from your agent.

About

BulkPublish is an MCP server that wires your AI coding agent to BulkPublish’s API so you can publish, schedule, and manage social posts across eleven platforms from chat instead of copying drafts into each app. It targets and developers who are shipping something new and need consistent launch and ongoing distribution without hiring a social coordinator or building one-off OAuth flows per network. Install the stdio server from npm, set BULKPUBLISH_API_KEY, and register it in Claude Code, Cursor, Codex, or Windsurf. Use it during launch week for coordinated announcements and in grow for scheduled content; it is a communication integration, not a copywriter or analytics suite. Complexity is beginner-friendly once you have an API key—the value is consolidating multi-channel posting into agent-callable tools.

  • Publishes and schedules posts across 11 social platforms through MCP tools
  • stdio npm package @bulkpublish/mcp-server (v1.1.2) with BULKPUBLISH_API_KEY auth
  • Manage social publishing from Claude Code, Cursor, or Codex without custom integrations per network
  • API key format documented (bp_ prefix) for quick registry setup
  • Pairs with launch checklists and grow content cadence from the same agent session

Bulkpublish MCP by the numbers

  • Data as of Aug 10, 2026 (Skillselion catalog sync)
terminal
claude mcp add --env BULKPUBLISH_API_KEY=YOUR_BULKPUBLISH_API_KEY bulkpublish -- npx -y @bulkpublish/mcp-server

Add your badge

Show developers this MCP server is listed on Skillselion. Paste this into your README.

Listed on Skillselion
repo stars1
Package@bulkpublish/mcp-server
TransportSTDIO
AuthRequired
Last updatedAugust 8, 2026
Repositoryazeemkafridi/bulkpublish-api

What it does

Draft, schedule, and cross-post launch updates from your coding agent without juggling eleven separate social dashboards.

Who is it for?

Best when you're running a coordinated product launch or weekly content cadence and already use BulkPublish and want agent-driven posting.

Skip if: Skip if you need deep per-platform analytics, ad buying, or social listening without BulkPublish—this is publish/schedule tooling, not a full social suite.

What you get

After you register the server and API key, your agent can draft and push or schedule posts across supported platforms from one workflow.

  • Agent-callable publish and schedule actions across 11 platforms
  • Centralized social workflow from your coding environment
  • Reduced manual copy-paste between networks at launch

By the numbers

  • 11 social platforms supported per server description
  • Package @bulkpublish/mcp-server v1.1.2 on npm with stdio transport
  • One required secret env var: BULKPUBLISH_API_KEY
README.md

BulkPublish API

The free social media API built for automation, AI agents, and LLMs.

Programmatically publish to 11 platforms from a single API call. Built for developers, AI agents, LLMs, and agentic workflows that need reliable social media automation without browser sessions or manual interaction.

from bulkpublish import BulkPublish

bp = BulkPublish("bp_your_key_here")
bp.posts.create(
    content="Launching our new product today!",
    channels=[{"channelId": 1, "platform": "x"}, {"channelId": 2, "platform": "linkedin"}],
    status="scheduled",
    scheduled_at="2026-04-10T09:00:00Z",
)

Why BulkPublish?

Most social media tools are built for humans clicking buttons. BulkPublish is built for code — whether that code is written by a developer, an AI agent, an LLM with tool use, or an autonomous workflow.

  • Headless by design — No browser, no UI, no OAuth pop-ups at runtime. Connect accounts once in the dashboard, then automate everything via API.
  • AI-native — MCP server for Claude, tool definitions for GPT and LangChain, structured JSON responses that LLMs parse reliably.
  • Agentic-ready — Deterministic API with clear error codes. AI agents can create posts, check status, retry failures, and read analytics autonomously.
  • 11 platforms, one endpoint — Facebook, Instagram, X/Twitter, TikTok, YouTube, Threads, Bluesky, Pinterest, Google Business Profile, LinkedIn, Mastodon.

Use Cases

  • AI social media managers — Let Claude, GPT, or custom agents schedule and publish posts autonomously
  • Content pipelines — RSS-to-social, blog-to-social, newsletter-to-social automation
  • Bulk scheduling — Upload a CSV or feed a content calendar and schedule weeks of posts programmatically
  • Cross-platform syndication — Publish once to all platforms with per-platform content optimization
  • Analytics dashboards — Pull engagement data into your own tools, spreadsheets, or AI analysis
  • Zapier/n8n/Make alternatives — Direct API access without middleware, lower latency, more control
  • LLM-powered content creation — Generate content with AI, publish it with BulkPublish, track performance, iterate

Quick Start

1. Sign up

Create a free account at app.bulkpublish.com.

2. Get your API key

Go to Settings > Developer in the dashboard and create an API key. Keys start with bp_ and are shown only once — save it securely.

3. Connect platforms

Connect your social accounts in the dashboard under Channels. The API uses your connected channels to publish.

4. Install an SDK

Python

pip install bulkpublish

Node.js

npm install bulkpublish

Homebrew (macOS/Linux)

brew tap azeemkafridi/bulkpublish && brew install bulkpublish

Or call the REST API directly with curl, fetch, requests, or any HTTP client.

5. Make your first API call

curl -X POST https://app.bulkpublish.com/api/posts \
  -H "Authorization: Bearer bp_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "Hello from the BulkPublish API!",
    "channels": [{"channelId": 1, "platform": "linkedin"}],
    "status": "draft"
  }'

AI Agent Integration

MCP Server (Claude, Cursor, Windsurf, Claude Code)

BulkPublish ships an MCP server so AI assistants can manage your social media directly:

{
  "mcpServers": {
    "bulkpublish": {
      "command": "npx",
      "args": ["-y", "@bulkpublish/mcp-server"],
      "env": {
        "BULKPUBLISH_API_KEY": "bp_your_key_here"
      }
    }
  }
}

37 tools available: create_post, list_channels, upload_media, get_analytics, the interactive compose_post composer (MCP Apps), and more. Runs locally (stdio) or hosted over Streamable HTTP at https://mcp.bulkpublish.com/mcp. See mcp-server/README.md.

LLM Tool Use / Function Calling

Ready-made tool definitions for autonomous AI agents:

All examples are complete, runnable scripts with error handling.

Code Examples

Create a Post

PythonNode.js
from bulkpublish import BulkPublish

bp = BulkPublish("bp_your_key_here")

post = bp.posts.create(
    content="Check out our latest update!",
    channels=[
        {"channelId": 1, "platform": "facebook"},
        {"channelId": 2, "platform": "x"},
        {"channelId": 3, "platform": "linkedin"},
    ],
    status="draft",
)
import { BulkPublish } from 'bulkpublish';

const bp = new BulkPublish({ apiKey: 'bp_your_key_here' });

const post = await bp.posts.create({
  content: 'Check out our latest update!',
  channels: [
    { channelId: 1, platform: 'facebook' },
    { channelId: 2, platform: 'x' },
    { channelId: 3, platform: 'linkedin' },
  ],
  status: 'draft',
});

Schedule a Post

post = bp.posts.create(
    content="This will go out tomorrow morning.",
    channels=[{"channelId": 1, "platform": "instagram"}],
    status="scheduled",
    scheduled_at="2026-04-10T09:00:00Z",
    timezone="America/New_York",
)

Upload Media and Publish

media = bp.media.upload("./product-photo.jpg")

post = bp.posts.create(
    content="Our newest product is here.",
    channels=[{"channelId": 1, "platform": "instagram"}],
    media_files=[media["file"]["id"]],
    status="scheduled",
    scheduled_at="2026-04-10T12:00:00Z",
)

Automation Example: Bulk Schedule from CSV

import csv
from bulkpublish import BulkPublish

bp = BulkPublish("bp_your_key_here")
channels = bp.channels.list()["channels"]

with open("content-calendar.csv") as f:
    for row in csv.DictReader(f):
        bp.posts.create(
            content=row["content"],
            channels=[{"channelId": ch["id"], "platform": ch["platform"]} for ch in channels],
            status="scheduled",
            scheduled_at=row["scheduled_at"],
            timezone="America/New_York",
        )

More examples in examples/ — including Python automation scripts, Node.js examples, curl reference, and AI agent integrations.

Features

  • 11 platforms — Facebook, Instagram, X/Twitter, TikTok, YouTube, Threads, Bluesky, Pinterest, Google Business Profile, LinkedIn, Mastodon
  • Scheduling — Schedule posts for any future time with timezone support, or let queue slots pick optimal times
  • Media uploads — Images (JPEG, PNG, WebP, GIF) and videos (MP4, MOV, WebM) up to 100 MB
  • Recurring schedules — Repeat posts daily, weekly, biweekly, or monthly with cron expressions
  • Analytics — Track impressions, likes, comments, shares, and engagement across all platforms
  • Labels — Organize posts and media with color-coded labels
  • Bulk operations — Delete or retry multiple posts in a single request
  • Threads — Multi-part thread posts for X, Threads, Bluesky, and Mastodon
  • Auto first comment — Automatically add a comment after publishing on any platform
  • All post types — Reels, Stories, Carousels, Threads, Shorts, Video — set per-platform via postTypeOverrides
  • Per-platform content — Customize text and options per platform in a single post
  • Platform-specific options — Instagram collaborators, TikTok privacy, YouTube categories, Pinterest boards, and more

API Reference

Full interactive API documentation: app.bulkpublish.com/docs

Base URL

https://app.bulkpublish.com

Authentication

Authorization: Bearer bp_your_key_here

Core Endpoints

Method Endpoint Description
POST /api/posts Create a post (draft, scheduled, or immediate)
GET /api/posts List posts (paginated, filterable by status/date/channel/label)
GET /api/posts/:id Get a post with platform statuses and metrics
PUT /api/posts/:id Update a draft or scheduled post
DELETE /api/posts/:id Delete a post
POST /api/posts/:id/publish Publish a draft immediately
POST /api/posts/:id/retry Retry failed platforms
POST /api/posts/bulk Bulk delete or retry
GET /api/channels List connected social media channels
GET /api/channels/:id/health Check channel token health
GET /api/channels/:id/options Get platform options (Pinterest boards, YouTube playlists)
GET /api/channels/:id/mentions Search users for @mention (X, Bluesky)
POST /api/media Upload a media file (multipart)
GET /api/media List uploaded media
GET /api/analytics/summary Analytics summary for a date range
GET /api/analytics/engagement Engagement data grouped by day/week/month
POST /api/schedules Create a recurring schedule
GET /api/quotas/usage Check current plan limits and usage

See the OpenAPI spec for the complete endpoint list.

Supported Platforms

Platform Post Types Media
Facebook Post, Story Images, Videos
Instagram Feed, Reel, Story, Carousel Images (JPEG), Videos (MP4, MOV)
X / Twitter Tweet, Thread Images, Videos, GIFs
TikTok Video, Photo Slideshow Videos (MP4, MOV), Images
YouTube Video, Short Videos (MP4, MOV, WebM, AVI, WMV, FLV)
Threads Post, Thread, Quote Post Images, Videos
Bluesky Post, Thread Images
Pinterest Pin Images, Videos
Google Business Profile Post, Event, Offer Images
LinkedIn Post, Multi-image, PDF Carousel, Article Images (JPEG, PNG, GIF), Videos (MP4)
Mastodon Post, Thread Images, Videos

SDKs

Python

pip install bulkpublish

Supports sync and async. Rich docstrings on every method for IDE and LLM consumption.

Node.js / TypeScript

npm install bulkpublish

Full TypeScript types, zero dependencies, native fetch (Node 18+).

Homebrew (macOS/Linux)

brew tap azeemkafridi/bulkpublish && brew install bulkpublish

Installs the Node SDK via Homebrew.

REST API

No SDK needed — any HTTP client works:

curl https://app.bulkpublish.com/api/channels \
  -H "Authorization: Bearer bp_your_key_here"

Rate Limits

Limit Free Pro Business
Writes/min 60 60 60
Reads/min 300 300 300
Daily API requests 100 5,000 50,000
API keys 1 5 10

| Recurring schedules | — | 10 | Unlimited |

See the rate limits guide for headers, backoff strategies, and best practices.

Guides

  • Authentication — API keys, authorization, key management
  • Scheduling — Scheduled posts, queue slots, recurring schedules, timezones
  • Media Uploads — File uploads, supported formats, using media in posts
  • Platform Options — Per-platform configuration and quirks
  • Rate Limits — Burst limits, daily quotas, best practices

Integrations

Platform Package Install
Zapier BulkPublish on Zapier Search "BulkPublish" in Zapier
n8n n8n-nodes-bulkpublish Settings > Community Nodes > n8n-nodes-bulkpublish
Homebrew homebrew-bulkpublish brew tap azeemkafridi/bulkpublish && brew install bulkpublish

Links

Resource URL
Dashboard app.bulkpublish.com
API Docs app.bulkpublish.com/docs
Website bulkpublish.com
Email support@bulkpublish.com

License

MIT

Recommended MCP Servers

How it compares

MCP social-publishing integration, not a marketing strategy skill or SEO playbook.

FAQ

Who is BulkPublish MCP for?

and developers who use BulkPublish and want their Claude Code, Cursor, or Codex agent to publish and schedule across multiple social platforms.

When should I use BulkPublish MCP?

Use it at launch for distribution bursts and during grow when you want scheduled, multi-platform posts without leaving your agent.

How do I add BulkPublish to my agent?

Add the stdio MCP entry for @bulkpublish/mcp-server, set the required BULKPUBLISH_API_KEY environment variable (bp_ key), and restart your MCP-capable client.

Communicationdistributioncontent

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.