Tools Reference

The Blotato MCP Server exposes 13 tools. Your AI tool calls these automatically based on your prompts.

Accounts

blotato_get_user

Get your account info and verify the connection is working.

  • Input: none

  • Output: user ID, email, subscription status

blotato_list_accounts

List all connected social media accounts with subaccounts (for Facebook Pages and LinkedIn Company Pages).

  • Input: platform (optional) - filter by platform name

  • Output: array of accounts with ID, platform, name, username, and subaccounts


Publishing

blotato_create_post

Create and publish (or schedule) a post to a social media platform.

  • Input:

    • accountId (required) - from blotato_list_accounts

    • platform (required) - twitter, instagram, facebook, tiktok, linkedin, pinterest, bluesky, threads, or youtube

    • text (required) - post content

    • mediaUrls (optional) - array of public media URLs

    • scheduledTime (optional) - ISO 8601 datetime

    • useNextFreeSlot (optional) - use next available schedule slot

    • pageId (optional) - for Facebook/LinkedIn pages

    • mediaType (optional) - for Instagram: image, video, reel, or carousel

    • privacyLevel (optional) - for TikTok

    • additionalPosts (optional) - array of additional posts for threads (Twitter, Bluesky, Threads). Each entry has text and mediaUrls. The first post uses the top-level text and mediaUrls fields. Blotato handles reply chaining.

    • boardId (optional) - for Pinterest

    • title (optional) - for Pinterest or YouTube

    • privacyStatus (optional) - for YouTube: public, private, or unlisted

  • Output: postSubmissionId (poll with blotato_get_post_status)

blotato_get_post_status

Check the status of a submitted post.

  • Input: postSubmissionId (required)

  • Output: status, publicUrl (when published), errorMessage (when failed)

  • Status values: in-progress -> published | scheduled | failed


Content Extraction

blotato_extract_content

Extract content from a URL or text. Polls internally and returns the result directly.

  • Input:

    • sourceType (required) - youtube, article, twitter, tiktok, text, audio, pdf, or perplexity-query

    • url (optional) - required for URL-based source types

    • text (optional) - required for text and perplexity-query source types

    • customInstructions (optional)

  • Output: title and content (extracted text)


Videos and Images

blotato_list_templates

List all available visual templates (videos, carousels, quote cards, infographics).

  • Input: none

  • Output: array of templates with ID, name, and description

blotato_create_visual

Generate an image, carousel, or video from a template.

  • Input:

    • templateId (required) - from blotato_list_templates

    • prompt (optional) - describe what you want in natural language

    • render (optional, default: true)

  • Output: visual ID and status (poll with blotato_get_visual_status)

blotato_get_visual_status

Check the status of a visual generation request.

  • Input: id (required)

  • Output: status, mediaUrl (for videos), imageUrls (for images/carousels)

  • Status values: queueing -> generating-script -> script-ready -> generating-media -> media-ready -> exporting -> done | failed


Content Calendar

blotato_list_schedules

List all future scheduled posts, ordered by scheduled time (ascending). Supports cursor-based pagination.

Each schedule includes the draft content (same structure as the post object in blotato_create_post), the scheduled time in UTC, and the target account information.

  • Input:

    • limit (optional) - number of schedules per page. Min: 1, Max: 50. Default: 20

    • cursor (optional) - pagination cursor from a previous response

  • Output: array of schedules with ID, scheduledAt, account info, and draft content. Includes count (total) and cursor (for next page, if present).

blotato_get_schedule

Get a single scheduled post by ID. Returns the full schedule details including draft content, scheduled time, and account info.

  • Input: id (required) - schedule ID from blotato_list_schedules

  • Output: schedule object with ID, scheduledAt, account, and draft

blotato_update_schedule

Update a scheduled post's content, scheduled time, or both. At least one field is required.

The scheduled time must be a valid ISO 8601 date string in the future. When the time changes, the post is re-queued for publishing at the new time.

To update the post content, provide the same fields as blotato_create_post (accountId, platform, text, mediaUrls, and platform-specific fields). Send the full post object -- partial updates are not supported.

  • Input:

    • id (required) - schedule ID from blotato_list_schedules

    • scheduledTime (optional) - new ISO 8601 timestamp, must be in the future

    • post (optional) - updated post object with accountId, platform, text, mediaUrls, and platform-specific fields

  • Output: confirmation message

blotato_delete_schedule

Delete a scheduled post and cancel its publishing job. This action cannot be undone.

  • Input: id (required) - schedule ID from blotato_list_schedules

  • Output: confirmation message


Media

blotato_upload_media

Upload media from a public URL to Blotato's servers. Returns a Blotato-hosted URL for use in blotato_create_post.

  • Input: url (required) - public URL of the media file

  • Output: hosted URL and media ID

Last updated