# Upload-Post — MCP server on mcp.ai > Connect your Upload-Post account and use 12 tools for social media marketing straight from your AI agent. Connect with your own API key. Upload-Post publishes, schedules, and manages content across social networks through one API. By: mcp.ai · official Page: https://mcp.ai/upload_post ## Connect (MCP protocol) Remote MCP endpoint (HTTP, streamable): https://api.mcp.ai/p_upload_post?ms=1787296080000 Add it as a custom/remote MCP connector, then authenticate when prompted. ## REST API (no MCP client required) Every tool is also a REST endpoint, authed with a workspace API key. Discover: GET https://api.mcp.ai/api/upload_post/_endpoints # public; lists every endpoint Call: POST https://api.mcp.ai/api/upload_post/ Authorization: Bearer sk_live_… # create one at https://mcp.ai/settings/api-keys Content-Type: application/json Body: { …args } → { "ok": true, "tool": "", "result": { … } } ## Developer docs How to use (MCP or REST), markdown: https://mcp.ai/upload_post/skill.md Postman collection (v2.1): https://mcp.ai/upload_post/postman.json ## Tools - upload_post_cancel_scheduled_post(job_id: string) — Permanently cancel a scheduled post before publication and delete its staged assets. - upload_post_create_profile(username: string) — Create an Upload-Post profile for a unique caller-owned username; this does not connect any social platform. - upload_post_enqueue_post(title?: string, video?: object|string, photos?: object[], platforms: string[], subreddit?: string, description?: string, content_type: string, first_comment?: string, idempotency_key?: string, facebook_page_id?: string, linkedin_page_id?: string, profile_username: string, max_posts_per_slot?: integer, pinterest_board_id?: string, google_business_location_id?: string) — Insert one video, photo carousel, or text post into a profile's external publication queue. - upload_post_get_upload_status(job_id?: string, request_id?: string) — Get the processing status and per-platform results for an asynchronous or scheduled upload. - upload_post_list_cached_post_analytics(limit?: integer, since?: string, until?: string, platform?: string, next_cursor?: string, profile_username: string) — Return one page of cached per-post analytics for a profile without consuming the live platform-analytics request limit. - upload_post_list_platform_destinations(platform: string, profile_username?: string) — List selectable Facebook Pages, LinkedIn organizations, Pinterest boards, or Google Business locations for an already connected profile. - upload_post_list_profiles() — List Upload-Post profiles and their connected social accounts. Use this before publishing to verify the profile exists and inspect platform connection or reauthentication prerequisites. - upload_post_list_scheduled_posts(limit?: integer, next_cursor?: string) — Return one page of pending scheduled posts and the job IDs needed to edit or cancel them. - upload_post_list_upload_history(limit?: integer, next_cursor?: string) — Return one page of past and in-progress Upload-Post uploads, including platform post IDs, URLs, request IDs, and failures. - upload_post_publish_post(title?: string, video?: object|string, photos?: object[], platforms: string[], subreddit?: string, description?: string, async_upload?: boolean, content_type: string, first_comment?: string, idempotency_key?: string, facebook_page_id?: string, linkedin_page_id?: string, profile_username: string, pinterest_board_id?: string, google_business_location_id?: string) — Immediately publish one video, photo carousel, or text post to external connected platforms. - upload_post_schedule_post(title?: string, video?: object|string, photos?: object[], timezone?: string, platforms: string[], subreddit?: string, description?: string, content_type: string, first_comment?: string, scheduled_date: string, idempotency_key?: string, facebook_page_id?: string, linkedin_page_id?: string, profile_username: string, pinterest_board_id?: string, google_business_location_id?: string) — Schedule one video, photo carousel, or text post for future external publication to connected platforms. - upload_post_update_scheduled_post(title?: string, job_id: string, caption?: string, timezone?: string, scheduled_date?: string) — Change the future publication time, title, or caption of an existing scheduled post. ## Example prompts - "What can I do in Upload-Post?" - "Show me a summary of my Upload-Post account" ## Links Docs: https://mcp.ai/docs/mcps/upload_post Website: https://mcp.ai/mcps/upload_post