Orbit AI & MCP

Talk to your social OS, or connect the AI tools you already use

Orbit is the built-in assistant for Styrar: voice or chat to brainstorm, plan campaigns, research online, and draft posts, links, sites, and bio updates. The same workspace tools are available through a native MCP server for Claude, Cursor, n8n, and other AI clients.

What your AI can do with Styrar

Tools exposed via MCP and Orbit:

  • `list_posts` — retrieve scheduled, published, and draft posts with filters
  • `create_post` — create a new draft post with platform targeting and media
  • `seed_campaign_plan` — research a brief and seed draft posts, links, sites, and bio updates
  • `web_search` / `fetch_url` — research online for campaign planning
  • `get_link_analytics` — fetch link click data and campaign performance for a date range
  • `list_links` — retrieve short links and campaign performance
  • `create_link` — create a new branded short link with UTM parameters
  • `list_social_accounts` — list connected social accounts and their status
  • `search` — search posts, links, and campaigns across your workspace

The full tool collection

Every action below is callable by Orbit or your AI assistant over MCP — organized by category.

267tools across 15 categories
Links & social accounts29
  • list_social_accountsList connected Instagram, X (Twitter), TikTok, LinkedIn, YouTube, Threads, Facebook, and other social accounts. Optional companyId and brandId for company/brand scope. Set includePersonal to also list the user's personal accounts when the workspace allows posting to personal channels.
  • create_linkCreate a shortened URL with optional title, shortCode, company scope, expiresAt, activeFrom, campaignIds, linkGroupId, tagIds, customDomainId, qrStyle, and custom OG fields (ogTitle, ogDescription, ogImageUrl, ogInterstitialEnabled).
  • list_linksList shortened URLs; filter by companyId, campaignId, linkGroupId, tagId, or unassigned (no campaign).
  • get_linkFetch a single short link by linkId including click count and campaign metadata.
  • update_linkUpdate a short link: originalUrl, title, isActive, activeFrom, expiresAt, campaignId/campaignIds, linkGroupId, tagIds, qrStyle, and custom OG fields.
  • delete_linkPermanently delete a short link by linkId.
  • list_link_groupsList link groups (folders) for personal or company scope.
  • create_link_groupCreate a link group/folder with title and optional companyId or campaignId.
  • update_link_groupRename a link group by groupId.
  • delete_link_groupDelete a link group; links in the folder become unassigned.
  • list_link_tagsList tags used to label short links in personal or company scope.
  • create_link_tagCreate a link tag by name in personal or company scope.
  • update_link_tagRename a link tag by tagId.
  • delete_link_tagDelete a link tag and remove it from assigned links.
  • list_link_routing_rulesList geo/device routing rules that redirect visitors to alternate destination URLs.
  • create_link_routing_ruleAdd a geo or device rule mapping conditions to an HTTPS destinationUrl.
  • update_link_routing_ruleUpdate priority, conditions, destination URL, or active state on a link routing rule.
  • delete_link_routing_ruleRemove a geo/device routing rule from a short link.
  • get_link_experimentFetch the A/B experiment on a short link (variants, weights, status, click counts).
  • update_link_experimentCreate or replace a draft link experiment with HTTPS destinationUrl variants and weights.
  • delete_link_experimentRemove the A/B experiment configuration from a short link.
  • control_link_experimentStart, pause, or complete a link A/B experiment. Pass winningVariantId when completing.
  • bulk_create_linksCreate up to 100 links from a links array or CSV string. Set upsert true for idempotent shortCode imports.
  • bulk_update_linksUpdate up to 100 links in one request via an updates array (each entry needs id).
  • bulk_delete_linksDelete multiple short links by linkIds in personal or company scope.
  • import_link_ogScrape og:title, og:description, and og:image from the link destination URL into custom OG fields.
  • get_link_qrReturn short link QR metadata (shortCode, qrStyle). Binary PNG/SVG download uses the dashboard or GET /v1/links/:id/qr.
  • get_link_analyticsAggregated click counts across all short links; optional companyId and date range (from, to).
  • get_link_analytics_by_idClick analytics for a single linkId; optional date range (from, to).
Posts9
  • create_postCreate a DRAFT or SCHEDULED social post across Instagram, LinkedIn, X, TikTok, YouTube, and more. Use scheduledAt to schedule—no separate schedule_post tool. Call list_social_accounts first for socialAccountId in each target.
  • list_postsList posts with optional filters—status (DRAFT, SCHEDULED, PUBLISHED, FAILED), companyId, date range (from, to), page, limit.
  • get_postFetch a single post by postId including platform targets, approval status, media files, and analytics.
  • update_postUpdate a DRAFT or SCHEDULED post by postId. Editable fields: content, title, scheduledAt, status, campaignId, brandId, tags, mediaFileIds.
  • delete_postPermanently delete a post by postId (must be DRAFT, SCHEDULED, or FAILED).
  • list_saved_mentionsList workspace saved @mentions with per-platform handles for compose and publish substitution.
  • create_saved_mentionCreate or upsert a saved @mention with optional per-platform handles (X, LinkedIn, etc.).
  • update_saved_mentionUpdate a saved mention name or platformHandles by mentionId.
  • delete_saved_mentionDelete a workspace saved mention by mentionId.
Bio pages51
  • list_bio_pagesList bio pages for personal or company scope; includes live version and custom domain metadata.
  • get_bio_pageFetch one bio page by id, including live blocks and custom domain details.
  • create_bio_pageCreate a new bio page with title and optional company scope.
  • update_bio_pageUpdate bio page settings: title, custom tenantSlug, allowCustomSlug, trackingConfig (GA/GTM/pixels), and cookiePolicy banner when tracking is enabled.
  • delete_bio_pageDelete a bio page and linked sentinel click-tracking link.
  • list_bio_versionsList versions for a specific bio page id.
  • create_bio_versionSave a new bio page version draft with theme, pages, pageMeta, and chrome blocks. Set copyFromSource true to clone the latest locale version.
  • delete_bio_versionDelete a saved bio version. Cannot delete the only version on a page.
  • publish_bio_versionPublish a specific version id as the live bio page.
  • get_bio_blocksList blocks for a bio page version, optionally filtered by pagePath.
  • replace_bio_blocksReplace chrome blocks for a bio version (hero, nav, footer). For section content use update_bio_version.
  • get_bio_versionFetch a bio version with theme, pages, pageMeta sections, and chrome blocks. Omit versionId for the latest locale draft.
  • update_bio_versionSave a bio draft in place with theme, pages, pageMeta (sections), and chrome blocks. Use for layout and content edits.
  • get_bio_experimentFetch the A/B experiment config for a bio page (variants, scope, status, click counts).
  • update_bio_experimentCreate or replace a draft bio experiment with variants (bioPageVersionId + weight). Scope: page, section, or block.
  • delete_bio_experimentRemove the A/B experiment configuration from a bio page.
  • control_bio_experimentStart, pause, or complete a bio A/B experiment. Pass winningVariantId when completing.
  • list_bio_routing_rulesList geo/device routing rules that serve alternate bio versions to visitors.
  • create_bio_routing_ruleAdd a geo or device routing rule mapping conditions to a bioPageVersionId.
  • update_bio_routing_ruleUpdate priority, conditions, target version, or active state on a bio routing rule.
  • delete_bio_routing_ruleRemove a geo/device routing rule from a bio page.
  • get_bio_domainFetch the custom domain attached to a bio page (company workspaces only).
  • set_bio_domainAttach a custom hostname to a bio page. Returns DNS records to configure.
  • verify_bio_domainRe-check Cloudflare verification status for a bio page custom domain.
  • delete_bio_domainDetach and delete the custom domain from a bio page.
  • get_bio_booking_settingsFetch appointment booking settings for a bio page: timezone, notice windows, deposit processor (Stripe or Shopify), calendar sync, and notification email.
  • update_bio_booking_settingsConfigure bio booking: IANA timezone, notifyEmail, minNoticeMinutes, maxAdvanceDays, depositProcessor with stripeConnectAccountId or shopifyStoreId, and optional calendar sync fields.
  • list_bio_booking_servicesList bookable services on a bio page with duration, buffer, capacity, custom fields, and optional deposit amounts.
  • get_bio_booking_serviceFetch one bio booking service by bioPageId and serviceId.
  • create_bio_booking_serviceAdd a bookable service with name, durationMinutes, optional description, buffer, capacity, custom intake fields, and optional depositAmountCents.
  • update_bio_booking_serviceUpdate service name, duration, deposits, custom fields, active state, or sort order.
  • delete_bio_booking_serviceRemove a bookable service from a bio page.
  • list_bio_booking_availability_rulesList weekly hours and date-override availability or blackout rules for bio booking.
  • create_bio_booking_availability_ruleAdd weekly hours or a date_override rule. Use ruleType weekly with weekday 0-6, or date_override with YYYY-MM-DD (optional endDate for multi-day / week blackouts). Set isBlackout for blocked days.
  • update_bio_booking_availability_ruleUpdate startMinute/endMinute, blackout flag, or date on an availability rule.
  • delete_bio_booking_availability_ruleRemove a weekly or date-override availability rule.
  • list_bio_booking_appointmentsList upcoming or past appointments for a bio page with optional limit and cursor pagination.
  • get_bio_booking_appointmentFetch one appointment with service, slot times, guest details, and status.
  • update_bio_booking_appointmentMark a confirmed past appointment as no_show via action no_show.
  • cancel_bio_booking_appointmentCancel a confirmed appointment and notify the guest when configured.
  • list_bio_theme_presetsList workspace-saved custom bio theme presets for personal or company scope.
  • create_bio_theme_presetSave a reusable bio theme preset with label and theme JSON for the active workspace.
  • delete_bio_theme_presetDelete a saved custom bio theme preset by presetId.
  • get_bio_analyticsFetch click analytics for a bio page id with optional from/to date range.
  • list_bio_form_submissionsList leads captured by contact-form blocks on a bio page, with labeled field data, marketing/SMS consent flags, and form definitions. Optional blockId filter, limit, and cursor for pagination.
  • translate_bio_contentAI-translate, copy, or manually save locale strings for a bio resource (page_version or booking_service). AI mode uses Orbit AI credits. For pages, resourceId is the version id.
  • get_bio_translationsSide-by-side translation workspace for a bio page: source vs target locale strings. Optional resource + resourceId.
  • export_bio_translations_csvExport bio translation rows as CSV for one or more targetLocales.
  • import_bio_translations_csvImport translated CSV rows into a bio page (csvText body). Optional targetLocales filter.
  • generate_bio_legal_policiesAuto-generate privacy policy and cookie policy markdown for a bio page from its tracking/cookie config, with optional businessName and contactEmail.
  • get_workspace_bio_analyticsOverview analytics across all bio pages in personal or company scope.
Sites92
  • list_sitesList Sites websites for the personal or company workspace (optional companyId).
  • get_siteFetch a site by id including status, tenantSlug, publicUrl, liveVersion, and custom domain.
  • create_siteCreate a new Sites website with title, optional companyId, and optional templateId from list_site_templates.
  • update_siteUpdate site title, tenantSlug, allowCustomSlug, trackingConfig, or cookiePolicy.
  • delete_sitePermanently delete a site and its versions.
  • list_site_templatesList starter templates available when creating a site.
  • list_site_versionsList draft and published versions for a site (includes blocks).
  • create_site_versionCreate a new site version with optional theme, pages, pageMeta, and blocks.
  • get_site_versionFetch a Sites version with theme, pages, pageMeta sections, and chrome blocks. Omit versionId for the latest matching locale draft.
  • update_site_versionSave a Sites draft in place with theme, pages, pageMeta (sections), and chrome blocks. Supports responsive, motion, effects, interactions, and canvas styles.frame place/resize.
  • delete_site_versionDelete a site version (cannot delete the last remaining version).
  • publish_site_versionPublish a specific version id as the live site.
  • get_site_blocksReturn chrome blocks for a site version; optional pagePath filter. Prefer get_site_version for full layout.
  • replace_site_blocksReplace chrome blocks for a site version (hero, nav, footer). For section content use update_site_version.
  • list_site_collectionsList structured CMS collections (and fields) for a Site. Blog remains separate.
  • create_site_collectionCreate a CMS collection with name, slug, listPath, and detailPath (must include [slug]).
  • get_site_collectionFetch one collection with fields and item count.
  • update_site_collectionUpdate collection name, slug, listPath, or detailPath.
  • delete_site_collectionDelete a collection and its items.
  • list_site_collection_itemsList collection items; optional status filter DRAFT or PUBLISHED.
  • create_site_collection_itemCreate a draft or published collection item. Bind on templates with {{item.field}} or cmsBindings after adding list/detail paths to pages[].
  • get_site_collection_itemFetch one collection item by id.
  • update_site_collection_itemUpdate item slug, status, or data fields.
  • delete_site_collection_itemDelete a collection item.
  • create_site_collection_fieldAdd a field to a collection (key, label, type, required).
  • update_site_collection_fieldUpdate a collection field definition.
  • delete_site_collection_fieldRemove a field from a collection.
  • list_site_componentsList reusable SiteComponent library entries for the workspace.
  • get_site_componentFetch one SiteComponent with variants.
  • create_site_componentCreate a component from section JSON or explicit variants.
  • update_site_componentUpdate component name or variants.
  • delete_site_componentDelete a SiteComponent from the library.
  • create_site_component_from_sectionSnapshot a pageMeta section into a new reusable SiteComponent.
  • insert_site_componentCopy-on-insert: returns section JSON for a variant. Merge into pageMeta.sections via update_site_version.
  • list_site_blog_categoriesList blog categories for a site (optional locale).
  • create_site_blog_categoryCreate a blog category on a site.
  • update_site_blog_categoryUpdate a site blog category name or slug.
  • delete_site_blog_categoryDelete a site blog category.
  • list_site_blog_postsList blog posts for a site; filter by locale, status, or categoryId.
  • get_site_blog_postFetch one site blog post.
  • create_site_blog_postCreate a site blog post (title, contentHtml, SEO fields, status).
  • update_site_blog_postUpdate a site blog post fields or publish status.
  • delete_site_blog_postDelete a site blog post.
  • get_site_booking_settingsFetch appointment booking settings for a site (timezone, deposits, calendar).
  • update_site_booking_settingsUpdate site booking timezone, notice windows, calendar sync, and deposit processor.
  • list_site_booking_servicesList bookable services for a site.
  • get_site_booking_serviceFetch one booking service.
  • create_site_booking_serviceCreate a bookable service with duration, capacity, and optional deposit.
  • update_site_booking_serviceUpdate a booking service.
  • delete_site_booking_serviceDelete a booking service.
  • list_site_booking_availability_rulesList weekly and date-override availability rules for site booking.
  • create_site_booking_availability_ruleCreate a weekly or date_override availability (or blackout) rule.
  • update_site_booking_availability_ruleUpdate an availability rule.
  • delete_site_booking_availability_ruleDelete an availability rule.
  • list_site_booking_appointmentsList upcoming or past appointments for a site.
  • get_site_booking_appointmentFetch one appointment.
  • update_site_booking_appointmentMark an appointment no_show.
  • cancel_site_booking_appointmentCancel an appointment.
  • list_site_formsList first-class form definitions for a site (name + config). Use form id as translate resourceId when resource is form.
  • get_site_formFetch one site form by id.
  • create_site_formCreate a site form with optional name and contact-form config JSON.
  • update_site_formUpdate a site form name and/or config.
  • delete_site_formDelete a site form definition.
  • list_site_form_submissionsList contact form submissions for a site; optional blockId and export format.
  • translate_site_contentAI-translate, copy, or manually save locale strings for a site resource (page_version, blog_post, blog_category, form, booking_service, commerce_product). AI mode uses Orbit AI credits. For pages, resourceId is the version id.
  • get_site_translationsSide-by-side translation workspace for a site: source vs target locale strings. Optional resource + resourceId to focus one entity.
  • export_site_translations_csvExport site translation rows as CSV for one or more targetLocales.
  • import_site_translations_csvImport translated CSV rows into a site (csvText body). Optional targetLocales filter.
  • list_site_commentsList collaboration comments on a site; optional pagePath and includeResolved.
  • create_site_commentAdd a PAGE/SECTION/BLOCK comment or reply (parentId).
  • update_site_commentEdit comment body or set resolved true/false.
  • delete_site_commentDelete a collaboration comment.
  • list_site_branchesList preview branches for a site.
  • get_site_branchFetch a branch and its tipVersionId.
  • create_site_branchBranch from live or sourceVersionId into an editable tip version.
  • update_site_branchRename a branch or point tipVersionId at another version.
  • delete_site_branchDelete a branch record.
  • merge_site_branchMerge branch tip into a new draft version (does not publish live).
  • get_site_domainFetch custom domain status and DNS guidance (company workspaces only).
  • set_site_domainAttach a custom domain to a company site.
  • verify_site_domainRe-check Cloudflare SaaS hostname verification for the site domain.
  • delete_site_domainDetach the custom domain from a site.
  • get_site_seo_auditRun SEO checklist on latest or specified version (titles, meta, redirects).
  • get_site_analyticsPer-site visits, pageviews, link clicks, and funnel (optional from/to).
  • get_workspace_site_analyticsRoll up Sites analytics for personal or company scope (optional companyId, from/to).
  • upgrade_bio_to_siteCreate a Site from a bio page snapshot; optional slimBio to LIB-only on the bio.
  • list_site_theme_packagesList first-party and workspace Sites theme packages (optional companyId, source).
  • upload_site_theme_packageUpload a workspace theme package via zipBase64 or JSON package body (links:write).
  • install_site_theme_packageCopy-install a theme package into a site version (mode theme|full). Overwrites draft layout in full mode.
  • export_site_theme_packageExport a site version as a theme package zip (binary response).
  • get_site_theme_gitShow GitHub theme source link and last sync status for a site.
  • sync_site_theme_gitPull the linked GitHub theme into the draft (optional publish).
Campaigns5
  • list_campaignsList campaigns for personal or company scope with optional brand and click totals filters.
  • get_campaignFetch one campaign by id including counts and brand metadata.
  • create_campaignCreate a campaign with name and optional company, brand, destination, UTM, and dynamic link settings.
  • update_campaignUpdate a campaign by campaignId. Editable fields: name, description, defaultDestinationUrl, dynamicSourceEnabled, dynamicLinkMode, utmDefaults, brandId.
  • delete_campaignPermanently delete a campaign by campaignId.
Content planning8
  • get_content_planning_boardFetch the company content pipeline board and work items. Use view kanban for /content/plan column order, list for /content/list sorting, or timeline for /content/timeline due-date ranges. Requires company workspace and contentPlanning feature flag. Filters: campaignId, brandId, stage slug/id, tag, assigneeUserId, type (POST|LINK|BIO_UPDATE), q. Timeline view accepts optional from/to ISO dates (defaults to current month through two months ahead).
  • create_content_work_itemAdd a card to the content planning pipeline (Kanban). Requires companyId. Optional stageId, type (POST|LINK|BIO_UPDATE), title, description, campaignId, brandId, assigneeUserId, startDate, endDate, dueDate, linked postId/linkId/bioPageId, and tags.
  • update_content_work_itemUpdate a planning card by workItemId and companyId. Editable fields match create_content_work_item plus stageId and position.
  • delete_content_work_itemPermanently delete a planning card by workItemId and companyId.
  • move_content_work_itemMove a planning card to another pipeline stage (Kanban column). Requires workItemId, companyId, stageId; optional position within the column.
  • add_content_work_item_tagAdd a tag label to a planning card. Requires workItemId, companyId, and tag.
  • remove_content_work_item_tagRemove a tag from a planning card. Requires workItemId, companyId, and tag.
  • reorder_content_planning_stagesReorder or rename Kanban pipeline stages. Requires content_planning:admin. Pass companyId, boardId, and stages array with id plus optional position and name.
Automations8
  • list_automationsList automation flows for personal or company scope.
  • get_automationFetch one automation by id including recent runs and nodes.
  • create_automationCreate an automation with name and optional description or company scope.
  • update_automationUpdate automation fields such as name, description, status, or viewport coordinates.
  • list_automation_runsList run history for a specific automation id.
  • run_automationTrigger a manual run for an automation with optional input payload.
  • create_automation_nodeAdd a step to an automation (kind, label, x, y required) with optional visual and config fields.
  • create_automation_edgeConnect two automation steps with a link between them.
Approval flows8
  • list_approval_flowsList approval flows for a company (companyId required).
  • get_approval_flowFetch one approval flow by id including nodes and edges.
  • create_approval_flowCreate a company approval flow with name, optional description, and optional default flag.
  • update_approval_flowUpdate approval flow fields such as name, description, status, and default flag.
  • delete_approval_flowDelete an approval flow by id.
  • test_approval_flowSimulate a flow test run with optional dummy post fields and get step and notification results.
  • post_approval_actionPerform post approval actions (approve, reject, request_changes, reassign, override) on post tasks.
  • list_pending_approval_tasksList every PENDING approval task across a company's posts (one row per task, with post title/content/platforms and the assigned role or user). Requires companyId. Renders as an interactive approval queue card with Approve / Reject / Request changes buttons wired to post_approval_action.
AI skill documents6
  • list_skill_documentsList Markdown skill documents for the current user or a specific brand (provide both companyId and brandId for brand scope). Returns id, slug, title, sortOrder.
  • get_skill_documentFetch a single skill document by id, including the full Markdown body. Optionally scope to a brand with companyId + brandId.
  • create_skill_documentCreate a new Markdown skill document for the user or a brand (provide both companyId and brandId for brand scope). Use list_skill_templates to get ready-made starting content.
  • update_skill_documentUpdate an existing skill document's title, Markdown body, slug, or sortOrder by id.
  • delete_skill_documentDelete a skill document by id. Optionally scope to a brand with companyId + brandId.
  • list_skill_templatesList ready-made Markdown templates — brand voice, Instagram strategy, LinkedIn strategy, content calendar, campaign planner, and hashtag strategy. Copy a template body into create_skill_document to add it to a workspace.
Media library7
  • upload_mediaStore an image in the media library by passing its content as a base64-encoded string (fileData). Requires fileName and mimeType (must be image/*). The file is stored securely in S3 and automatically processed. Returns the stored file id and a signed view URL. Use when the user sends an image directly in the conversation.
  • upload_media_from_urlFetch a public image URL and store it in the media library. Requires url (must resolve to an image). Optional fileName and companyId. Returns the stored file id and a signed view URL.
  • generate_imageGenerate a new image from a text prompt and save it to the media library. Requires prompt. Optional fileName, companyId, provider (openai or gemini), and size (1024x1024, 1536x1024, or 1024x1536). Returns the stored file id and signed viewUrl.
  • list_mediaReturns the 25 most recent images and videos from the media library as an interactive picker with inline previews. Images are shown directly; videos are shown with their thumbnail frame. Each item includes fileName, id, mimeType, sizeBytes, and duration (for videos). Call this whenever the user needs to choose a media file. Optional filters: companyId, q (filename search), tag, page.
  • get_mediaFetch a single library file by id, including a signed view URL, processing status, and cached aiAnalysis when present.
  • analyze_mediaRun or fetch AI analysis for a library image, video, or audio file (vision summary, OCR, transcript, optional suggestedCaption). Cache-first unless force=true. Costs AI credits. Call before drafting captions from a file.
  • delete_mediaPermanently delete a library file by id. The file is removed from S3 and the account.
Companies & brands9
  • list_companiesList all companies the authenticated user belongs to, with role and member counts. Call this first to discover available companyId values.
  • get_companyFetch a single company by id including brand count, member count, and subscription plan.
  • create_companyCreate a new company workspace with a name and unique slug. The authenticated user becomes the owner.
  • update_companyUpdate a company's name or other profile fields by companyId.
  • list_brandsList all brands for a company by companyId. Returns id, name, slug, isArchived, and logo. Call before scoping posts, campaigns, or skill documents to a brand.
  • get_brandFetch a single brand by companyId and brandId including guidelines and logo.
  • create_brandCreate a new brand inside a company by companyId. Requires a name; slug is auto-derived.
  • update_brandUpdate a brand's name, guidelines, or archive status by companyId and brandId.
  • list_company_membersList members of a company by companyId. Returns user name, email, role, and brand access. Useful for approval flow setup.
Workspace notes5
  • list_notesList workspace notes for personal or company scope. Optional companyId to filter to a company workspace.
  • get_noteFetch a single workspace note by noteId including full body text.
  • create_noteCreate a markdown workspace note with title and body. Optional companyId and visibility (PRIVATE or COMPANY).
  • update_noteUpdate a workspace note's title, body, or visibility by noteId.
  • delete_notePermanently delete a workspace note by noteId.
People12
  • list_peopleList People CRM contacts; filter by companyId, brandId, q, status, tag, limit, cursor.
  • get_personFetch a person with identities, tags, and interaction counts.
  • create_personCreate a People CRM contact with optional name, email, phone, status, and brand.
  • update_personUpdate person fields (name, email, phone, status, brand).
  • delete_personDelete a person from the workspace CRM.
  • get_person_timelineRecent forms, bookings, and social activity linked to a person.
  • search_people_by_handleFind a person by social platform + username.
  • list_workspace_person_tagsAll person tag names in the workspace for autocomplete.
  • list_person_notesList internal notes on a person.
  • create_person_noteAdd an internal note to a person.
  • add_person_tagAttach a tag by name to a person (find-or-create).
  • remove_person_tagRemove a tag assignment from a person by tagId.
Community12
  • list_community_commentsMixed community inbox comments across platforms. Returns postId, targetId, and platformCommentId needed for replies. Filter by company, brand, platform, status, read state, dates.
  • mark_community_comment_readSet isRead true/false on a synced platform comment.
  • set_community_comment_statusSet comment triage status: OPEN, IN_PROGRESS, RESOLVED, or ARCHIVED.
  • reply_to_community_commentPost a platform reply. Requires postId, targetId, platformCommentId (from list_community_comments), and text.
  • sync_communityOn-demand soft sync for community comments and X DM backfill. Optional force.
  • list_instagram_dmsList Instagram DM threads for the workspace.
  • get_instagram_dmFetch one Instagram DM thread and messages.
  • reply_instagram_dmSend a text reply on an Instagram DM thread.
  • list_x_dmsList X (Twitter) DM threads when DM inbox is enabled on the account.
  • get_x_dmFetch one X DM thread and messages.
  • reply_x_dmSend a text reply on an X DM thread.
  • get_social_analytics_overviewWorkspace social KPI overview (engagement, byPlatform, audience). Optional companyId, brandId, from/to or days.
Search1
  • searchGlobal search across posts, comments, campaigns, notes, community comments, short links, bio pages, sites, people, media library files, and automations. Optional type filter: posts | comments | campaigns | notes | community | links | bio | sites | people | media | automations. Use for broad 'find me something' queries.

Connect in minutes

Claude Desktop

  1. Open your Styrar dashboard → Settings → API Keys → Generate new key
  2. Open Claude Desktop → Settings → Developer → Edit config
  3. Add the Styrar MCP server block below to `claude_desktop_config.json`
  4. Restart Claude Desktop. Ask Claude: "What posts do I have scheduled this week?"
{
  "mcpServers": {
    "styrar": {
      "type": "streamable-http",
      "url": "https://mcp.styrar.com",
      "headers": {
        "Authorization": "Bearer your_api_key_here"
      }
    }
  }
}

Cursor / HTTP remote

  1. Open your Styrar dashboard → Settings → API Keys → Generate new key
  2. In Cursor Settings → MCP → Add server with the URL and Authorization header below
  3. Cursor will auto-discover available tools. Start prompting.
  • URL: https://mcp.styrar.com
  • Header: Authorization: Bearer your_api_key_here

Example prompts

  • Plan a product launch campaign and seed draft posts, short links, and a site update
  • Research competitors online, then outline a two-week content calendar
  • What are my top-performing posts from last month?
  • Create a draft post for Instagram announcing our new product launch
  • How many clicks did my styrar.link/launch link get this week?
  • Schedule a LinkedIn post for tomorrow at 9am

What Orbit and MCP unlock for your team

Orbit Voice built in

Push-to-talk or start a live voice session on web and mobile. Brainstorm campaigns, dictate briefs, and get spoken replies without leaving the workspace.

AI Campaign Planner

Describe a brief, optionally research online, then seed a reviewable plan of draft posts, short links, sites, and bio updates. You choose draft, schedule, or publish commit modes.

Native MCP server included

No plugins or third-party connectors. Styrar exposes a standards-compliant MCP endpoint you connect to with an API key or OAuth — available on Team and Agency plans.

Permissions are inherited automatically

Orbit and connected AI tools operate within the exact roles and capabilities you have set. They cannot publish, delete, or access anything you have not already allowed.

Get started in under five minutes

Use Orbit in the dashboard or mobile app immediately. For Claude, Cursor, and other clients, the Styrar MCP server runs over HTTP and authenticates via Bearer token or OAuth. Generate an API key under Settings - API Keys, paste the server URL and token into your AI client, and you are ready to go.

  • Open OrbitStart chatting or tap the mic for Orbit Voice. Prefer draft or schedule modes until you are ready to publish.
  • Generate an API keyOpen Settings - API Keys in your Styrar dashboard and create a new key with the scopes you need for MCP clients.
  • Add the MCP server to your clientPaste the Styrar MCP endpoint URL and your API key into Claude Desktop, Cursor, or your preferred MCP client configuration.

What your AI can do through Orbit and MCP

Orbit and the Styrar MCP server share the same tool catalog across scheduling, analytics, campaign planning, and link management — with the same guardrails as the dashboard.

  • Plan full-funnel campaignsResearch a brief online, then seed draft posts, short links, sites, and bio updates with stable plan refs you can review in the campaign hub.
  • Schedule and draft postsAsk Orbit or your AI to create a scheduled post for one or more platforms, set a publish time, and queue it — all without opening another tab.
  • Pull analytics and performance dataRetrieve reach, engagement, link click counts, and follower growth for any connected account or date range.
  • Create and manage short linksGenerate branded short links, look up click analytics, and organize links into campaigns through natural language.
  • Query connected accountsList your connected social accounts, check posting limits, or ask which platforms are active on the current workspace.

Teams using AI with Styrar

Marketers with Orbit Voice

Brainstorm a campaign out loud, seed draft posts and links, then refine the plan in the campaign hub before publishing.

Developers in Cursor

Draft posts, pull analytics, and manage links from the IDE via the MCP server and API key.

Operators in Claude

Ask your assistant to queue content, plan a campaign, or summarize performance without opening another tab.

Agencies

Standardize repeatable social tasks through AI tools while RBAC keeps client workspaces separate.

Related solutions

Orbit AI and MCP FAQs

What is Orbit AI?

Orbit is the built-in assistant in Styrar. You can chat or use Orbit Voice to brainstorm, plan campaigns, research online, and draft posts, links, sites, and bio updates. It uses the same permissions as your signed-in user.

What is Orbit Voice?

Orbit Voice lets you talk to the assistant on web and mobile. Use push-to-talk for quick prompts, or start a live voice session for longer brainstorming. Optional speak-replies reads the final answer aloud. External voice control also works through ChatGPT or Claude when MCP is connected.

Can AI plan a full campaign?

Yes. The AI Campaign Planner can research a brief online, then seed a reviewable plan of draft posts, short links, sites, and bio updates. You choose draft, schedule, or publish commit modes and refine everything before it goes live.

What is MCP and how does Styrar use it?

Model Context Protocol (MCP) is an open standard that lets AI assistants call external tools securely. Styrar implements an MCP server so AI clients like Claude and Cursor can schedule posts, read analytics, plan campaigns, and manage links in your workspace. You authenticate with an API key or OAuth — no plugins or middleware required.

How do I connect Claude Desktop to Styrar?

Generate an API key under Settings - API Keys in Styrar, then add the Styrar MCP server URL and your key to the Claude Desktop MCP server configuration (claude_desktop_config.json). Restart Claude Desktop and your assistant will have access to your Styrar workspace tools immediately.

How do I connect Cursor to Styrar?

In Cursor, open Settings - MCP and add a new server entry with the Styrar MCP endpoint URL and your API key as the Bearer token. Once saved, Cursor Composer can call Styrar tools directly — scheduling posts, pulling stats, or managing links without leaving the editor.

Can I connect n8n or other automation tools?

Yes. n8n supports MCP servers natively through its MCP client node. Configure the Styrar MCP endpoint and your API key in the n8n credential, then use it in any workflow to schedule posts, query analytics, or trigger social actions as part of a larger automation.

Does my AI bypass approval workflows?

No. AI actions run through the same permission rails and approval flows as the dashboard. If your workspace requires post approval before publishing, an AI-initiated post will enter the same approval queue. Roles and capabilities are inherited from your workspace settings automatically.

Is the MCP connection secure?

Yes. All MCP traffic runs over HTTPS. Authentication uses either a dashboard API key (Bearer token) or OAuth consent, and you can revoke access at any time from Settings - API Keys. The AI can only perform actions your key or OAuth scope permits.

What can my AI do through the Styrar MCP server?

Your AI can list and create posts, seed campaign plans with optional web research, manage short links, pull analytics, list social accounts, and search your workspace — matching the tools available to Orbit in the product.

Does the MCP integration work with ChatGPT?

Yes. Connect ChatGPT via MCP connectors in Settings → Integrations. Voice modes in ChatGPT can use the same Styrar tools when the connector is linked and the host allows tool use during voice.

Add Orbit AI to your social workflow

Start with Orbit Voice in Styrar, or connect Claude, Cursor, and other MCP tools. Takes about five minutes.