> ## Documentation Index
> Fetch the complete documentation index at: https://help.kajabi.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Connect Kajabi to Claude or ChatGPT

> Set up the Kajabi MCP server to manage Courses, Offers, Contacts, and more from Claude, ChatGPT, and other AI tools.

**Kajabi MCP** is a Model Context Protocol server that connects your Kajabi account to AI tools like Claude and ChatGPT. Once connected, you can ask the AI to list Courses, draft Email Broadcasts, search Contacts, create Offers, and more, all from a single conversation.

## How it works

Using Kajabi MCP follows three steps:

1. **Ask:** Describe what you want in plain language.
2. **Build:** Kajabi MCP constructs pages, emails, Offers, or other content based on your request, usually in under a minute.
3. **Review:** Open the draft in the Kajabi admin UI to make final edits and publish.

For example, instead of building pricing variations, drafting an announcement email, and updating a landing page across three separate tools, you can ask:

*"Create a 30% off Offer for my Photography Fundamentals Course running next Tuesday, draft an email broadcast announcing the sale, and update the Course landing page to mention the discount."*

Kajabi MCP creates the draft Offer, broadcast, and landing page edits in seconds. Open each in the Kajabi admin UI to fine-tune the copy and publish when ready.

## What's possible

**Browse and inspect** — List and fetch Sites, Courses, Products, Offers, Contacts, Forms, Landing Pages, Blog posts, Email Broadcasts and Sequences, Coaching products, and themes. Search Contacts and Products by text.

**Create drafts** — New Blog posts, Courses (with modules and lessons), Coaching products, Offers with pricing, Landing Pages, Email Broadcasts, and Email Sequences with scheduled emails.

**Edit existing content** — Update Course structure, Coaching metadata, Blog post body/SEO/tags, Form fields and settings, and theme content.

**See who's who** — Contact profiles with tags, purchases, and access; tag and segment lists.

**What it won't do:** Take actions on behalf of customers, process payments, send email blasts, surface analytics, or touch account settings.

## Before you begin

**Server URL:** [https://mcp.kajabi.com/mcp](https://mcp.kajabi.com/mcp)

Before you start: log into the correct Kajabi account in your browser — the OAuth approval uses that session.

## Choose what your AI tool can do

When you authorize access to Kajabi, you choose which actions your AI tool can take on your behalf. Each permission can be turned on or off independently, so you can grant only what you need.

| **Permission**                                                                 | **What it allows**                                                                                              |
| :----------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------- |
| **Read your Kajabi data**                                                      | View contacts, products, content, and analytics.                                                                |
| **Create and edit blog posts, landing pages, newsletters, forms, and courses** | Draft and update these content types.                                                                           |
| **Create and edit offers, products, coaching, and events**                     | Draft and update commerce and coaching items.                                                                   |
| **Create and edit contact tags and segments**                                  | Organize contacts with tags and saved segments.                                                                 |
| **Send DMs, post in community channels, and edit community settings**          | Take community actions on your behalf.                                                                          |
| **Create and edit broadcasts, sequences, and newsletter posts**                | Draft and update email content.                                                                                 |
| **Publish or unpublish content**                                               | Change the publish state of content. Only takes effect when paired with a **Create and edit** permission above. |
| **Edit theme content, custom JavaScript, and custom CSS**                      | Update theme code and styling. Changes take effect immediately on published pages.                              |
| **List and add account users**                                                 | View the users on your account and add new ones. Turned off by default.                                         |

<Check>
  **Important:** Editing theme code and adding account users can make changes that are hard to undo. Only grant these to an AI tool you trust.
</Check>

## Claude (Web — [claude.ai](http://claude.ai))

Requires a paid Claude plan (Pro, Max, Team, or Enterprise).

1. Go to [claude.ai](http://claude.ai) and sign in.
2. Click your profile **→ Settings → Connectors**.
3. Click the **Add custom connector** button at the bottom of the page.
4. Enter:

* **Name:** Kajabi
* **URL:** [https://mcp.kajabi.com/mcp](https://mcp.kajabi.com/mcp)

5. Click **Add**, then approve the Kajabi consent screen in your browser.
6. In a new chat, enable the **Kajabi** connector via the **tools/attachments** menu.

**Verify:** Ask *"List my Kajabi sites."*

## Claude Desktop

1. Open **Claude Desktop**.
2. Go to **Settings → Connectors → Add custom Connector**.
3. Enter:

* **Name:** Kajabi
* **URL:** [https://mcp.kajabi.com/mcp](https://mcp.kajabi.com/mcp)

4. Click **Add** and approve the consent screen in your browser.

**Verify:** Start a new conversation and ask *"List my Kajabi sites."*

## Claude Code (CLI)

`claude mcp add kajabi --transport http https://mcp.kajabi.com/mcp`

Claude Code opens your browser for OAuth automatically. Approve the consent screen and you're connected.

**Verify:**

`> List my Kajabi sites`

## ChatGPT

Custom MCP connectors require **Developer Mode**, which exposes the full MCP tool surface (read + write). Only enable it for servers you trust — Kajabi is yours.

### Enable Developer Mode (one-time)

1. Open ChatGPT → **Settings → Connectors → Advanced**.
2. Toggle **Developer mode** on.
3. Read and accept the warning about write-enabled tools.

### Add the Kajabi connector

1. Open **Settings → Apps → Advanced settings**, click **Create** app.
2. Enter:

* **Name:** Kajabi
* **MCP Server URL:** [https://mcp.kajabi.com/mcp](https://mcp.kajabi.com/mcp)
* **Authentication:** OAuth

3. Save, then approve the Kajabi consent screen in your browser.

### Use it in a chat

1. Start a new conversation.
2. Click the **+** icon (or **Tools**) → **Developer mode** → enable **Kajabi**.
3. Ask your question.

**Verify:** *"List my Kajabi sites."*

## Cursor

1. Open Cursor → **Settings → MCP → Add new MCP server**.
2. Type: Remote (HTTP) • Name: Kajabi • URL: [https://mcp.kajabi.com/mcp](https://mcp.kajabi.com/mcp)
3. Approve in browser.

## Tips

* **Always start with kjb\_list\_sites** — most tools need a site\_id.
* **Writes may create drafts or publish content.** If drafting the content is an option in Kajabi, then the MCP can create a draft for you. This is true for content like Offers, Pages, Emails, etc. If it is not possible to create a draft in Kajabi, then the MCP will publish the content you request. This is true for content like Community Posts and Forms.
* **Tokens refresh automatically.** If you hit "Unauthorized," remove the connector and re-add it.

## Troubleshooting

| **Issue**                                  | **Fix**                                                              |
| :----------------------------------------- | :------------------------------------------------------------------- |
| "I don't see any Kajabi tools"             | Confirm MCP is enabled on your account — reply and we'll check.      |
| ChatGPT: "Custom connectors not available" | Enable Developer Mode in Settings **→** Connectors **→** Advanced.   |
| Consent screen won't load / auth fails     | Log into the right Kajabi account in your browser first, then retry. |

## Full list of tools

| **Category**     | **Tool**                         | **What it does**                                                                                                                                                                    |
| :--------------- | :------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Core             | list\_sites                      | Lists all Kajabi sites the authenticated user can access. Call this first to discover site IDs. Each site row includes a community sub-object when the site has a Kajabi Community. |
| Core             | get\_site\_summary               | Returns a detailed summary of a site including settings, locale, contact info, and the site theme's active\_theme\_id.                                                              |
| Core             | ping                             | Smoke test — confirms the MCP server is running and reachable.                                                                                                                      |
| Blog             | create\_blog                     | Create the blog on a site. Required once before any blog posts can be created. Each site can have at most one blog.                                                                 |
| Blog             | list\_blog\_posts                | List blog posts with optional filtering by status (draft/published/scheduled) and tags. Paginated.                                                                                  |
| Blog             | get\_blog\_post                  | Get full HTML content, SEO metadata, tags, and timestamps.                                                                                                                          |
| Blog             | create\_blog\_post               | Create a draft blog post. Always created as a draft.                                                                                                                                |
| Blog             | update\_blog\_post               | Update content, tags, SEO metadata, or publish state. Pass published\_at to publish now or schedule; pass null to unpublish.                                                        |
| Courses          | create\_course                   | Create a course. Supports evergreen (self-paced) and cohort (scheduled).                                                                                                            |
| Courses          | get\_course                      | Get the full module/lesson tree with publishing states.                                                                                                                             |
| Courses          | get\_lesson                      | Get full detail for a single lesson — title, body HTML, publishing state, position, and parent module/submodule context.                                                            |
| Courses          | search\_course\_content          | Search lesson bodies for matching text — useful for locating template markers, legacy formatting, or broken embeds during course migrations.                                        |
| Courses          | update\_course                   | Update title, description, or thumbnail. Cannot change publish status.                                                                                                              |
| Courses          | update\_course\_content          | Add or update modules, submodules, and lessons. Supports reordering, publish/unpublish, drip scheduling, and prerequisite gating.                                                   |
| Coaching         | create\_coaching                 | Create a coaching product. Supports 1:1 and group coaching.                                                                                                                         |
| Coaching         | get\_coaching                    | Get program details including outline sessions or groups, client count, and scheduling config.                                                                                      |
| Coaching         | update\_coaching                 | Update title, description, coach info, and scheduling settings.                                                                                                                     |
| Coaching         | list\_coaching\_sessions         | List sessions for a coaching program (1:1) or coaching group. Paginated.                                                                                                            |
| Coaching         | get\_coaching\_session           | Get details for a single 1:1 or group session.                                                                                                                                      |
| Coaching         | create\_coaching\_session        | Create an ad-hoc 1:1 or group session, including scheduled time, duration, timezone, and location.                                                                                  |
| Coaching         | update\_coaching\_session        | Update an existing session's title, description, or scheduling fields.                                                                                                              |
| Communities      | list\_members                    | List community members with filters (role, joined-after, at-risk, onboarding status) and sort options.                                                                              |
| Communities      | get\_member                      | Full dossier on a single member — points, engagement, onboarding progress, recent RSVPs and challenge entries.                                                                      |
| Communities      | list\_channels                   | List community channels with filters for access group, privacy, and type (feed/chat).                                                                                               |
| Communities      | list\_access\_groups             | List access groups (the gating layer above channels) with member, post, and last-post-at rollups.                                                                                   |
| Communities      | list\_posts                      | List posts across one or all channels with thread-aware filters. Use parent\_post\_id or root\_post\_id to navigate comment/reply threads.                                          |
| Communities      | get\_post                        | Full post body, rich-text data, author, reactions, engagement counts, and inline poll detail.                                                                                       |
| Communities      | create\_post                     | Create a root post, comment, reply, or poll in a channel. Authored as the connected user.                                                                                           |
| Communities      | update\_post                     | Edit an existing post's body.                                                                                                                                                       |
| Communities      | get\_community                   | Show a community's title, description, and owner.                                                                                                                                   |
| Communities      | get\_metrics                     | High-level engagement metrics (active users, new members, messages, RSVPs, challenges joined) over a date window.                                                                   |
| Communities      | list\_announcements              | List a community's announcements with filters by channel and date window.                                                                                                           |
| Communities      | create\_announcement             | Publish a pinned banner, home-sidebar, or channel-scoped announcement.                                                                                                              |
| Communities      | update\_announcement             | Edit an existing announcement's name, text, subtitle, or placement.                                                                                                                 |
| Communities      | list\_challenges                 | List community challenges with filters by time (scheduled/active/expired), series, access group, and free-text search.                                                              |
| Communities      | get\_challenge                   | Full challenge detail including scheduling, prize, status, engagement counts, series, and gating.                                                                                   |
| Communities      | list\_challenge\_series          | List a community's challenge series (curator groupings of related challenges).                                                                                                      |
| Communities      | list\_challenge\_entries         | List submissions to a single challenge, or check whether a specific user submitted.                                                                                                 |
| Communities      | list\_challenge\_entry\_comments | List comments on a single challenge entry.                                                                                                                                          |
| Communities      | list\_meetups                    | List community meetups (events) with time, channel, creator, access group, and date-range filters.                                                                                  |
| Communities      | get\_meetup                      | Full meetup detail including scheduling, location, channel scoping, creator, gating, and RSVP counts.                                                                               |
| Communities      | list\_meetup\_rsvps              | List the RSVP roster for a single meetup, or check whether a specific user RSVPed.                                                                                                  |
| Communities      | send\_dm                         | Send a one-off direct message to a single community member, authored as the connected user.                                                                                         |
| Newsletters      | get\_newsletter                  | Get newsletter details including its 10 most recent posts.                                                                                                                          |
| Newsletters      | get\_newsletter\_post            | Get a newsletter post's draft content, publish status, and email subject.                                                                                                           |
| Newsletters      | create\_newsletter               | Create a newsletter product (also creates its paired opt-in form).                                                                                                                  |
| Newsletters      | create\_newsletter\_post         | Create a draft newsletter post.                                                                                                                                                     |
| Newsletters      | update\_newsletter\_post         | Update draft content.                                                                                                                                                               |
| Email broadcasts | list\_broadcasts                 | List broadcasts with optional filtering by status (draft/scheduled/delivering/delivered).                                                                                           |
| Email broadcasts | get\_broadcast                   | Get subject, body, recipient filters, and engagement stats (opens, clicks, bounces, rates).                                                                                         |
| Email broadcasts | create\_broadcast                | Create a draft broadcast in either the new drag-and-drop builder or the classic HTML editor. Sending happens in the admin UI.                                                       |
| Email sequences  | list\_sequences                  | List active sequences with email count and subscriber count.                                                                                                                        |
| Email sequences  | get\_sequence                    | Get the sequence's emails with drip timing, publication status, and engagement stats.                                                                                               |
| Email sequences  | create\_sequence                 | Create a sequence with title and default send timing. Add emails with add\_sequence\_email.                                                                                         |
| Email sequences  | add\_sequence\_email             | Add an email to an existing sequence with a day offset and optional send time.                                                                                                      |
| Events           | list\_events                     | List events with optional filter by type. Paginated.                                                                                                                                |
| Events           | get\_event                       | Get event details including upcoming occurrences.                                                                                                                                   |
| Events           | create\_event                    | Create an event. Returns the event and a link to the admin editor.                                                                                                                  |
| Forms            | list\_forms                      | List forms with submission counts. Paginated.                                                                                                                                       |
| Forms            | get\_form                        | Get current fields, available site fields that can be added, and submission count.                                                                                                  |
| Forms            | create\_form                     | Create a form with default name and email fields. Optionally attach existing site fields or create new custom fields.                                                               |
| Forms            | update\_form                     | Update settings, attach existing site fields, or create-and-attach new custom fields.                                                                                               |
| Forms            | remove\_form\_field              | Remove a field from a form. The site field is preserved and can be re-added later.                                                                                                  |
| Forms            | list\_form\_submissions          | List submissions for a specific form. Submitted data is in the custom\_fields JSONB column.                                                                                         |
| Pages            | list\_landing\_pages             | List standalone landing pages with optional filtering by status. Excludes funnel/pipeline step pages.                                                                               |
| Pages            | get\_landing\_page               | Get SEO metadata, publish status, form count, URLs, and the page's active\_theme\_id (page content lives entirely in the theme).                                                    |
| Pages            | create\_landing\_page            | Create a draft landing page. Optionally specify a theme preset slug.                                                                                                                |
| Pages            | update\_landing\_page            | Update title, slug, SEO metadata, or publish state. Pass publish\_at to publish or schedule; null to unpublish.                                                                     |
| Pages            | list\_website\_pages             | List website pages with optional filtering by status. Paginated from the active theme.                                                                                              |
| Pages            | get\_website\_page               | Get SEO metadata, publish status, and URLs for a website page.                                                                                                                      |
| Navigation       | list\_navbars                    | List navigation menus, categorized as default (main-menu, footer, member-menu, about-menu) or custom.                                                                               |
| Navigation       | get\_navbar                      | Get a menu and its ordered list of links, including each link's type and target.                                                                                                    |
| Navigation       | create\_navbar                   | Create a new custom navigation menu. Populate it via create\_navbar\_link.                                                                                                          |
| Navigation       | update\_navbar                   | Rename an existing navigation menu (default or custom).                                                                                                                             |
| Navigation       | create\_navbar\_link             | Add a new link to a navigation menu.                                                                                                                                                |
| Navigation       | update\_navbar\_link             | Update an existing navigation menu link.                                                                                                                                            |
| Navigation       | delete\_navbar\_link             | Remove a single link from a navigation menu.                                                                                                                                        |
| Navigation       | reorder\_navbar\_links           | Reorder all links inside a menu in a single call.                                                                                                                                   |
| Commerce         | list\_offers                     | List offers with optional filtering by status. Includes pricing summary and product count.                                                                                          |
| Commerce         | get\_offer                       | Get pricing breakdown, variants, linked products, and the offer's checkout-page active\_theme\_id.                                                                                  |
| Commerce         | create\_offer                    | Create a draft offer. Supports free, one-time, subscription, and payment plan pricing.                                                                                              |
| Commerce         | update\_offer                    | Update an offer's details, pricing, or publish state. Pass publish\_at to publish or schedule; null to unpublish.                                                                   |
| Commerce         | list\_offer\_purchases           | List purchases with optional filtering by member, offer, or date range.                                                                                                             |
| Commerce         | get\_offer\_purchase             | Get pricing breakdown, billing status, member details, product access, and subscription info.                                                                                       |
| Products         | search\_products                 | Search products by title with optional filtering by product type and sellable status.                                                                                               |
| Products         | get\_product                     | Get product type, description, linked offers, and the product's consumption-side active\_theme\_id.                                                                                 |
| Contacts         | search\_contacts                 | Search and filter contacts by name/email plus tags and segments.                                                                                                                    |
| Contacts         | get\_contact                     | Get contact profile including tags, custom fields, purchases, product access, and admin notes.                                                                                      |
| Contacts         | list\_tags                       | List contact tags with contact count per tag.                                                                                                                                       |
| Contacts         | create\_tag                      | Create a new contact tag.                                                                                                                                                           |
| Contacts         | tag\_contact                     | Add a tag to a contact. Idempotent.                                                                                                                                                 |
| Contacts         | untag\_contact                   | Remove a tag from a contact. Idempotent.                                                                                                                                            |
| Contacts         | list\_segments                   | List dynamic contact segments (filter queries, not static lists).                                                                                                                   |
| Contacts         | create\_segment                  | Create a saved segment with a title and filter map. Use to target broadcasts or search contacts.                                                                                    |
| Contacts         | update\_segment                  | Update a segment's title and/or filters. Filters are a full replacement when provided.                                                                                              |
| Themes           | get\_theme\_content              | Get theme settings and section types for any themed page (site, course, landing page, offer, email, coaching).                                                                      |
| Themes           | update\_theme\_content           | Update theme settings on any themed page. Changes take effect immediately on published pages — no draft layer.                                                                      |
| Downloads        | create\_download                 | Create a draft digital download collection. Files and an offer are added in the admin UI.                                                                                           |
| Account users    | list\_account\_users             | List non-owner users on the account. Admins/owners only.                                                                                                                            |
| Account users    | add\_account\_user               | Add a Support Specialist or Assistant. Admins/owners only.                                                                                                                          |
| Analytics        | get\_contacts\_analytics         | Contacts analytics for a site over a date window.                                                                                                                                   |
| Analytics        | get\_revenue\_analytics          | Revenue analytics for a site over a date window.                                                                                                                                    |
| Analytics        | get\_revenue\_by\_offer          | Revenue broken down by offer — shows which products and offers are generating the most revenue.                                                                                     |
| Analytics        | get\_subscriptions\_mrr          | Monthly recurring revenue for a site's subscriptions.                                                                                                                               |
| Analytics        | get\_subscription\_analytics     | Subscription analytics for a site over a date window.                                                                                                                               |

## FAQ

### Can I connect Claude or ChatGPT to multiple Kajabi accounts?

A single Claude or ChatGPT connection links to one Kajabi account at a time. To switch accounts, disconnect your existing connection in Kajabi, log into the Kajabi account you want to use, and then reconnect from your AI tool.

### Can my team members use Claude or ChatGPT with our Kajabi account?

Yes. Each team member connects their own AI tool to Kajabi using their own Kajabi login. What they can do through the AI is limited by their Kajabi user role — for example, only Admin and Owner users can manage account users.

### Why do I have to keep reconnecting Claude or ChatGPT to Kajabi?

A few different things can cause repeat reconnects:

* For security, connections that go unused for a period of time will expire on their own
* The authorization link you click during the connect flow expires after a short window, so long pauses mid-flow will require you to start over
* Your Claude or ChatGPT desktop app may need a restart after a Kajabi update before it can reconnect cleanly
* The connect flow uses whichever Kajabi account is the active browser session. If another Kajabi tab is the active one (such as a partner site you help manage), the connection can fail or attach to the wrong account

If reconnects keep happening, sign into the correct Kajabi account in your browser, restart your AI tool, and try once more. If the issue continues, contact Kajabi Support.

### Why don't I see all of my Kajabi tools in Claude or ChatGPT?

Not every Kajabi feature is available through the connection yet. The connection currently supports the most common workflows — managing contacts, courses, products, offers, pages, emails, and forms — and we are adding coverage to more features over time.

You may also see fewer tools than another user on your account because what you can do through the AI is limited by your Kajabi user role.

If a Kajabi feature you rely on is missing, let us know — your feedback shapes what we build next: [https://feedback.kajabi.com/feature-request?selectedCategory=mcp](https://feedback.kajabi.com/feature-request?selectedCategory=mcp)  

### Why don't reports from Claude or ChatGPT match my Kajabi dashboard?

Small differences usually come from one of three things:

* The connection returns data in UTC, while your dashboard may use your local time zone
* The connection may include all billing statuses, while your dashboard filters some out by default
* Different definitions of "this week" — Sunday-start vs. Monday-start, for example

For an exact match, ask your AI tool to re-run the query with a specific date range, such as "show me completed purchases from May 1st, 2026 through May 7th, 2026."

### Where do I see or remove the AI tools connected to my account?

In Kajabi, go to **Settings → Integrations & Webhooks → AI Assistants** . You will see each connected AI tool along with the date it was authorized. Use the Disconnect option next to any tool to revoke its access.
