MCP

Connect AI clients to your workspace

Add Zanfia as an MCP server in Claude, Cursor, or any MCP-capable client and let it read and manage your workspace.

4 min readLast updated Oct 23, 2026

Zanfia exposes a hosted Model Context Protocol server. Add it to any MCP-capable AI client — Claude Code, Claude Desktop, Cursor, VS Code, Codex — and the assistant gets typed tools to read and act on your workspace: list products, write course lessons, create offers, post in your community, pull sales stats.

Server endpoint

The server runs at https://app.zanfia.com/mcp (Streamable HTTP transport).

Authentication

Two ways in, same tools either way:

  • OAuth (claude.ai, ChatGPT, Claude Code and other connector UIs) — add https://app.zanfia.com/mcp as a custom connector and the client walks you through a browser sign-in: Zanfia shows a consent screen (workspace, permissions, the app that is asking), you approve, done. No key to copy. The server implements OAuth 2.1 with PKCE, dynamic client registration and metadata discovery, so any spec-compliant MCP client connects without configuration.
  • API key (Cursor, VS Code, Codex, scripts) — create a scoped API key and send it as an Authorization: Bearer header.

Tool access follows the granted scopes either way — read tools need the matching *:read scope, write tools *:write. An OAuth connection is granted every scope the app asks for (all of them by default) and shows up as a token badged Connector under Integrations → API, MCP and CLI; delete it there to disconnect the app. Connections last 90 days, then the client asks you to sign in again.

Add it to your client

Plans and menu labels below are the providers' own, as they read on 23 October 2026; only the ChatGPT Plus line comes from our own check. Both apps rename menus often: if a label differs, follow the provider's help page linked in each paragraph.

claude.ai / Claude Desktop (custom connector): every Claude plan can add one: Free (one custom connector), Pro, Max, Team and Enterprise. On Team and Enterprise an owner first adds it in Organization settings → Connectors. Claude reads and makes changes through Zanfia's tools and asks before it uses a tool; click Allow always only for tools you trust to run unsupervised. Click path: Customize → Connectors → + Add → Add custom connector (or Add → Custom → Web), enter a name, paste https://app.zanfia.com/mcp and click Continue. Keep the sign-in settings Claude detects (if it asks for an OAuth client, choose Register automatically), click Continue, then Add and Connect, and approve access on the Zanfia consent screen. Source: Claude help on custom connectors.

ChatGPT (custom MCP server, web only): full MCP, writes included, is on ChatGPT Business, Enterprise and Edu; on Business only workspace admins and owners can add the server. Plus works too, writes included: we checked it on a Plus account on 22 October 2026. Free and Go have no custom MCP server. Plan details are on OpenAI's pricing page. Click path: Plugins → + → Add custom MCP server, enter a name, paste https://app.zanfia.com/mcp under Connection, choose OAuth for authentication, tick I understand and want to continue and click Create as a plugin, then finish the sign-in. Install the plugin, start a new chat, type @ and pick it. Source: OpenAI help on custom MCP servers.

No ChatGPT plan with MCP? The simplest path is the AI Assistant in your Zanfia panel: it works on your real data, makes small safe changes right away and asks you to approve anything customers would see (how approvals work). Or connect Claude: its free plan allows one custom connector.

Claude Code (OAuth, no key):

claude mcp add zanfia --transport http https://app.zanfia.com/mcp

Claude Code opens the browser for the consent screen on first use. With an API key instead:

Claude Code (API key):

claude mcp add zanfia --transport http https://app.zanfia.com/mcp \
  --header "Authorization: Bearer YOUR_API_KEY"

Cursor / VS Code / Claude Desktop (JSON MCP config):

{
  "mcpServers": {
    "zanfia": {
      "type": "http",
      "url": "https://app.zanfia.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

Codex (OpenAI Codex CLI) — add to ~/.codex/config.toml (or a project-scoped .codex/config.toml), with the API key exported as an environment variable:

[mcp_servers.zanfia]
url = "https://app.zanfia.com/mcp"
bearer_token_env_var = "ZANFIA_API_KEY"
export ZANFIA_API_KEY="YOUR_API_KEY"

You can also manage the entry from the terminal with the codex mcp subcommand (codex mcp list, codex mcp add, …) instead of editing the TOML by hand.

Available tools

The server (zanfia, version 0.42.0) exposes the full Workspace API surface as 443 tools, grouped below by area. Read tools require the matching *:read scope, write tools *:write. Pages, funnels-adjacent site settings and the storefront sit under the pages scope; communities, community events, members/roles/moderation and support tickets under communities; social media under social; everything else — products, offers, courses, media, clients, orders, campaigns, emails, stats, discounts, team and the rest — under products. A key without a scope simply does not see that scope's tools in tools/list.

AreaRead toolsWrite tools
Productslist-products · get-productcreate-product · update-product-info · update-product-status
Product settings (after-purchase, plans, images)get-after-purchase · count-plan-clientsupdate-after-purchase · set-product-images · update-product-plans · update-client-plan · backfill-plan-community-members
Appointments (events, consultations, services)get-appointment-config · list-consultation-bookings · list-consultation-clients-without-bookingupdate-event · update-consultation · update-service
Offers & priceslist-checkouts · get-checkout · list-product-pricescreate-checkout · update-checkout · publish-checkout · duplicate-checkout · delete-checkout · set-default-checkout · add-checkout-price · update-checkout-price · delete-checkout-price · reorder-checkout-prices
Order bumpslist-order-bumpscreate-order-bump · update-order-bump · delete-order-bump · attach-order-bump · detach-order-bump
One-time offers (OTO)list-oto-offers · get-oto-offercreate-oto-offer · update-oto-offer · delete-oto-offer
Courses & quizzesget-course-content · get-course-lesson · list-quiz-questions · get-course-transcripts · get-lesson-videoadd-course-module · update-course-module · delete-course-module · add-course-lesson · update-course-lesson · set-lesson-thumbnail · update-lesson-content · delete-course-lesson · set-course-lessons-status · reorder-course-modules · reorder-module-lessons · add-quiz-question · update-quiz-question · delete-quiz-question · reorder-quiz-questions · update-quiz-settings · update-lesson-video · generate-lesson-chapters · generate-lesson-moments · move-lesson
Downloadsget-downloads-contentupdate-downloads-content · add-download-files · remove-download-file · reorder-download-files
Newsletterslist-newsletter-issuescreate-newsletter-issue · save-newsletter-issue-draft · publish-newsletter-issue-draft · discard-newsletter-issue-draft · copy-newsletter-issues · update-newsletter-issue · delete-newsletter-issue · update-newsletter-settings
Knowledge baseslist-kb-articles · get-kb-articlecreate-kb-article · update-kb-article · delete-kb-article · add-kb-category · rename-kb-category · delete-kb-category · reorder-kb-tree
Media librarylist-media · get-media · list-media-folders · get-video-transcriptupdate-media-details · move-media · delete-media · create-media-folder · rename-media-folder · delete-media-folder · generate-image · import-image-from-url · transcribe-video
Pageslist-pages · get-page · list-page-templates · list-page-revisions · get-page-generation-status · get-page-checklist · get-page-guidecreate-page · generate-page · edit-page · update-page · publish-page · delete-page · set-main-page · restore-page-revision · activate-page-automations
Funnelslist-funnels · get-funnel · get-funnel-stats · list-funnel-templatescreate-funnel · create-funnel-from-template · create-funnel-from-pages · update-funnel · set-funnel-status · generate-funnel-step-page · delete-funnel
Brand profileslist-brand-profiles · get-brand-profilecreate-brand-profile · update-brand-profile · delete-brand-profile · extract-brand-from-url
Social medialist-social-accounts · list-social-posts · get-social-postcreate-social-post · schedule-social-post · publish-social-post
Communitieslist-communities · list-community-channels · list-channel-posts · search-community-posts · list-post-comments · list-channel-messages · get-community-updates · get-community-settings · list-community-groupscreate-community-post · update-community-post · pin-community-post · delete-community-post · create-post-comment · update-post-comment · delete-post-comment · send-channel-message · edit-channel-message · delete-channel-message · create-channel · update-channel · delete-channel · create-community-group · update-community-group · delete-community-group · move-community-node · update-community-settings
Community eventslist-community-eventscreate-community-event · update-community-event · delete-community-event
Community members, roles & moderationlist-community-members · list-community-roles · get-community-moderation-queuecreate-community-role · update-community-role · delete-community-role · reorder-community-roles · assign-member-roles · set-community-member-status · mute-community-member · resolve-community-moderation-report
Support ticketslist-support-ticket-queue · list-my-support-tickets · get-support-ticketcreate-support-ticket · add-support-ticket-message · update-support-ticket-status
Automationslist-automations · get-automation · list-automation-runsset-automation-status · retry-automation-run · test-run-automation · create-email-automation · create-welcome-email-automation · create-owner-notification-automation · create-sms-automation · copy-automation · update-automation-info · update-automation-delay · update-automation-email-step · publish-automation · delete-automation
Email campaigns & segmentslist-email-campaigns · get-email-campaign · list-campaign-recipients · list-campaign-links · list-audience-segments · preview-audience-segmentcreate-email-campaign · update-email-campaign · send-email-campaign · send-email-campaign-test · cancel-email-campaign · reschedule-email-campaign · delete-email-campaign · create-audience-segment · update-audience-segment · delete-audience-segment
SMS campaignslist-sms-campaigns · get-sms-campaign · list-sms-campaign-recipientscreate-sms-campaign · update-sms-campaign · send-sms-campaign · cancel-sms-campaign · delete-sms-campaign
Email templates (library)list-email-templates · get-email-templatecreate-email-template · update-email-template · duplicate-email-template · delete-email-template
Sending domain & sender footerget-sender-domainupdate-sender-postal-address
System emails & email brandinglist-system-emails · get-system-email · get-email-brandingupdate-system-email · edit-system-email-layout · reset-system-email · send-system-email-test · update-email-branding
Signup formslist-signup-forms · get-signup-form · list-signup-form-submissionscreate-signup-form · update-signup-form · delete-signup-form
Testimonialslist-testimonials · list-testimonial-formscreate-testimonial · update-testimonial · delete-testimonial · create-testimonial-form · update-testimonial-form · delete-testimonial-form · request-testimonial
Clients & orderslist-clients · get-client · list-client-product-accesses · list-bundled-access-clients · list-client-notes · get-client-email-log · list-client-tags · get-client-merge-preview · list-orders · get-order · list-email-delivery-problemscreate-client · update-client · change-client-email · add-client-note · import-contacts · merge-clients · grant-client-access · revoke-client-access · change-client-access-period · cancel-client-subscription · approve-manual-order · reject-manual-order · create-client-tag · update-client-tag · delete-client-tag · update-client-tags
Bulk client actions—bulk-revoke-product-access · bulk-change-access-period · bulk-revoke-filtered-access · bulk-delete-clients · delete-clients · set-clients-email-subscription · set-clients-sms-subscription
Client conversations (DMs)list-client-conversations · get-client-conversation · list-client-messagessend-client-message · edit-client-message · delete-client-message · toggle-client-message-reaction · mark-client-conversation-read · send-client-broadcast
Client emails (1:1)list-client-emailscreate-client-email-draft · update-client-email-draft · delete-client-email-draft · delete-client-email-drafts · send-client-email
Client deviceslist-client-devicesrevoke-client-device · reset-client-devices
Subscriptionslist-failed-subscription-payments · list-upcoming-renewals · list-ending-subscriptionsretry-subscription-payment
Checkout recoverypreview-checkout-recovery-emailsend-checkout-recovery-email
Statsget-stats-overview · get-recurring-report · get-mrr-history · get-funnel-report · get-traffic-report · get-sessions-report · get-product-stats · get-course-analytics · get-subscriptions-by-month · get-subscription-churn-by-month · get-subscription-cohort-stats—
Checkout settings & consentsget-checkout-settings · list-checkout-consentsupdate-checkout-settings · upsert-checkout-consent
Integrations (email clients · Meta CAPI · payments · invoicing · SMS)get-integrations-overviewconnect-email-client · disconnect-email-client · refresh-email-client-lists · connect-meta-conversion-api · disconnect-meta-conversion-api · configure-manual-payment · disconnect-manual-payment · connect-invoices-client · disconnect-invoices-client · connect-payment-gateway · disconnect-payment-gateway · set-tpay-recurring-blik · connect-twilio · disconnect-twilio · connect-smsapi · disconnect-smsapi · refresh-smsapi-senders · set-default-smsapi-sender · set-default-sms-provider (integrations:read / integrations:write; OAuth providers and credential gateways stay dashboard-only)
Conversion trackinglist-conversion-events · get-conversion-tracking-health · list-conversion-tracking-integrationsupsert-conversion-tracking-integration · remove-conversion-tracking-integration · set-default-conversion-tracking (GA4 / GTM / TikTok / X / LinkedIn / Clarity / Hotjar; Meta stays dashboard-only)
Discountslist-discountscreate-discount · update-discount · archive-discount · delete-discount · toggle-discount-visibility
Certificateslist-certificates · list-certificate-templates · get-certificate-templateissue-certificates · revoke-certificate · reinstate-certificate · delete-certificate · resend-certificate-email · create-certificate-template · update-certificate-template · delete-certificate-template
Referral programslist-referral-programs · get-referral-programcreate-referral-program · update-referral-program · archive-referral-program · enroll-referral-participant · enroll-all-referral-clients · resolve-referral-reward · retry-referral-reward-delivery
Meta Adsget-meta-ads-performance · list-meta-ad-directory · list-meta-campaigns · list-meta-ad-sets · get-meta-ad-set · list-meta-ads · get-meta-ad-creativesync-meta-insights · update-meta-campaign · update-meta-ad-set · create-meta-ad · update-meta-ad · update-meta-ad-creative
Site settingsget-site-settings · verify-site-domains · diagnose-domainupdate-site-general · update-site-theme · update-site-branding · update-site-main-page · update-site-privacy · update-client-area · update-site-communication · update-customer-access-policy · activate-site · update-site-slug · update-site-domains
Library sectionslist-library-sectionscreate-library-section · rename-library-section · reorder-library-sections · move-library-products · delete-library-section
Storefrontget-storefrontupdate-storefront
Legal documentsget-legal-documentsupdate-legal-documents
Teamlist-workspace-members · list-workspace-invitationsinvite-workspace-member · resend-workspace-invitation · revoke-workspace-invitation · change-workspace-member-role · remove-workspace-member
Workspace settingsget-workspace-settingsupdate-workspace-settings

Destructive or irreversible tools say so in their descriptions and ask the assistant to confirm with you first — deletes, access revocation, bulk client actions, anything that sends real email (campaigns, personal client emails via send-client-email, client broadcasts, checkout-recovery emails, team invitations, system-email tests), SMS campaigns (send-sms-campaign sends real text messages billed to your own SMS provider account), bulk changes to mailing / SMS subscription (marketing consent — subscribing requires the consent reason), publishing an automation (publish-automation makes the workflow live: from then on real e-mails, text messages and webhooks fire for real customers; editing a delay or an e-mail step of an already published automation goes live right away too), deleting a client tag (delete-client-tag takes the tag off every client, and segments or automations that use it are not updated), and site-wide changes such as update-site-slug or update-site-domains. A well-behaved assistant will quote the exact target and wait for your go-ahead; several tools (e.g. merge-clients, send-email-campaign, bulk-revoke-filtered-access) additionally require a preview or count step before the write is accepted. File and video uploads are deliberately not MCP tools — binary payloads don't fit tool calls; use the CLI or API for uploads, then reference the media id from MCP. An image that is already online can be saved with import-image-from-url (the image file's own public address; JPEG, PNG, GIF, WebP or AVIF up to 20 MB; private and local network addresses are refused).

Scope the key to the job

The assistant can do everything its key allows. Give a read-only key (products:read, communities:read) to assistants that only analyze and summarize, and reserve write scopes for assistants you actively supervise.

Instructions, prompts and resources

Besides tools, the server gives the client three things that let your own agent write pages without spending Zanfia AI credits:

ItemWhat it holds
Server instructionsSent on connect: general rules (ids only from list-* / get-* calls, confirm before anything that publishes, sends or deletes) and, with pages:read, the page-writing rules.
get-page-guide toolThe zanfia-funnels skill: workflow, page contract (the data-zanfia-* markup for signup forms, buy buttons, on-page checkout and one-time offers) and the tools table. templates (signup, welcome, sales, oto, thank-you) appends starter templates. pages:read, no credits.
Promptsnew-page (argument brief), new-funnel (brief), rework-page (page, change). They walk the agent through the guide, a preview, a draft via create-page / update-page, and publishing only after the user's go. Need pages:write.
Resourceszanfia://page-guide (Markdown) and zanfia://page-templates/[name].html for each template. pages:read.

Walkthrough for creators: Build pages with your own Claude or ChatGPT.

Community members

The same endpoint also accepts community-member API keys (created by a member of your community in the member platform under Settings → AI agents). A member key gets a separate, member-scoped tool set (server zanfia-member, 23 tools) — the MCP twin of the Community API: listing their communities and channels, reading and searching posts, comments and chat, writing posts/comments/messages as themselves (own content only), and raising and tracking their support tickets. None of the workspace tools above are available to member keys.

Member read tools: list-my-communities · list-community-channels · list-channel-posts · search-community-posts · list-post-comments · list-channel-messages · get-community-updates · get-my-notifications · list-my-support-tickets · get-support-ticket. Member write tools: create-community-post · update-community-post · delete-community-post · create-post-comment · update-post-comment · delete-post-comment · send-channel-message · edit-channel-message · delete-channel-message · mark-notifications-read · create-support-ticket · add-support-ticket-message · update-support-ticket-status.

For agents that keep an eye on a community, the get-community-updates tool (also GET /v1/communities/:communityId/updates?since=<ISO> on the Community API) returns everything new — posts, comments, and chat — across the caller's readable channels in one call: pass the returned nextSince as the next since instead of polling each channel separately. To know when someone talks to you (replies, @-mentions, reactions, DMs), member keys also get get-my-notifications and mark-notifications-read — the member's own notification inbox, shared with the platform bell.

A member can also create a read-only key (pick Read-only when generating it, or zanfia join / zanfia login --address with --read-only): it carries communities:read alone, tools/list shows only the read tools, the server instructions say the key is read-only, and a call to a write tool is refused with a message naming where a full-access key comes from.

Member requests are rate limited (per minute, per member — a 429 carries Retry-After), and content creates accept a clientRequestId UUID so retries never duplicate a post, comment, or message.

Member access is off by default: it works only in communities where the creator has enabled member API access in the community settings, and flipping the setting off immediately locks out already-issued member keys.

MCP, CLI, or raw API?

  • MCP — best when a person chats with an AI client and wants it to act on the workspace directly.
  • CLI — best for terminal-based agents, scripts, and CI; also the route for file and video uploads, which MCP deliberately doesn't do.
  • Raw API — best for your own integrations and backends.

All three are the same underlying platform with the same permissions model, so you can mix them freely.

Was this article helpful?

Related articles

Spotted something off? Tell us at support@zanfia.com.