Tools
All tools exposed by the Zernio MCP server, parameter reference for the core posting tools, and the browser media upload flow.
The MCP server exposes 496 tools covering the entire Zernio API: 20 hand-crafted core tools for the common flows, plus one auto-generated tool for every API endpoint.
How Tools Reach Your Context
Your client never loads all 496 tools at once. About 50 stay always visible — the 20 core tools plus the everyday posting, scheduling-queue, validation, account-health, analytics, and engagement tools — and the rest sit behind two meta-tools:
search_tools— full-text search over the complete catalog ("send a WhatsApp template", "TikTok insights", "pause a campaign"), returning the best-matching tools with their schemascall_tool— invoke any tool found via search
A capability like whatsapp_flows_publish_whats_app_flow costs zero context until the moment the agent needs it. There is nothing to configure: ask for the task in natural language and the agent searches, finds, and calls the right tool.
Core Tools
These hand-crafted tools provide the best experience for common tasks:
| Tool | Description |
|---|---|
accounts_list | Show all connected social media accounts |
accounts_get | Get account details for a specific platform |
profiles_list / get / create / update / delete | Manage profiles |
posts_list / get / create / update / delete | Manage posts |
posts_publish_now | Publish a post immediately |
posts_cross_post | Post to multiple platforms at once |
posts_retry / posts_list_failed / posts_retry_all_failed | Handle failed posts |
media_generate_upload_link | Get a link to upload media files |
media_check_upload_status | Check if media upload is complete |
docs_search | Search the Zernio API documentation |
Auto-Generated Tools
One tool per API endpoint, auto-generated from the OpenAPI spec. Names follow {category}_{operation}, so the listAdCampaigns endpoint becomes ad_campaigns_list_ad_campaigns. All 476 tools, by category:
The auto-generated tools update automatically when new API endpoints are added. You always have access to the latest Zernio API features. Each tool maps 1:1 to an API Reference operation, where the full request and response schemas live.
Tool Reference
Detailed parameters for the core tools.
Posts
Multi-account users (agencies, multi-client setups): when you have more than one account on the same platform, you must pass account_id (or profile_id) to disambiguate. The write tools below return an error with the candidate account IDs if the selection is ambiguous, instead of silently picking one. Call accounts_list first to discover IDs. Available in zernio-sdk 1.4.0+.
posts_create
Create a social media post. Can be saved as DRAFT, SCHEDULED, or PUBLISHED immediately.
Choose the correct mode based on user intent:
- DRAFT MODE (
is_draft=true): Use when user says "draft", "save for later", "don't publish". Post is saved but NOT published. - IMMEDIATE MODE (
publish_now=true): Use when user says "publish now", "post now", "immediately". Post goes live right away. - SCHEDULED MODE (default): Use when user says "schedule", "in X minutes/hours". Post is scheduled for future publication.
| Parameter | Type | Description | Required | Default |
|---|---|---|---|---|
content | string | The post text/content | Yes | - |
platform | string | Target platform: twitter, instagram, linkedin, tiktok, bluesky, facebook, youtube, pinterest, threads, googlebusiness, telegram, snapchat | Yes | - |
account_id | string | Specific account to post from. Required when the user has multiple accounts on this platform. Call accounts_list to find IDs. | No | "" |
profile_id | string | Scope account auto-resolution to one profile (e.g. one client in an agency setup). Use when account_id is unknown but the target profile is. | No | "" |
is_draft | boolean | Set to true to save as DRAFT (not published, not scheduled) | No | false |
publish_now | boolean | Set to true to publish IMMEDIATELY | No | false |
schedule_minutes | integer | Minutes from now to schedule. Only used when is_draft=false AND publish_now=false | No | 60 |
media_urls | string | Comma-separated URLs of media files to attach (images, videos) | No | "" |
title | string | Post title (required for YouTube, recommended for Pinterest) | No | "" |
posts_publish_now
Publish a post immediately to a platform. Convenience wrapper around posts_create with publish_now=true.
| Parameter | Type | Description | Required | Default |
|---|---|---|---|---|
content | string | The post text/content | Yes | - |
platform | string | Target platform | Yes | - |
account_id | string | Specific account ID. Required when the user has multiple accounts on this platform. | No | "" |
profile_id | string | Scope auto-resolution to a single profile when account_id is unknown. | No | "" |
media_urls | string | Comma-separated URLs of media files to attach | No | "" |
posts_cross_post
Post the same content to multiple platforms at once. To target multiple accounts of the same platform in one call, repeat the platform: platforms="twitter,twitter", account_ids="acc_a,acc_b".
| Parameter | Type | Description | Required | Default |
|---|---|---|---|---|
content | string | The post text/content | Yes | - |
platforms | string | Comma-separated list of platforms (e.g., 'twitter,linkedin,bluesky'). Repeat a platform to target multiple accounts of it. | Yes | - |
account_ids | string | Comma-separated account IDs, parallel to platforms. Empty positions fall back to profile/auto-resolution. Required for multi-account users to disambiguate. | No | "" |
profile_id | string | Scope auto-resolution to one profile when account_ids is empty. | No | "" |
is_draft | boolean | Set to true to save as DRAFT (not published) | No | false |
publish_now | boolean | Set to true to publish IMMEDIATELY to all platforms | No | false |
media_urls | string | Comma-separated URLs of media files to attach | No | "" |
posts_create_post
Autogenerated tool that mirrors the full createPost REST surface. Use this instead of posts_create when you need per-target customisation that the simplified tool doesn't expose: customContent (different caption per platform), customMedia (different attachments per target), per-target scheduledFor, or platformSpecificData (TikTok privacy, YouTube category, etc.). The platforms argument is a JSON-encoded array of objects with platform, accountId, and any per-target overrides. Available in zernio-sdk 1.4.0+.
posts_list
| Parameter | Type | Description | Required | Default |
|---|---|---|---|---|
status | string | Filter by status: draft, scheduled, published, failed | No | "" |
limit | integer | Maximum number of posts to return | No | 10 |
posts_get / posts_delete / posts_retry
| Parameter | Type | Description | Required |
|---|---|---|---|
post_id | string | The post ID | Yes |
posts_update
| Parameter | Type | Description | Required | Default |
|---|---|---|---|---|
post_id | string | The post ID to update | Yes | - |
content | string | New content | No | "" |
scheduled_for | string | New schedule time (ISO string) | No | "" |
title | string | New title | No | "" |
Media
media_generate_upload_link
Generate a unique upload URL for the user to upload files via browser. The flow is:
- Call this tool to get an upload URL
- Ask the user to open the URL in their browser
- User uploads files through the web interface
- Call
media_check_upload_statusto get the uploaded file URLs - Use those URLs when creating the post with
posts_create
media_check_upload_status
| Parameter | Type | Description | Required |
|---|---|---|---|
token | string | The upload token from media_generate_upload_link | Yes |
Uploading Images & Videos
Since AI clients can't access files on your computer directly, we use a browser upload flow:
Ask to Create an Upload Link
Say something like: "I want to post an image to Instagram"
The assistant will give you a unique upload URL.
Upload Your File
Open the URL in your browser. You'll see a simple upload page where you can drag & drop your image or video.
Confirm Upload
Just say "done" or "uploaded". The assistant will check the status and create your post with the media attached.
Supported file types:
- Images: JPG, PNG, WebP, GIF
- Videos: MP4, MOV, WebM
- Documents: PDF
Maximum file size: 5GB