Skip to content
MCP Server

Tools

The full catalog of 71 MCP tools grouped by domain.

Tools

The Setgreet MCP server exposes 71 tools across 14 domains. Each tool requires an active OAuth session and the right scope on your role -- if your role doesn't have the scope, the tool isn't usable (and in some clients won't even appear in the tool list).

Don't see a tool you expected? Your role probably doesn't have the scope. Ask your org owner to bump your role from the dashboard, then sign out and sign in again to mint a fresh token. See Troubleshooting for the full resolution path.

Authentication (3)

OAuth 2.1 + PKCE driven entirely from MCP tools. The agent never touches your verifier or refresh token.

ToolRequired scopeDescription
sign_in(none)Begins OAuth sign-in. Returns authorization_url + state. Optional org_id pins the new token to a specific org.
complete_sign_in(none)Finishes sign-in. Accepts { code, state } or { redirect_url } (the tool parses code+state out of the redirect's query string).
sign_out(none)Revokes the current refresh token and clears local session storage. Idempotent. The current access JWT stays valid until exp.

Connectivity & identity (1)

ToolRequired scopeDescription
whoami(token)Resolved user, organization, role, granted scopes, OAuth client, and token expiry.

Flow CRUD & lifecycle (7)

Destructive ops (unpublish_flow, delete_flow) require confirm: true.

ToolRequired scopeDescription
list_flowsflows:readPaginated list of flows in the current organization.
get_flow_contextflows:readHigh-info read: flow + graph + screens in one payload (Figma-style).
update_flow_nameflows:writeRename a flow.
duplicate_flowflows:writeClone a flow as a clean DRAFT (appId + triggers stripped).
publish_flowflows:writePromote draft to live and assign to an app.
unpublish_flowflows:writeRevert to DRAFT (destructive; confirm: true).
delete_flowflows:writeSoft-delete the flow + its screens, graph, locales (destructive; confirm).

Analytics escape hatch (1)

ToolRequired scopeDescription
execute_analytics_querysql:readStructured query over flow impressions, user activity, SDK events. Org-scoped.

Not raw SQL -- the input is a typed JSON DSL (collection + match + group + sort + limit + project) that compiles to a Mongo aggregation on the backend. Org scoping is a non-skippable first stage. Operators $where, $expr, $function, and $regex are rejected at compile time. Default 100 rows, max 1000, capped at 10s via maxTimeMS.

Named flow-analytics (7)

First-class tools for the most common "how is this flow performing" questions. All require flows:read and accept optional from/to ISO date filters.

ToolRequired scopeDescription
get_flow_dashboardflows:readCheap unified payload (impressions, completions, drop-off, dismissals).
get_flow_components_analyticsflows:readPer-component metrics -- which buttons/inputs convert vs drop users.
get_flow_pathsflows:readScreen-transition paths and drop-offs. The closest thing to a funnel.
get_flow_inputsflows:readAggregated NPS, ratings, form values from input components.
get_flow_dismissalsflows:readHow and where users dismiss the flow (close button, background tap, time).
get_flow_impressionsflows:readUnique impressions, total impressions, frequency distribution.
get_flow_timeseriesflows:readBucketed metrics over time (granularity: hour|day|week).

Experiments (9)

Destructive ops (complete_experiment, delete_experiment) require confirm: true.

ToolRequired scopeDescription
list_experimentsexperiments:readAll experiments in the current org.
get_experimentexperiments:readMetadata + variants + status for one experiment.
get_experiment_resultsexperiments:readPer-variant metrics + statistical significance.
create_experimentexperiments:writeNew DRAFT experiment with weighted variants.
update_experimentexperiments:writeEdit a DRAFT experiment (RUNNING must be paused first).
start_experimentexperiments:writeTransition DRAFT/PAUSED → RUNNING.
pause_experimentexperiments:writeTransition RUNNING → PAUSED.
complete_experimentexperiments:writeTerminal -- declare winner, can't be undone (confirm).
delete_experimentexperiments:writeDRAFT only, destructive (confirm).

Audience segments (6)

ToolRequired scopeDescription
list_segmentssegments:readAll segments in current org, optionally filtered by app.
get_segmentsegments:readSegment metadata + condition tree.
create_segmentsegments:writeNew audience segment with condition tree.
update_segmentsegments:writeEdit name, description, conditions.
delete_segmentsegments:writeDestructive (confirm); blocked if any flow targets the segment.
list_segment_usersendusers:read:piiPaginated end-user profiles matching the segment. Returns PII.

Conversion goals (5)

ToolRequired scopeDescription
list_conversion_goalsconversions:readUp to 5 goals per flow.
create_conversion_goalconversions:writeTrack an SDK event as a conversion (with optional property filter).
update_conversion_goalconversions:writeRename, retarget, change attribution window, toggle active.
delete_conversion_goalconversions:writeDestructive (confirm).
get_conversion_analyticsconversions:readPer-goal counts, conversion rate, time-to-convert, trend.

Tenant context (4)

ToolRequired scopeDescription
list_organizations(token)Lists every org the authenticated user belongs to (with role + member counts).
switch_organization(token)Returns a reauth_required envelope + authorization_url -- never quietly switches.
list_appsapps:readLists apps in the current org.
switch_appapps:readUpdates the in-process current-app hint and returns the resolved app profile.

switch_organization does not make an API call. The MCP token is pinned to a (user, org) pair, so org switches require a fresh PKCE round-trip. App context is session-local (not a JWT claim) and clears on sign_out.

App theme (6)

ToolRequired scopeDescription
get_app_themetheme:readGET /apps/:appId/theme -- full cross-platform theme document.
update_app_themetheme:writePUT /apps/:appId/theme -- upserts the full theme.
sync_theme_from_sdktheme:writePOST /apps/:appId/theme/sync -- merges an SDK-extracted payload.
list_theme_tokenstheme:readGET /apps/:appId/theme/tokens -- flat resolved token map.
validate_theme_accessibility(none)Local WCAG 2.1 contrast check across M3 color pairs. No API call.
compare_themes(none)Local token-level diff between two flat token maps. No API call.

Localization (4)

ToolRequired scopeDescription
list_localeslocales:readFlat list of every (screen, locale, translations) row for a flow. Group client-side to answer "what languages?".
get_flow_localizationlocales:readAll localization documents for a flow, optionally filtered to one screen.
set_flow_localizationlocales:writeUpsert a single (screen, locale) translations dict.
bulk_translate_flowlocales:writePersist a full translation pass -- one locale, every screen -- in one round-trip.

End-users (3)

ToolRequired scopeDescription
list_end_usersendusers:read*Paginated end-users for an app. Filter by search, segment, or identity. *PII fields require :pii.
get_end_userendusers:readOne end-user profile + recent SDK events. PII redacted unless token carries endusers:read:pii.
list_user_eventsendusers:readRecent SDK events for a user. Wraps the same profile endpoint focused on the embedded events array.

App id is not a JWT claim -- pass app_id per call or call switch_app first to set the in-process default.

Billing (4)

Read-only from MCP -- no billing:write scope exists. Granted to every role.

ToolRequired scopeDescription
get_billing_periodbilling:readCurrent subscription plan + billing cycle (monthly / yearly) + renewal anchor.
get_usage_summarybilling:readCurrent-period MAU usage, plan limit, hard cap, overage charge, plus periodStart / periodEnd boundaries.
get_billing_historybilling:readHistorical billing periods (one entry per closed cycle). Pass limit to widen.
list_subscription_plansbilling:readAll plans available on the platform (Starter / Growth / Scale) with limits, prices, features.

The MCP-view projection strips internal payment-provider variant ids and card metadata. The dashboard view sees the full payload.

Org & team management (5)

Destructive op (remove_member) requires confirm: true.

ToolRequired scopeDescription
list_org_membersteam:readRoster of users in the current org with roles.
invite_memberteam:writeSend an invitation email for admin / member / viewer (owner is not invitable).
update_member_roleteam:writeChange a member's role. Cannot promote to / demote from owner -- that's a separate transfer-ownership flow.
remove_memberteam:writeRemove a user's membership. Destructive (confirm).
update_organization(owner role, no MCP scope)Update name, size, or transfer ownership. Owner-only on the backend -- non-owners get a forbidden error.

Integrations (3)

ToolRequired scopeDescription
list_integrationsintegrations:readWebhook + analytics integrations (Segment, Amplitude, Mixpanel, raw webhook) configured for the org.
get_integrationintegrations:readOne integration's config + event filter + enabled state. Resolved client-side from the list endpoint.
dispatch_test_eventintegrations:writeFire a synthetic test event through the integration's delivery pipeline. Backend constructs the test payload server-side. Not destructive.

Destructive op (regenerate_share_token) requires confirm: true.

ToolRequired scopeDescription
get_share_settingsshare:readThree independent toggles (public link, copy, preview), share token, share URL, OneLink preview URL, and view/copy counts. Auto-creates the share document on read.
update_share_settingsshare:writeToggle is_public_link_enabled, is_copy_enabled, is_preview_enabled independently. Pass only the fields you want to change.
regenerate_share_tokenshare:writeRotate the share token, invalidating the live shared URL. Destructive (confirm).

Next steps

On this page