MCP Server
BulkPublish
MCP Server for scheduling and publishing social posts
One address connects any MCP-compatible agent to BulkPublish. Sign in once and the agent can post, schedule and report back, with no key stored on your machine.
MCP Server operations
MCP Server can use 20 operations, sorted below into 5 areas. The list is read from the code MCP Server talks to, so everything on it works today.
| Area | Operations |
|---|---|
| Analytics | get_analytics |
| Channels | list_channels |
| Media | create_media_upload,finalize_media_upload,list_media,upload_media |
| Posts | create_post,delete_post,get_post,get_post_metrics,get_queue_slot,list_posts,publish_post,retry_post,update_post |
| Interactive panels | compose_post,view_analytics,view_channels,view_media,view_posts |
Where the posts go
Whatever MCP Server schedules can go to any of these 15 networks, to one account or to all of them at once. Each one links to its own page with its limits and post types.
MCP Server setup
Most people should add the hosted address to their client and sign in. If you want the server running on your own machine instead, the package runs it locally with an API key and a larger set of tools.
- Create a BulkPublish account and connect the channels you want to publish to. The free plan connects three channels and does not ask for a card.
- Add the server to your MCP client using the configuration below. The address is https://mcp.bulkpublish.com/mcp and the transport is Streamable HTTP. There is no key to paste.
- Sign in when the client asks. That sign-in is OAuth 2.1 with PKCE, so the token belongs to that client alone and you can revoke it from your account whenever you like.
- To run it yourself instead, use the self-hosted block below. It starts @bulkpublish/mcp-server with an API key from Settings then Developer.
- Ask your assistant to post something. The 20 operations listed above are everything it can reach.
Configuration for MCP Server
{
"mcpServers": {
"bulkpublish": {
"url": "https://mcp.bulkpublish.com/mcp"
}
}
} {
"mcpServers": {
"bulkpublish": {
"command": "npx",
"args": [
"-y",
"@bulkpublish/mcp-server"
],
"env": {
"BULKPUBLISH_API_KEY": "bp_your_api_key"
}
}
}
} Claude
claude mcp add --transport http bulkpublish https://mcp.bulkpublish.com/mcp {
"mcpServers": {
"bulkpublish": {
"type": "http",
"url": "https://mcp.bulkpublish.com/mcp"
}
}
} {
"mcpServers": {
"bulkpublish": {
"command": "npx",
"args": [
"-y",
"@bulkpublish/mcp-server"
],
"env": {
"BULKPUBLISH_API_KEY": "bp_your_api_key"
}
}
}
} ChatGPT
https://mcp.bulkpublish.com/mcp Grok
https://mcp.bulkpublish.com/mcp Grok Bot
https://mcp.bulkpublish.com/mcp Muse
https://mcp.bulkpublish.com/mcp Manus
https://mcp.bulkpublish.com/mcp Cue
https://mcp.bulkpublish.com/mcp Cursor
{
"mcpServers": {
"bulkpublish": {
"url": "https://mcp.bulkpublish.com/mcp"
}
}
} {
"mcpServers": {
"bulkpublish": {
"command": "npx",
"args": [
"-y",
"@bulkpublish/mcp-server"
],
"env": {
"BULKPUBLISH_API_KEY": "bp_your_api_key"
}
}
}
} Antigravity
{
"mcpServers": {
"bulkpublish": {
"serverUrl": "https://mcp.bulkpublish.com/mcp"
}
}
} {
"mcpServers": {
"bulkpublish": {
"command": "npx",
"args": [
"-y",
"@bulkpublish/mcp-server"
],
"env": {
"BULKPUBLISH_API_KEY": "bp_your_api_key"
}
}
}
} Codex CLI
[mcp_servers.bulkpublish]
url = "https://mcp.bulkpublish.com/mcp" [mcp_servers.bulkpublish]
command = "npx"
args = ["-y", "@bulkpublish/mcp-server"]
env = { BULKPUBLISH_API_KEY = "bp_your_api_key" } Gemini CLI
gemini mcp add --transport http bulkpublish https://mcp.bulkpublish.com/mcp {
"mcpServers": {
"bulkpublish": {
"httpUrl": "https://mcp.bulkpublish.com/mcp"
}
}
} {
"mcpServers": {
"bulkpublish": {
"command": "npx",
"args": [
"-y",
"@bulkpublish/mcp-server"
],
"env": {
"BULKPUBLISH_API_KEY": "bp_your_api_key"
}
}
}
} Windsurf
{
"mcpServers": {
"bulkpublish": {
"serverUrl": "https://mcp.bulkpublish.com/mcp"
}
}
} {
"mcpServers": {
"bulkpublish": {
"command": "npx",
"args": [
"-y",
"@bulkpublish/mcp-server"
],
"env": {
"BULKPUBLISH_API_KEY": "bp_your_api_key"
}
}
}
} VS Code
{
"servers": {
"bulkpublish": {
"type": "http",
"url": "https://mcp.bulkpublish.com/mcp"
}
}
} {
"servers": {
"bulkpublish": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@bulkpublish/mcp-server"
],
"env": {
"BULKPUBLISH_API_KEY": "bp_your_api_key"
}
}
}
} Cline
{
"mcpServers": {
"bulkpublish": {
"type": "streamableHttp",
"url": "https://mcp.bulkpublish.com/mcp"
}
}
} {
"mcpServers": {
"bulkpublish": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@bulkpublish/mcp-server"
],
"env": {
"BULKPUBLISH_API_KEY": "bp_your_api_key"
}
}
}
} Warp
{
"bulkpublish": {
"url": "https://mcp.bulkpublish.com/mcp"
}
} {
"bulkpublish": {
"command": "npx",
"args": [
"-y",
"@bulkpublish/mcp-server"
],
"env": {
"BULKPUBLISH_API_KEY": "bp_your_api_key"
}
}
} OpenClaw
https://mcp.bulkpublish.com/mcp Hermes
https://mcp.bulkpublish.com/mcp Prompts to start with
Once MCP Server is connected, paste one of these to get going. Swap anything in square brackets for your own details.
Show me my BulkPublish channels, then list everything scheduled on them for the next seven days. Tell me which channels have nothing queued. Write a LinkedIn post about [your topic]. Keep to my usual voice: [describe it in a line]. Show me the draft first, and once I say yes, schedule it in BulkPublish to the next free slot in my queue. Read [paste a URL] and turn it into one post for each of my connected BulkPublish channels, adapted to what works on each network rather than the same text everywhere. Schedule them for next Tuesday morning. Show me all of them before you schedule anything. Here are five things I want to post about this week: [list them]. Create a BulkPublish post for each, spread across the free slots in my queue so nothing goes out back to back, and show me the finished week when you are done. Upload [file path, or attach the image] to my BulkPublish media library, then write three caption options for Instagram, each with a different angle. Once I pick one, schedule it with that image. List everything scheduled in BulkPublish for the next fourteen days, grouped by day. Flag anything duplicated, anything going out at an odd hour for its network, and any day with nothing at all. Find any BulkPublish posts that failed in the last seven days. For each one, tell me in plain language what went wrong, then retry only the ones that look like a temporary problem and tell me which ones need me to fix something first. Pull my BulkPublish analytics for the last thirty days. Tell me the three posts that did best, what they have in common, and one thing I should do more of next month. Use my numbers, not general advice. Ways teams use this
The starting point if your agent is not listed here yet, or if you want to compare how different clients spell the same configuration.
- Bulk upload a month of posts in one pass, then let the queue send them out at the times you set.
- Write once and cross-post everywhere. One post, adapted per network, goes to every connected channel together.
- Turn a blog or podcast RSS feed into automatic posts the moment a new item appears.
- Read the numbers back. Impressions, engagement and link clicks come back the same way the posts went out.
Details
The practical facts about MCP Server in one place, for setting it up now or checking something later.
| Detail | Value |
|---|---|
| Address | https://mcp.bulkpublish.com/mcp |
| Authentication | OAuth 2.1. Sign in once, nothing to copy, revoke whenever you like |
| Install | npm install @bulkpublish/mcp-server |
| Operations | 20 operations |
| Networks | 15 networks |
Open MCP Server · Read the API docs
Frequently asked questions
What people usually want to know before they connect MCP Server.
Which parts of BulkPublish does it reach?
20 operations, listed above. Posts, media, labels, channel sets, recurring schedules, RSS autopost and analytics are all covered, which is everything the app itself calls.
How does authentication work?
An API key, sent as a bearer token. Make one under Settings then Developer. A key belongs to one organisation, and you can revoke it on its own without disturbing anything else.
Which networks can I publish to?
All 15 of them, in one call. Send the same text everywhere or override it per network, and the post is checked against each network limit before it is queued rather than after it fails.
Can I upload images and video?
Yes. Upload in one request for small files, or take a direct upload URL and send large video straight to storage in parts. Both give you a media id you attach to a post.
Can I read analytics back?
Yes. Per-post metrics and account summaries come back for every network that publishes them, and link clicks are measured by BulkPublish itself, so those are there even where a network reports nothing.
Is it free to use?
Yes, on every plan including the free one. There is no separate API charge. What you schedule counts against the same monthly post allowance as anything written in the app.
Still stuck? The Help Center walks through it step by step.
Guides and tutorials
Walkthroughs from our blog that use MCP Server.
Other integrations
BulkPublish also works with 28 other tools. Pick one to see how it connects.
Start publishing
Create an account, connect your channels, and your first post can be scheduled a couple of minutes later. Free plan, no card, cancel whenever you like.