SociaHive Docs

MCP Tools Reference

Every tool the SociaHive MCP server exposes — parameters, required API-key scopes, feature flags, and confirmation requirements.

The SociaHive MCP server advertises 89 tools (38 read, 47 write, 4 destructive). Every one runs through the same chokepoint the in-app copilot uses, so auth, tier limits, rate limits, credits, and audit logging apply identically whether the caller is Claude Desktop, the CLI, or the dashboard.

Connect a client first — see the setup guide.

tools/list reports 91 rather than 89: it also carries __cache_anchor (an internal prompt-cache sentinel — ignore it) and get_more_tools (injected by the analytics layer so an assistant can report a capability it wishes existed; it returns a plain-text acknowledgement, not JSON).

How access is decided

A tool call has to clear four gates, in order:

  1. API key + agent:execute — enforced at /api/mcp before the server is reached.
  2. Per-tool scopes — the "Required scopes" column below. A key with * clears all of them.
  3. Feature flag — tools in the "Notes" column with a flag: entry are inert unless that flag is on for your account. Most follow your plan; a few are still admin-only previews.
  4. Confirmation — tools marked confirm are irreversible. The first call returns a pending_confirmation envelope with a token; call again passing __confirmToken. Keyed surfaces (CLI, SDK) can instead pass confirm: true where the tool accepts it.

Tools marked not on connect keys need a scope the one-click Connect to AI key doesn't carry. Mint a key with the scopes you need in Settings → API Keys.

Tools

Session & capability

ToolWhat it doesParametersRequired scopesNotes
whoamiReturns the calling user's identity, tier, surface, and currently selected connected account.—— (no scope)—
list_capabilitiesReturns the list of tools available to this user (filtered by tier + flags).—— (no scope)—
current_page_contextReturns what the user is looking at — route, entity type/id/name, selection.—— (no scope)—

Flows — read

ToolWhat it doesParametersRequired scopesNotes
list_flowsList the user's automation flows — for BROWSING many.status, limit, sortBy, sortOrder, cursorflows:read—
list_flows_with_statsRank flows by a performance metric — triggers, completions, unique_users, or button_clicks.metric, sortOrder, limit, statusflows:read—
get_flowFetch one flow by id.flowId, nodeIdflows:read—
summarize_flow_purposeOne-sentence flow summary.flowIdflows:read—
get_flow_statsFetch execution analytics for one flow — total triggers, button clicks, unique users, status breakdown, last 7 days daily timeline.flowIdflows:read—
get_collected_dataSummarize the data collected by a flow — total count, breakdown by field type, last N submissions (metadata only — actual values are not exposed to the LLM for privacy).flowId, fieldType, limitflows:read—
list_system_templatesBrowse pre-built system flow templates — common automations like welcome messages, lead generation, and customer support.category, limit, cursorflows:read—
get_flow_revisionsList the version history of a flow.flowId, limitflows:read—
search_flowsDisambiguate a FLOW referred to by name when several could match.query, limit, accountIdflows:readpass accountId on multi-account keys
find_referencesFlows referencing a tag.entityType, entityId, limitflows:read tags:readnot on connect keys

Flows — write

ToolWhat it doesParametersRequired scopesNotes
activate_flowPublish (activate) a flow so it processes triggers in production.flowId, flowNameflows:write—
deactivate_flowUnpublish (deactivate) a flow so it stops processing triggers.flowId, flowNameflows:write—
duplicate_flowCopy an existing flow as a new draft.flowId, flowName, newNameflows:write—
update_flowRename a flow or change its description; saved and shown in SociaHive.—flows:write—
create_flowCreate a new empty automation flow as a draft.name, description, accountId, platformUserId, platform, triggerflows:write—
[email protected]DEPRECATED — use [email protected] (inline streaming in chat).description, accountId, platformUserId, platformflows:writeflag: AI_FLOW_BUILDER, deprecated
generate_flowGenerate a complete automation flow from a natural-language description.description, platform, variants, iterateOnFlowId, businessContext, accountIdflows:writeflag: AI_FLOW_BUILDER
add_nodeAdd a node to a flow's graph.flowId, type, position, name, dataflows:write—
update_nodeChange one existing node — every in-flow content edit.—flows:write—
add_edgeConnect two nodes in a flow with an edge.flowId, source, target, sourceHandle, targetHandle, type, dataflows:write—
delete_nodeRemove a single node from a flow.flowId, nodeIdflows:write—
delete_edgeRemove a single edge (connection) from a flow.flowId, edgeIdflows:write—
bulk_update_flowsBatch-edit up to 50 flows in ONE call — every PLURAL flow edit ("rename the holiday flows").flowIds, filter, patchflows:write—
revert_flow_to_versionRevert a flow to a previous version.flowId, targetVersionflows:write—
create_automationDraft an automation from a natural-language outcome.outcome, accountIdflows:writeflag: OUTCOME_API_TOOLS
generate_multiple_flowsBulk-build automations from ONE whole-setup description (migration: "rebuild my ManyChat setup").description, accountIdflows:writeconfirm, flag: AI_BULK_FLOW_GENERATION

Posts & scheduler — read

ToolWhat it doesParametersRequired scopesNotes
list_scheduled_postsList posts from the SociaHive Content Scheduler — drafts, queued, recurring, published-via-scheduler.status, platform, limit, sortOrder, cursorposts:read—
get_scheduled_postFetch one scheduler-side post by id (drafts / queued / recurring / scheduler-published).postIdposts:read—
get_scheduler_calendarGet scheduler-side posts in a date range.fromDate, toDate, platformposts:read—
list_pinterest_boardsList the boards of your Pinterest accounts, for a Pin's metadata.boardId. MCP and API keys only.accountIdposts:read—
get_post_analyticsFetch per-platform analytics for one published post — impressions, reach, engagement, likes, comments, shares, saves, clicks.postIdposts:read—
get_analytics_overviewFetch aggregate analytics across all published posts — total impressions, total engagement, post count, per-platform breakdown, and the last 30 days timeline.startDate, endDate, platformposts:read—
list_evergreenList the user's evergreen queue (recyclable posts that fill failed Autopilot slots).—posts:readflag: SCHEDULER_EVERGREEN

Posts & scheduler — write

ToolWhat it doesParametersRequired scopesNotes
schedule_postPut an EXISTING draft on the publishing calendar.postId, postName, scheduledAt, timezone, attach_automation, attach_funnelposts:write—
update_scheduled_postEdit a scheduler-side post that ALREADY EXISTS (draft or scheduled) — text, media (replaces all), time, timezone.—posts:write—
cancel_scheduled_postCancel a scheduled post — reverts to draft so it won't publish.postId, postNameposts:write—
publish_post_nowPublish a post immediately to all configured platforms.postId, postNameposts:writeconfirm
create_scheduled_postCreate a NEW social post from supplied content — draft, optionally scheduled in the same call.text, media, platforms, scheduledAt, timezone, signatureId, nextSlotposts:write—
bulk_reschedule_postsMove up to 50 scheduled posts to a new publish time in one call.postIds, scheduledAt, timezoneposts:write—
publishPublish a prepared post (by postId) to its platforms NOW.postId, platformsposts:writeconfirm, flag: OUTCOME_API_TOOLS
add_to_evergreenAdd a recyclable post (caption text) to the user's evergreen queue.text, sourcePostIdposts:writeflag: SCHEDULER_EVERGREEN

Accounts & media

ToolWhat it doesParametersRequired scopesNotes
list_accountsList the user's connected social media accounts (Instagram, Facebook, etc.).platform, statusaccounts:read—
list_published_mediaList recent media on the user's connected platform (Instagram first), recency-sorted.mediaType, limit, accountIdaccounts:readpass accountId on multi-account keys
get_latest_published_mediaResolve the user's SINGLE most recent item published ON THE PLATFORM — singular intents pointing at the live account ("my latest reel", "our last post on Instagram"), or targeting a published post for a flow trigger.mediaType, accountIdaccounts:readpass accountId on multi-account keys
get_published_mediaFetch a single platform-published media item by its mediaId (the platform's own ID, e.g.mediaId, accountIdaccounts:readpass accountId on multi-account keys
search_published_mediaSemantic search across captions of media published on the connected platform (Instagram first).query, mediaType, limit, accountIdaccounts:readpass accountId on multi-account keys
get_capabilitiesList what each connected account can DO — automation (DM/comment triggers) vs scheduler (post scheduling).accountIdaccounts:read—
resolveAuto-resolve a support conversation (by sessionId) from the knowledge base.sessionId, messageaccounts:writeflag: OUTCOME_API_TOOLS, not on connect keys
capture_leadCapture a lead: find-or-create a contact from (platform, platformUserId) and record a lead-outcome.platform, platformUserId, source, username, displayNameaccounts:writeflag: OUTCOME_API_TOOLS, not on connect keys

Autopilot

ToolWhat it doesParametersRequired scopesNotes
get_autopilot_statusUse ONLY to report Autopilot's state: is it on, review mode (approve vs autopublish), posts/week, target-account count, pause reason, and this week's batch summary (planned/ready counts, status).—autopilot:readflag: AI_COPILOT_AUTOPILOT_TOOLS
update_autopilot_brand_kitSet/update the Brand Kit grounding Autopilot's content (business name, what-you-do, audience, voice preset, banned words, pillars).businessName, whatYouDo, audience, voice, voiceNote, bannedWords, pillarsautopilot:writeflag: AI_COPILOT_AUTOPILOT_TOOLS
generate_autopilot_weekUse when the user asks to generate/create/make/plan this week's content ("generate my week").feedbackautopilot:writeflag: AI_COPILOT_AUTOPILOT_TOOLS
adjust_autopilot_weekUse when the user asks to change/adjust/revise the current week with feedback ("make it more casual", "fewer promos") OR to regenerate it from scratch (omit feedback).feedback, batchIdautopilot:writeflag: AI_COPILOT_AUTOPILOT_TOOLS
approve_autopilot_weekUse when the user asks to approve/ship/publish the week ("approve the week", "ship it").batchId, confirmautopilot:writeconfirm, flag: AI_COPILOT_AUTOPILOT_TOOLS
turn_on_autopilotUse when the user asks to set up/turn on/enable/start Autopilot ("set up autopilot", "turn on autopilot").postsPerWeek, reviewMode, accountIds, confirmautopilot:writeconfirm, flag: AI_COPILOT_AUTOPILOT_TOOLS

Content insights

ToolWhat it doesParametersRequired scopesNotes
get_content_insightsGet this account's content performance insights: which formats, days of week, and content pillars index above/below the account's average engagement (with sample sizes), plus top/bottom posts.weeksanalytics:readflag: SCHEDULER_LEARNING_LOOP

Tags

ToolWhat it doesParametersRequired scopesNotes
search_tagsResolve tag reference ("tagged X").query, limittags:readnot on connect keys
create_tagCreate a tag.name, colortags:writenot on connect keys

CRM & growth

ToolWhat it doesParametersRequired scopesNotes
create_broadcastCall DIRECTLY on any broadcast/announcement ask — no whoami or context lookup first.name, channel, message, audiencebroadcasts:writeconfirm, flag: AI_MAIN_FEATURE_TOOLS, not on connect keys
create_sequenceCreate a drip sequence as a DRAFT.name, description, stepssequences:writeconfirm, flag: AI_MAIN_FEATURE_TOOLS, not on connect keys
create_landing_pageCreate a hosted lead-capture landing page as a DRAFT (disabled — not publicly live until the human enables it).name, headline, body, button_text, sluggrowth_tools:writeconfirm, flag: AI_MAIN_FEATURE_TOOLS, not on connect keys
create_growth_widgetCreate a website growth widget (popup / slide-in / bar / embed box) as a disabled DRAFT — not live until the human enables it in Growth Tools.name, widget_type, headline, body, button_textgrowth_tools:writeconfirm, flag: AI_MAIN_FEATURE_TOOLS, not on connect keys
create_ref_urlCreate a shareable tracked ref link (Growth Tools) — per-link click counting; the primitive behind referral/invite links and link-in-bio tracking.name, flow_id, platformgrowth_tools:writeflag: AI_MAIN_FEATURE_TOOLS, not on connect keys
get_pixel_embedGet the user's SociaHive Pixel install snippet + instructions.—analytics:readflag: AI_MAIN_FEATURE_TOOLS

Destructive

ToolWhat it doesParametersRequired scopesNotes
delete_flowSoft-archive a flow (status='archived').flowId, flowNameflows:write agent:destructiveconfirm, flag: AI_COPILOT_DESTRUCTIVE_TOOLS, not on connect keys
delete_scheduled_postDelete a scheduler-side post — hidden from all dashboards, won't publish.postId, postNameposts:write agent:destructiveconfirm, flag: AI_COPILOT_DESTRUCTIVE_TOOLS, not on connect keys
disconnect_accountDisconnect a connected social account — clears OAuth tokens, flips status to "disconnected".accountId, platform, handleaccounts:write agent:destructiveconfirm, flag: AI_COPILOT_DESTRUCTIVE_TOOLS, not on connect keys
bulk_delete_scheduled_postsSoft-delete up to 50 scheduler-side posts in ONE call — every PLURAL scheduler delete ("remove all expired draft posts").postIds, filterposts:write agent:destructiveconfirm, flag: AI_COPILOT_DESTRUCTIVE_TOOLS, not on connect keys

Other

ToolWhat it doesParametersRequired scopesNotes
export_collected_dataReturns the actual values (emails, phones, names, answers) collected by the user's flows, newest first, for export or sync ("export my leads to a spreadsheet").flowId, fieldType, since, limit, cursorflows:readflag: AGENT_LEAD_EXPORT
list_mediaList the images and videos the user uploaded to the scheduler (their media library), newest first.kind, tag, query, limit, cursorposts:readflag: SCHEDULER_MEDIA_LIBRARY
list_plugsList the plugs on a scheduled or published post ("when this gets 100 likes, repost it"), with progress (lastValue of threshold) and state, plus which of the post's accounts can carry a plug and the metrics and actions each supports.postIdposts:readflag: SCHEDULER_PLUGS
list_review_linksList the client review links of a post and what the client said ("did my client approve Tuesday's post?").postId, postNameposts:readflag: SCHEDULER_CLIENT_REVIEW_LINK
get_post_link_clicksClicks on the short links of a scheduled or published post.postIdposts:readflag: SCHEDULER_SHORT_LINKS
list_signaturesList the user's saved post signatures (sign-offs appended after a blank line when a post publishes).—posts:readflag: SCHEDULER_SIGNATURES
find_next_slotFind the next free posting slot for a post on these accounts: the earliest of their weekly posting times (next 60 days) where none of them already has a scheduled post within 5 minutes.accountIds, afterposts:readflag: SCHEDULER_POSTING_SLOTS
list_client_invitesList the user's client invite links ("did my client connect their accounts?"): state, how many accounts each added and which ones.groupIdaccounts:readflag: SCHEDULER_CLIENT_INVITE_LINK
list_rss_feedsList the user's RSS feeds (at most 5) and how each new item is handled: "draft" (a draft of the item's text), "ai_draft" (AI writes a draft for review) or "ai_schedule" (AI writes it and schedules it into the next free posting slot).—posts:readflag: SCHEDULER_RSS_AI
detach_post_automationRemove the comment automation from a scheduled post ("remove the automation from Tuesday's post").postId, postNameposts:writeconfirm, flag: AI_BUILDER_EXTENDED_STEPS
upload_media_from_urlCopy an image or video from a public URL into the user's SociaHive uploads and return a URL on our storage.urluploads:writeflag: MEDIA_UPLOAD_FROM_URL
create_review_linkMake a client review link for a scheduled post or draft ("send this post to my client for approval").postId, postName, reviewerNameposts:writeconfirm, flag: SCHEDULER_CLIENT_REVIEW_LINK
duplicate_scheduled_postCopy a post as a new DRAFT with the same text, media, channels, platform options and tags ("duplicate Tuesday's post", "make a copy of that post").postId, postNameposts:writeflag: SCHEDULER_CALENDAR_CARD_ACTIONS
arm_plugArm a plug on a scheduled or published post: when the post reaches threshold of metric on that account, SociaHive reposts it (X) or adds the comment (X reply, Instagram, Facebook), once.postId, accountId, metric, threshold, action, textposts:writeconfirm, flag: SCHEDULER_PLUGS
generate_post_imageMake 1 to 4 AI images for a post from a description (prompt) or from the post caption (caption).prompt, caption, aspect, countuploads:writeflag: SCHEDULER_COMPOSER_IMAGE_GEN
create_signatureSave a post signature (a sign-off such as "Team Acme · acme.com") the user can append to posts at publish.name, text, accountIds, isDefaultposts:writeflag: SCHEDULER_SIGNATURES
manage_posting_slotsList, add, change or remove posting slots: weekly posting times per account ("every Monday at 09:30, Europe/Berlin, for @shop on Instagram and Facebook").action, slotId, accountIds, weekday, time, timezoneposts:writeflag: SCHEDULER_POSTING_SLOTS
create_client_inviteMake a client invite link for one of the user's account groups ("send my client a link to connect their Instagram").groupId, groupName, platforms, maxAccountsaccounts:writeconfirm, flag: SCHEDULER_CLIENT_INVITE_LINK, not on connect keys
update_rss_feedPause or resume an RSS feed, or change how AI writes posts from it: mode ("draft" or "ai_draft"), instructions, tone, image, accounts and the daily cap.feedId, paused, mode, instructions, tone, image, accountIds, dailyCapposts:writeflag: SCHEDULER_RSS_AI

Resources

Read-only context the client can fetch by URI, no tool call needed. Eleven are listed by resources/list; the two templated URIs are readable but not enumerated.

URIContents
sociahive://platformsSupported platforms and their capabilities
sociahive://trigger-typesFlow trigger types per platform
sociahive://node-typesFlow node types
sociahive://post-statusesScheduled-post status machine
sociahive://flowsYour flows
sociahive://posts/upcomingNext 14 days of scheduled posts
sociahive://accountsYour connected accounts
sociahive://audit/recentRecent agent actions taken on your account
sociahive://healthAccount health signals
sociahive://changelogPlatform changelog
sociahive://docs/quick-startQuick-start guide
sociahive://flows/{id}One flow, full detail (template — not listed)
sociahive://posts/{id}One scheduled post (template — not listed)

Clients that support notifications/resources/updated get pushed refreshes when a post publishes or a flow changes.

Prompts

One-click workflows the client surfaces as slash commands.

PromptArgumentsWhat it does
weekly-reporttimezoneReads upcoming posts + flow stats, writes a Monday recap
content-auditlookback_daysReviews scheduled posts for tone, clashes, platform-fit
flow-cleanup—Finds inactive/underperforming flows, proposes archives
onboard-agencyclient_name, platformsScaffolds a new agency client's flows and draft posts

Known gaps

A live audit on 2026-08-20 found six defects here. All are now fixed; this section records what remains.

  • Scope catalog: no gaps. Every scope enforced at a chokepoint is mintable on a granular key, guarded by api-key-scope-catalog.test.ts.
  • 15 tools are unreachable from a one-click connect key — they need scopes outside the connect grant (deliberately: the connect key is fixed and non-destructive). Mint a custom key with the scopes you need.
  • 5 tools need an explicit accountId on a multi-account key. MCP keys are workspace-level with no account picker, so a default account is bound only when the owner has exactly one. On a key with two or more, pass accountId (from list_accounts) to search_flows, list_published_media, get_latest_published_media, get_published_media, search_published_media. Omitting it returns auth_error / no_account_selected; an id you don't own returns the same error rather than leaking that it exists.
  • Deleting a scheduled post needs posts:write, not admin. DELETE /api/v1/posts/{id} performs the same soft-delete as the dashboard. The agent tools (delete_scheduled_post, bulk_delete_scheduled_posts) additionally require the admin-only AI_COPILOT_DESTRUCTIVE_TOOLS flag plus agent:destructive.

Errors and limits

Typed error envelopes and retry guidance: errors · rate limits.

On this page