Follow the steps below for your AI tool of choice. Once connected, you can ask it to list your courses, draft broadcasts, search contacts, create offers, and more.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.
What’s possible
Browse and inspect — List and fetch sites, Courses, Products, Offers, orders, 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, Email Sequences with scheduled emails, and Forms with fields. 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: Publish anything, take actions on behalf of customers, process payments, send email blasts, or touch account settings. Every write lands as a draft that a human finalizes in the Kajabi admin UI.Before you begin
Server URL: https://mcp.kajabi.com/mcp Before you start: log into the correct Kajabi account in your browser — the OAuth approval uses that session.Claude (Web — claude.ai)
Requires a paid Claude plan (Pro, Max, Team, or Enterprise).- Go to claude.ai and sign in.
- Click your profile → Settings → Connectors.
- Click the Add custom connector button at the bottom of the page.
- Enter:
- Name: Kajabi
- URL: https://mcp.kajabi.com/mcp
- Click Add, then approve the Kajabi consent screen in your browser.
- In a new chat, enable the Kajabi connector via the tools/attachments menu.
Claude Desktop
- Open Claude Desktop.
- Go to Settings → Connectors → Add custom Connector.
- Enter:
- Name: Kajabi
- URL: https://mcp.kajabi.com/mcp
- Click Add and approve the consent screen in your browser.
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.1. Enable Developer Mode (one-time)
- Open ChatGPT → Settings → Connectors → Advanced.
- Toggle Developer mode on.
- Read and accept the warning about write-enabled tools.
2. Add the Kajabi connector
- Open Settings → Apps → Advanced settings, click Create app.
- Enter:
- Name: Kajabi
- MCP Server URL: https://mcp.kajabi.com/mcp
- Authentication: OAuth
- Save, then approve the Kajabi consent screen in your browser.
3. Use it in a chat
- Start a new conversation.
- Click the + icon (or Tools) → Developer mode → enable Kajabi.
- Ask your question.
Tips
- Always start with kjb_list_sites — most tools need a site_id.
- Writes create drafts. Publishing still happens in the Kajabi admin UI.
- 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 |
|---|---|---|
| Sites | list_sites | Lists all Kajabi sites the authenticated user can access. Call this first to discover site_ids. |
| Sites | get_site_summary | Returns a detailed summary of a site including settings, locale, and contact info. |
| Sites | ping | Smoke test — confirms the MCP server is running and reachable. |
| 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; publishing happens in the Kajabi admin UI. |
| Blog | update_blog_post | Update an existing post’s content, tags, or SEO metadata. Cannot change publish status. |
| 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 | update_course | Update title, description, or thumbnail. Cannot change publish status. |
| Courses | update_course_content | Add or update modules, submodules, and lessons in a course. |
| Coaching | create_coaching | Create a coaching product. Supports one-on-one and group coaching. |
| Coaching | get_coaching | Get coaching program details including outline sessions or groups, client count, and scheduling config. |
| Coaching | update_coaching | Update title, description, coach info, and scheduling settings. Cannot change publish status. |
| 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. Optionally target a contact segment or all contacts. 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 a 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. |
| 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 fields (name and email). |
| Forms | update_form | Update settings or add existing site fields. Cannot modify or remove individual fields — use the admin UI. |
| Forms | list_form_submissions | List submissions for a specific form. Submitted data is in the custom_fields JSONB column. |
| Landing pages | list_landing_pages | List standalone landing pages with optional filtering by status. Excludes funnel/pipeline step pages. |
| Landing pages | get_landing_page | Get SEO metadata, publish status, form count, and URLs. |
| Landing pages | create_landing_page | Create a draft landing page. Optionally specify a theme preset slug (defaults to ‘blank’). |
| Offers | list_offers | List offers with optional filtering by status (draft/published). Includes pricing summary and product count. |
| Offers | get_offer | Get pricing breakdown, variants, and linked products. |
| Offers | create_offer | Create a draft offer that controls what customers can purchase. Drafts only. |
| Offers | list_offer_purchases | List offer purchases with optional filtering by member, offer, or date range. |
| Offers | get_offer_purchase | Get pricing breakdown, billing status, and full purchase detail. |
| Products | search_products | Search products by title with optional filtering by product type and sellable status. |
| Products | get_product | Get product type, description, and linked offers. |
| 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, and product access. |
| Contacts | list_segments | List dynamic contact segments. Segments are filter queries, not static lists. |
| Contacts | list_tags | List contact tags with contact count per tag. Use to find tag IDs before filtering contacts. |
| Themes | get_theme_content | Get theme settings and the available 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. Images must reference existing URLs. |