# BulkPublish — how to use (mcp.ai)

Connect your BulkPublish account and use 10 tools for social media marketing straight from your AI agent. Connect with your own API key. BulkPublish manages, schedules, publishes, and analyzes social media content across multiple platforms.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_bulkpublish?ms=1787296080000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `bulkpublish_get_analytics_summary`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/bulkpublish`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/bulkpublish/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/bulkpublish/get/analytics/summary` — Summarize post counts by status, platform, and day for a required date range of up to 30 days.
  - body: { to_date: string, timezone?: string, from_date: string, include_heatmap?: boolean }
- `POST https://api.mcp.ai/api/bulkpublish/get/api/request/usage` — Return today's organization-wide API request count, daily limit, plan, and per-key breakdown. The call itself consumes one daily request.
- `POST https://api.mcp.ai/api/bulkpublish/get/plan/usage` — Return the connected organization's plan, feature limits, and current resource usage.
  - body: { timezone?: string }
- `POST https://api.mcp.ai/api/bulkpublish/get/platform/availability` — Return current connection and publishing availability for every supported platform and platform variant.
- `POST https://api.mcp.ai/api/bulkpublish/list/activity` — Return one page of organization audit activity, optionally filtered by action or resource type.
  - body: { limit?: integer, action?: string, resource?: string, next_cursor?: string }
- `POST https://api.mcp.ai/api/bulkpublish/list/channels` — Return active connected social channels by default, or inactive channels when active is false, including platform and token state.
  - body: { active?: boolean }
- `POST https://api.mcp.ai/api/bulkpublish/list/labels` — Return post or media labels available in the connected organization.
  - body: { label_type?: string }
- `POST https://api.mcp.ai/api/bulkpublish/list/media` — Search uploaded media by filename or labels and return one page of files.
  - body: { limit?: integer, search?: string, label_ids?: integer[], next_cursor?: string }
- `POST https://api.mcp.ai/api/bulkpublish/list/notifications` — Return one page of organization notifications, optionally restricted to unread items.
  - body: { limit?: integer, next_cursor?: string, unread_only?: boolean }
- `POST https://api.mcp.ai/api/bulkpublish/list/posts` — Search and filter the connected organization's posts, returning one page and a cursor when more results are available.
  - body: { limit?: integer, search?: string, status?: string, label_ids?: integer[], channel_id?: integer, created_to?: string, label_mode?: string, next_cursor?: string, created_from?: string, scheduled_to?: string, recurring_only?: boolean, scheduled_from?: string, approval_status?: string }

## Example prompts
- "What can I do in BulkPublish?"
- "Show me a summary of my BulkPublish account"

## More
- Page: https://mcp.ai/bulkpublish
- Agent spec (llms.txt): https://mcp.ai/bulkpublish/llms.txt
- Postman collection: https://mcp.ai/bulkpublish/postman.json
