bundlesocial-mcp is a Model Context Protocol server that exposes the bundle.social operations as MCP tools — so Claude Desktop, Claude Code, Cursor and any other MCP client can post, schedule, import, analyze content and manage connected accounts across 14+ platforms.
It ships as a local stdio server (npx bundlesocial-mcp). A hosted remote server at mcp.bundle.social is on the roadmap.
npm: bundlesocial-mcp
npx bundlesocial-mcpMCP Inspector
npx @modelcontextprotocol/inspector npx bundlesocial-mcpTools
The server covers the whole bundle.social API (the platform-specific edit/delete-after-publish helpers are reached viatrigger_integration_tool).
Diagnostics & discovery
| Tool | Description |
|---|---|
check_setup | Diagnostic JSON: API key, connectivity, organization API access, team selection, integrations, quotas. |
list_integrations | List connected social accounts (ids, platform types, channels). |
list_integration_tools / trigger_integration_tool | List & call read-only platform helpers — subreddit flairs/requirements, YouTube categories/playlists/regions, LinkedIn mentions, Instagram locations, Google Business categories, TikTok trending music. |
| Tool | Description |
|---|---|
create_post / schedule_post | Publish now (or as a draft) / schedule for a future date. |
update_post / retry_post | Update a post (only changed fields) / re-attempt one that ended in ERROR. |
list_posts / get_post / delete_post | List with filters / fetch / delete posts. |
create_post_import … | Import post history from a connected account: create_post_import, list_post_imports, get_post_import, list_imported_posts, delete_imported_posts, retry_post_import. |
create_post_csv_import … | Bulk-schedule from a CSV (URL or local file): create_post_csv_import, list_post_csv_imports, get_post_csv_import, get_post_csv_import_status, get_post_csv_import_rows. |
| Tool | Description |
|---|---|
create_comment / list_comments / get_comment / update_comment / delete_comment | Comment on a post (pass content multiple times for a chain) / list / fetch / update / delete comments. |
create_comment_import … | Pull existing comments for a post: create_comment_import, list_comment_imports, get_comment_import, list_imported_comments. |
| Tool | Description |
|---|---|
upload_media | Upload an image/video/document from a URL (or local path in stdio mode); auto-chunks large local files. |
init_large_upload / finalize_large_upload | Low-level chunked-upload primitives (for manual control). |
list_media / get_media / delete_media / delete_media_many | List / fetch / delete uploads. |
| Tool | Description |
|---|---|
connect_integration / disconnect_integration | Start an OAuth connect flow (returns a URL) / disconnect an account. |
create_integration_portal_link | Hosted portal link for end users to connect accounts. |
set_integration_channel / unset_integration_channel / refresh_integration_channels | Pick / clear / refresh the channel (page, board, server channel) for an account. |
check_integration_connection / refresh_integration_profile / get_integration_by_type / copy_integration / list_integrations_to_delete | Connection check, profile refresh, lookup by platform, copy between teams, list accounts pending deletion. |
| Tool | Description |
|---|---|
get_post_analytics | Per-post engagement metrics (raw: true for the unprocessed payload). |
get_account_analytics | Latest analytics for a connected account by platform (raw: true for the unprocessed payload). |
get_bulk_post_analytics | Engagement metrics for several posts at once. |
refresh_analytics | Force a fresh pull — by postId for a post, otherwise platform for an account. |
get_analytics_summary | Org-level usage quotas + latest per-integration analytics snapshot. |
| Tool | Description |
|---|---|
list_teams / get_team / create_team / update_team / delete_team | Manage teams. |
get_organization / get_usage | Your organization, and posts/comments/uploads/imports usage & quotas. |
{ "error": { "code", "message", "details"? } } with isError: true. The per-platform fields for posts are documented in Platform parameters.
Configuration
ReadsBUNDLESOCIAL_API_KEY (required), BUNDLESOCIAL_TEAM_ID (optional — needed only if your org has more than one team) and BUNDLESOCIAL_API_URL (optional). Get an API key in the dashboard.
- Claude Desktop
- Claude Code
- Cursor
claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json):Example prompts
- “List my connected social accounts via bundle.social.”
- “Post ‘We just shipped dark mode 🌙’ to X and Bluesky.”
- “Schedule a LinkedIn post for next Monday 9am UTC announcing the launch.”
- “Post to r/test on Reddit — first check the subreddit’s requirements and flairs, then post with the right flair.”
- “Reply to post
post_abc123with a 3-comment thread on LinkedIn.” - “How did post
post_abc123perform?”