Connection check
verified live · 27h ago
zernio
Schedule, publish, and analyze social media across 15+ platforms, plus inbox, ads, and analytics.
Tools
52
GitHub stars
—
Installs / wk
—
Licence
—
Transport
streamable-http
Last checked
27h ago
Tools & capabilities
52 toolsRead from the running server on 27h ago.
account_groups_list_account_groups
read-only
List groups List groups
accounts_get
read-only
platform*
Get account details for a specific platform. Returns username and ID for the first account matching the platform. Get account details for a specific platform. Returns username and ID for the first account matching the platform.
accounts_get_account_health
read-only
account_id*
Check account health Check account health
accounts_get_all_accounts_health
read-only
statusplatformprofile_id
Check accounts health Check accounts health
accounts_get_follower_stats
read-only
to_datefrom_dateprofile_idaccount_idsgranularity
Get follower stats Get follower stats
accounts_list
read-only
List all connected social media accounts. Returns the platform, username, and account ID for each connected account. Use this to find account IDs needed for creating posts. List all connected social media accounts. Returns the platform, username, and account ID for each connected account. Use this to find account IDs needed for creating posts.
accounts_move_account_to_profile
can modify data
account_id*profile_id*
Move account to another profile Move account to another profile
analytics_get_analytics
read-only
pagelimitordersourcepost_idsort_by
+5
Get post analytics Get post analytics
analytics_get_best_time_to_post
read-only
sourceplatformaccount_idprofile_id
Get best times to post Get best times to post
analytics_get_daily_metrics
read-only
sourceto_dateplatformfrom_dateaccount_idprofile_id
+1
Get daily aggregated metrics Args: platform: Filter by platform (e.g. "instagram", "tiktok"). Omit for all platforms. profile_id: Filter by profile ID. Omit fo… Get daily aggregated metrics Args: platform: Filter by platform (e.g. "instagram", "tiktok"). Omit for all platforms. profile_id: Filter by profile ID. Omit for all profiles. account_id: Filter by social account ID from_date: Inclusive start date (ISO 8601). Defaults to 180 days ago. to_date: Inclusive end date (ISO 8601). Defaults to now. source: Filter by post origin. "late" for posts published via Zernio, "external" for posts imported from platforms. attribution: How each post's engagement is attributed to a day. "publish" (default) sums each post's lifetime total on its publish date. "received" buckets the per-day increase in engagement by the day it actually arrived (engagement-over-time), so engagement on older posts appears on the day it was gained rather than the post's publish date.
analytics_get_post_timeline
read-only
post_id*to_datefrom_date
Get post analytics timeline Args: post_id: The post to fetch timeline for. Accepts an ExternalPost ID, a platformPostId, or a Zernio Post ID. (required) from_date… Get post analytics timeline Args: post_id: The post to fetch timeline for. Accepts an ExternalPost ID, a platformPostId, or a Zernio Post ID. (required) from_date: Start of date range (ISO 8601). Defaults to 90 days ago. to_date: End of date range (ISO 8601). Defaults to now.
call_tool
can modify data
name*arguments
Call a tool by name with the given arguments. Use this to execute tools discovered via search_tools. Call a tool by name with the given arguments. Use this to execute tools discovered via search_tools.
comments_get_inbox_post_comments
read-only
limitcursorpost_id*subredditaccount_id*comment_id
Get post comments Get post comments
comments_list_inbox_comments
read-only
limitsincecursorsort_byplatformaccount_id
+3
List commented posts List commented posts
comments_reply_to_inbox_post
can modify data
message*post_id*root_cidroot_uriaccount_id*comment_id
+2
Reply to comment Reply to comment
docs_search
read-only
query*
Search across the Late API documentation to find relevant information, code examples, API references, and guides. Use this tool when you need to answer questions about Late, find… Search across the Late API documentation to find relevant information, code examples, API references, and guides. Use this tool when you need to answer questions about Late, find specific documentation, understand how features work, or locate implementation details. The search returns contextual content with section titles and relevant snippets.
media_check_upload_status
read-only
token*
Check the status of an upload token and get uploaded file URLs. Use this after the user has uploaded files through the browser upload page. Returns: pending (waiting for upload),… Check the status of an upload token and get uploaded file URLs. Use this after the user has uploaded files through the browser upload page. Returns: pending (waiting for upload), completed (files ready), or expired (token expired).
media_generate_upload_link
can modify data
Generate a unique upload URL for the user to upload files via browser. Use this when the user wants to include images or videos in their post. The flow is: 1. Call this tool to ge… Generate a unique upload URL for the user to upload files via browser. Use this when the user wants to include images or videos in their post. The flow is: 1. Call this tool to get an upload URL 2. Ask the user to open the URL in their browser 3. User uploads files through the web interface 4. Call media_check_upload_status to get the uploaded file URLs 5. Use those URLs when creating the post with posts_create
mentions_list_inbox_mentions
read-only
limitcursoraccount_idprofile_idsort_order
List mentions List mentions
mentions_reply_to_mention
can modify data
message*media_id*account_id*comment_id
Reply to a mention Reply to a mention
posts_bulk_upload_posts
can modify data
dry_run
Bulk upload from CSV Args: dry_run Bulk upload from CSV Args: dry_run
posts_create
can modify data
titlecontent*is_draftplatform*account_idmedia_urls
+3
Create a social media post. Can be saved as DRAFT, SCHEDULED, or PUBLISHED immediately. ⚠️ IMPORTANT - Choose the correct mode based on user intent: **DRAFT MODE (is_draft=True)*… Create a social media post. Can be saved as DRAFT, SCHEDULED, or PUBLISHED immediately. ⚠️ IMPORTANT - Choose the correct mode based on user intent: **DRAFT MODE (is_draft=True)** Use when user says: "draft", "borrador", "save for later", "don't publish", "save it", "guardar" → Post is saved but NOT published and NOT scheduled. User can edit it later. **IMMEDIATE MODE (publish_now=True)** Use when user says: "publish now", "post now", "publica ya", "immediately", "right now", "ahora" → Post goes live IMMEDIATELY. **SCHEDULED MODE (default)** Use when user says: "schedule", "programar", "in X minutes/hours", "at 3pm", "tomorrow" → Post is scheduled for future publication. Use schedule_minutes to set the delay. ⚠️ MULTI-ACCOUNT USERS (agencies, multi-client setups): If the user has more than one account on the target platform, you MUST pass `account_id`. Call `accounts_list` (or `profiles_list` then `accounts_list`) first to discover the right ID. If you omit account_id when multiple accounts exist, the tool returns an error listing the candidates - use it to retry. Examples: - "Create a draft tweet" → is_draft=True - "Post this to Twitter now" → publish_now=True - "Schedule a LinkedIn post for 2 hours from now" → schedule_minutes=120 - "Post this to Acme's Twitter" → call accounts_list, find Acme's twitter ID, pass account_id
posts_cross_post
can modify data
content*is_draftplatforms*media_urlsprofile_idaccount_ids
+1
Post the same content to multiple platforms at once. ⚠️ IMPORTANT - Choose the correct mode based on user intent: **DRAFT MODE (is_draft=True)** Use when user says: "draft", "bor… Post the same content to multiple platforms at once. ⚠️ IMPORTANT - Choose the correct mode based on user intent: **DRAFT MODE (is_draft=True)** Use when user says: "draft", "borrador", "save for later", "don't publish" → Posts are saved but NOT published. User can edit them later. **IMMEDIATE MODE (publish_now=True)** Use when user says: "publish now", "post now", "immediately" → Posts go live IMMEDIATELY on all platforms. **SCHEDULED MODE (default)** Use when user says: "schedule", "programar", "in X hours" → Posts are scheduled for 1 hour from now. ⚠️ MULTI-ACCOUNT USERS: - To pick a specific account per platform, pass `account_ids` parallel to `platforms` (same order, comma-separated). Use empty string for a position to fall back to profile/auto-resolution. - To target multiple accounts of the SAME platform in one call, repeat the platform: platforms='twitter,twitter', account_ids='acc_a,acc_b'. - If you omit account_ids and the user has multiple accounts for any of the requested platforms, the tool errors with the candidate list - use it to retry.
posts_delete
can modify data
post_id*
Delete a post by ID. Published posts cannot be deleted. Delete a post by ID. Published posts cannot be deleted.
posts_edit_post
can modify data
content*post_id*platform*account_id
Edit published post Edit published post
posts_get
read-only
post_id*
Get full details of a specific post including content, status, and scheduling info. Get full details of a specific post including content, status, and scheduling info.
posts_list
read-only
limitstatus
List posts with optional filtering by status. Status options: draft, scheduled, published, failed List posts with optional filtering by status. Status options: draft, scheduled, published, failed
posts_list_failed
read-only
limit
List all failed posts that can be retried. List all failed posts that can be retried.
posts_publish_now
can modify data
content*platform*account_idmedia_urlsprofile_id
Publish a post immediately to a platform. The post goes live right away. Use this when user explicitly wants to publish NOW, not schedule for later. This is a convenience wrapper… Publish a post immediately to a platform. The post goes live right away. Use this when user explicitly wants to publish NOW, not schedule for later. This is a convenience wrapper around posts_create with publish_now=True. ⚠️ MULTI-ACCOUNT USERS: pass `account_id` when the user has more than one account on this platform. Call `accounts_list` first to find the right ID.
posts_retry
can modify data
post_id*
Retry publishing a failed post. Only works on posts with 'failed' status. Retry publishing a failed post. Only works on posts with 'failed' status.
posts_retry_all_failed
can modify data
Retry all failed posts at once. Retry all failed posts at once.
posts_unpublish_post
can modify data
post_id*platform*
Unpublish post Unpublish post
posts_update
can modify data
titlecontentpost_id*scheduled_for
Update an existing post. Only draft, scheduled, and failed posts can be updated. Published posts cannot be modified. Update an existing post. Only draft, scheduled, and failed posts can be updated. Published posts cannot be modified.
profiles_create
can modify data
name*colordescription
Create a new profile for grouping social accounts. Create a new profile for grouping social accounts.
profiles_delete
can modify data
profile_id*
Delete a profile. The profile must have no connected accounts. Delete a profile. The profile must have no connected accounts.
profiles_get
read-only
profile_id*
Get details of a specific profile including name, description, and color. Get details of a specific profile including name, description, and color.
profiles_list
read-only
List all profiles. Profiles group multiple social accounts together for easier management. List all profiles. Profiles group multiple social accounts together for easier management.
profiles_update
can modify data
namecoloris_defaultprofile_id*description
Update an existing profile. Only provided fields will be changed. Update an existing profile. Only provided fields will be changed.
queue_create_queue_slot
can modify data
name*slots*activetimezone*profile_id*
Create schedule Create schedule
queue_delete_queue_slot
can modify data
queue_idprofile_id*
Delete schedule Delete schedule
queue_get_next_queue_slot
read-only
queue_idprofile_id*
Get next available slot Get next available slot
queue_list_queue_slots
read-only
allqueue_idprofile_id*
List schedules List schedules
queue_preview_queue
read-only
countqueue_idprofile_id*
Preview upcoming slots Preview upcoming slots
queue_update_queue_slot
can modify data
nameslots*activequeue_idtimezone*profile_id*
+2
Update schedule Update schedule
search_tools
read-only
query*
Search for tools using natural language. Returns matching tool definitions ranked by relevance, in the same format as list_tools. Search for tools using natural language. Returns matching tool definitions ranked by relevance, in the same format as list_tools.
tracking_tags_get_tracking_tag_stats
read-only
tag_id*end_timeaccount_id*start_timeaggregation
Get aggregated event stats Get aggregated event stats
tracking_tags_list_tracking_tags
read-only
account_id*ad_account_id
List tracking tags List tracking tags
usage_get_usage
read-only
tofrom_rangegroup_byreconcileaccount_id
+2
Usage snapshot (default) or billed-spend metering (with params) Args: reconcile: Snapshot mode only. For Stripe subscription users, `true` forces a subscription reconc… Usage snapshot (default) or billed-spend metering (with params) Args: reconcile: Snapshot mode only. For Stripe subscription users, `true` forces a subscription reconciliation pass even when cached plan data looks complete. range: Window to report. `cycle` / `prev-cycle` resolve to the customer's real billing-period bounds (falling back to a trailing 30 days when no invoice exists yet); `7d`…`12mo` are trailing windows; `custom` uses `from` / `to`. from_: Inclusive start (UTC date). Required when `range=custom`. to: Inclusive end (UTC date). Required when `range=custom`. Max span 366 days. granularity: Bucketing of the `days` series: `day` (one row per UTC day), `month` (one row per calendar month, dated to the 1st), or `total` (no series — read `totals`). Does not affect `totals`. group_by: Metering mode. Adds `attribution`: the window's spend split per profile or per account (keys are ids; resolve names via `GET /v1/profiles` / `GET /v1/accounts`). profile_id: Metering mode (pair with `range`). Project the payload onto this profile's attributed share. Mutually exclusive with `accountId`, and `groupBy` (if given) must be `profile`; 404 when the profile is not in your workspace (or outside a scoped key's profiles). account_id: Metering mode (pair with `range`). Project the payload onto this account's attributed share. Mutually exclusive with `profileId`, and `groupBy` (if given) must be `account`; 404 when the account is not visible to the caller.
validate_media
can modify data
url*
Validate media URL Validate media URL
validate_post
can modify data
contentplatforms*media_items
Validate post content Validate post content
validate_post_length
can modify data
text*
Validate character count Validate character count
zernio_overview
read-only