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 70 tools (29 read, 37 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 72 rather than 70: 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 are admin-only today.
  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 (when account scope is enforced).— (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 currently looking at on screen — route, entity type/id/name, selection.— (no scope)

Flows — read

ToolWhat it doesParametersRequired scopesNotes
list_flowsList the user's automation flows.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.flowIdflows:read
summarize_flow_purposeSummarize what a flow does in one sentence.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_flowsResolve implicit flow reference ("the welcome flow").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.flowIdflows:write
deactivate_flowUnpublish (deactivate) a flow so it stops processing triggers.flowIdflows:write
duplicate_flowCreate a copy of an existing flow as a new draft.flowId, newNameflows:write
update_flowUpdate a flow's identity fields (name, description).flowId, name, descriptionflows: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, businessContextflows:writeflag: AI_FLOW_BUILDER
add_nodeAdd a node to a flow's graph.flowId, type, position, name, dataflows:write
update_nodeUpdate an existing node's data, position, or name.flowId, nodeId, data, position, nameflows: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_flowsUpdate identity fields (name, description) on up to 50 flows in one call.flowIds, 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 the user composed in the SociaHive Content Scheduler — drafts, queued, recurring, recently-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
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_postSchedule a draft post to publish at a future time.postId, scheduledAt, timezone, attach_funnelposts:write
update_scheduled_postEdit a scheduler-side post (draft or scheduled) — text, scheduled time, timezone.postId, text, scheduledAt, timezoneposts:write
cancel_scheduled_postCancel a scheduled post — reverts to draft so it won't publish.postIdposts:write
publish_post_nowPublish a post immediately to all configured platforms.postIdposts:writeconfirm
create_scheduled_postCreate a new social post as a draft, optionally scheduled.text, media, platforms, scheduledAt, timezoneposts: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 published item — for singular intents like "my latest reel", "the most recent post", "our recent post", or when targeting a specific 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').flowIdflows: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.postIdposts:write agent:destructiveconfirm, flag: AI_COPILOT_DESTRUCTIVE_TOOLS, not on connect keys
disconnect_accountDisconnect a connected social account — clears OAuth tokens and flips status to "disconnected".accountIdaccounts: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.postIdsposts:write agent:destructiveconfirm, flag: AI_COPILOT_DESTRUCTIVE_TOOLS, not on connect keys

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-cleanupFinds 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.
  • 14 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