FAQs
Can I post from Claude Code, Cursor, or Antigravity using prompts? Will Blotato create images and videos for me?
Yes. Setup is at Settings > API.
Step-by-step tutorial for Claude Cowork & Desktop: https://youtu.be/1dSNfnFL40c
Step-by-step tutorial for Claude Code: https://youtu.be/3HVH2Iuplqo
Once connected, you can ask Claude/Cursor/Antigravity to write your post, generate images or videos, and publish to your social accounts in a single prompt. Blotato handles content extraction, AI visuals, scheduling, and publishing.
Do I need to install anything?
No. The Blotato MCP Server runs remotely. Connect via OAuth or add the server URL and API key to your AI tool's configuration and you're ready to go.
Which AI tools are supported?
The MCP Server works with any MCP-compatible AI host, including:
Claude.ai Web
Claude Desktop
Claude Cowork
Claude Code
Cursor
Antigravity
Replit Agent
Any tool supporting the MCP protocol with remote HTTP servers works with Blotato. Claude.ai, Claude Desktop, and Claude Cowork connect via OAuth. All other tools use your API key.
Generate your API key: Settings > API
Step-by-step tutorials:
Claude Cowork and Desktop: https://youtu.be/1dSNfnFL40c
Claude Code: https://youtu.be/3HVH2Iuplqo
Do I need a paid Blotato subscription?
Yes. API access (including MCP) requires a paid subscription. This keeps the platform in good standing with social media platforms by reducing spam.
Blotato shows as Connected in Claude Settings but Claude.ai returns an OAuth error
This means your account is not on a paid plan. Blotato API and MCP require a paid subscription.
To fix it:
Go to Settings > API
Click Generate API Key
Once your subscription is active, the OAuth connection works without any other changes.
Is this different from the REST API?
The MCP Server wraps the same Blotato API into 14 AI-friendly tools. Your AI host calls these tools automatically based on your prompts. You get the same functionality as the REST API without writing code.
How does authentication work?
Two methods depending on your AI tool:
OAuth (Claude.ai, Claude Desktop, Claude Cowork): Add Blotato as a custom connector via Customize > Connectors > + > Add custom connector. You approve access through your Blotato account in the browser. No API key needed.
API key (Claude Code, Cursor, Antigravity, Replit Agent, etc.): Use the
blotato-api-keyheader. Get your key from Settings > API.
Do I need to know which tools to call?
No. Your AI tool reads the tool descriptions and picks the right ones based on your prompt. Say what you want in natural language and the AI figures out the right sequence of calls.
What happens if a tool call fails?
The AI tool receives an error message and decides how to proceed. Common errors include:
Invalid API key - check your config
Rate limit exceeded - wait and retry
Account not found - connect your account in Settings
Can I see my published or failed posts via MCP?
Yes. Use blotato_list_posts to retrieve published, failed, and scheduled posts. For example:
"What did I publish on Instagram last week?" β
blotato_list_postswithstatus=publishedandplatform=instagram"Which posts failed this month?" β
blotato_list_postswithstatus=failed"Show me everything I posted recently" β
blotato_list_postswith no filters
Each result includes the post text, platform, media URLs, post time, and β for published posts β the live URL. Failed posts include an error message explaining why they failed.
Note: blotato_list_schedules only returns future scheduled posts. To see published or failed post history, use blotato_list_posts.
How do I create and publish visuals (videos, carousels, images)?
Tell your AI tool what you want to create. For example: "Make a carousel about productivity tips and post it to Instagram." The AI tool:
Picks a template from your available templates
Generates the visual using your prompt
Waits for the visual to finish rendering
Posts it to the platform you specified
Where do I get my account IDs?
You do not need account IDs when using the MCP Server. The AI tool calls blotato_list_accounts to find the right account based on your prompt. For example, if you say "post to my Twitter," the tool looks up your Twitter account automatically.
How do I post to a specific Facebook or LinkedIn page?
Tell your AI tool which page you want to post to by name. For example:
"Post this to my Business Page on Facebook"
"Schedule this to my company's LinkedIn page"
The AI tool calls blotato_list_accounts behind the scenes, finds all your connected pages, and picks the one matching your description. You do not need to look up or pass any page IDs.
If you have multiple pages with similar names, be specific: "Post to my Facebook page called Sunrise Bakery."
How do I upload a local file (image or video) from my computer?
Use the blotato_create_presigned_upload_url tool. Tell your AI tool something like "upload this image from my desktop and post it to Instagram" and it handles the rest.
Copy-paste prompt for Claude: use blotato presigned media url endpoint to upload my local files
Behind the scenes:
The AI calls
blotato_create_presigned_upload_urlwith the filename (e.g., "photo.jpg")Blotato returns a presigned upload URL and a public URL
The AI uploads the file to the presigned URL
The AI uses the public URL in
blotato_create_post
No Google Drive, S3, or other intermediate storage required. Upload size depends on your plan (see Plan Limits).
Presigned upload PUT fails / "Sandbox error" / network egress blocked in Claude Cowork or Claude Desktop
If you set up Blotato MCP in Claude Cowork or Claude Desktop and scheduling, publishing, or uploading a file fails with a sandbox, network, proxy, or egress error, you need to allow Blotato's storage domain in Cowork's network settings.
Common symptoms (literal error strings and plain-English descriptions):
"Sandbox error" when scheduling or publishing a video from Claude Cowork
"Access to this website is blocked by your network egress settings. You can adjust this in Settings."
"The upload is blocked by a network proxy in this sandbox environment -- external PUT requests to storage endpoints aren't allowed from here."
"Stream closed" error during the presigned upload step
The sandbox proxy is blocking all outbound HTTPS calls
The sandbox cannot execute the PUT step / binary file uploads via PUT are blocked
The host SOCKS proxy, SOCKS5 tunnel, or alternate HTTP port is refused or blocked
Raw external HTTPS connections from the sandbox shell (curl, Python) are blocked
blotato_create_presigned_upload_urlreturns a URL but the PUT upload to that URL failsVideo upload silently fails before the post is created
Scheduling or publishing fails right after MCP setup with a network/sandbox message
Fix:
Go to Claude Cowork/Desktop > Settings > Capabilities > Allow network egress
Under Additional allowed domains, add
database.blotato.ioClick the "Add" button
Restart Claude Cowork/Desktop
Using Claude Code (not Claude Cowork/Desktop)?
Claude Code's sandbox egress is not user-configurable, so the steps above do not apply. Instead, skip the local file upload entirely:
Host your image or video at a public URL first (any public web URL works, e.g., Dropbox direct link, Google Drive with public share, S3 public bucket, your own web server)
Pass the hosted URL directly into the
mediaUrlsparameter ofblotato_create_post
This avoids the presigned PUT step, which is the step Claude Code cannot perform.
How do I edit a scheduled post via MCP (caption, media, or time)?
Call only blotato_update_schedule. It updates an existing schedule in place β it never creates a new post.
To change the caption or media: pass the whole post object, not just the field you're editing. The tool requires accountId, platform, text, plus the platform-specific fields (e.g., pageId for Facebook). If you pass a partial post (e.g., only text), the draft change is silently dropped and only scheduledTime is applied.
Recommended flow:
blotato_list_schedulesβ find the schedule IDblotato_get_scheduleβ fetch the current full post objectblotato_update_scheduleβ pass the schedule ID, the full post object with your edit applied, andscheduledTimeif changing the time
To change only the time: pass id + scheduledTime. No post needed.
If you ever see two posts published for what should have been an edit, your AI tool likely also called blotato_create_post. Tell it explicitly: "use only blotato_update_schedule, do not create a new post."
Didn't find your answer?
Last updated