list_brands | The workspace’s brands the connection can see. | Read | None. | brands[]: id, name, timezone, requireApproval. |
get_brand_context | The brand’s voice, audience, rules, pillars, hashtags and slots. Whatever the brand hasn’t filled in is left out and listed as missing: it is never guessed. | Read | brandId | brand, description, industry, website, voice, pillars, defaultHashtags, postingSlots, missing[]. |
list_accounts | The connected social accounts per brand. Their ids are used as accountIds when creating a draft. | Read | brandId (optional) | accounts[]: id, brandId, platform, handle, status. |
get_calendar | Posts between two dates (up to 92 days), read in an explicit time zone. | Read | from, to (AAAA-MM-DD); brandId, timezone (optional) | range, posts[] (status, scheduledAt, dateMeaning, localDateTime, caption, targets), note. |
list_posts | The most recent posts, filterable by brand and status. | Read | brandId, status (draft, in_review, changes_requested, approved, planned, scheduled, published, failed), limit (1–100) | posts[], note. |
get_analytics | Per-account totals over a range (up to 400 days): impressions, engagements, link clicks, video views and followers. Whatever a network doesn’t report is left out: it never shows as zero. | Read | from, to (AAAA-MM-DD); brandId (optional) | from, to, note, accounts[]. |
create_draft | Saves a draft with its text and, optionally, accounts and a proposed date. It never schedules it, sends it for approval or publishes it. | Create drafts | brandId, caption, idempotencyKey (required); accountIds, proposedAt, internalNote | post (id, status: "draft"), reviewUrl, note, replayed. |