SCOPENINE

GoHighLevel MCP

GoHighLevel MCP:How to connect Claude, ChatGPT and other AI tools

Last checked: October 2026

To use the GoHighLevel (GHL) MCP server, add its URL to your AI tool's settings. Claude and ChatGPT sign in with OAuth on their own endpoints. Cursor, Windsurf and n8n use a Private Integration Token instead.

Every step below comes from GHL's help center or the AI tool maker's docs.

What is MCP?

MCP (Model Context Protocol) is a standard way for AI apps to connect to outside tools and data. GHL's MCP server turns CRM actions, like finding a contact, into tools an AI app can call. GHL's help center calls it the HighLevel MCP Server.

What you can do with the GoHighLevel MCP server

GHL's MCP setup article lists tools for tasks like these:

  • Find a contact by name, email or phone.
  • Create or update contacts, and add or remove tags.
  • Search conversation history and send a message to a contact.
  • Pull calendar events and appointment notes.
  • Search opportunities and update deal details.
  • Review payment orders and transactions.
  • Create blog posts, email templates and social media posts.

Your team can then type requests like these:

  • "Find the five most recently created contacts in this sub-account."
  • "Summarize my last messages with [email protected]."

Pick the right GHL MCP endpoint

GHL runs separate MCP endpoints for different AI tools. Use the one built for yours.

AI toolEndpointSign-in
Claude (claude.ai, Claude Code, Cowork)https://services.leadconnectorhq.com/mcp/anthropic/v2OAuth
ChatGPT and Codexhttps://services.leadconnectorhq.com/mcp/openai/v2/OAuth
Cursor, Windsurf, n8n and other HTTP MCP clientshttps://services.leadconnectorhq.com/mcp/Private Integration Token + locationId header

The OAuth endpoints reach much more of GHL. GHL's Claude articles cite 625 operations (571 active) across 40 domains. Its ChatGPT article cites more than 550 active operations across 38 domains.

They also work differently. The AI calls search_operations to find an action, describe_operation to read its inputs, and execute_operation to run it. Each operation runs against the GHL API, so our GoHighLevel API guide helps when you need more detail.

GHL now calls the universal endpoint "legacy," but still supports it. It lists 36 example tools for contacts, conversations, calendars, opportunities, payments, locations, blogs, email and social posts.

How to create a Private Integration Token

You need a token only for the universal endpoint. Skip this part if you connect Claude or ChatGPT with OAuth.

Step 1: Open Private Integrations

In the client's sub-account, go to Settings > Private Integrations.

Step 2: Create the integration

Click Create New Integration. Name it after the tool that will use it, like "Cursor - ops team."

Step 3: Pick least-privilege scopes

Grant only what the AI needs. For a read-only assistant, start with these scopes from GHL's recommended list:

  • View Contacts
  • View Conversations and View Conversation Messages
  • View Opportunities
  • View Calendars and View Calendar Events
  • View Custom Fields and View Locations

Add an edit scope only when the AI must change that data. For example, add Edit Contacts only if it must create or update contacts.

GHL's recommended list skips the blog, email and social tools. Add those scopes only if you use those tools.

Step 4: Copy the token once

Click Create new Integration and copy the token right away. GHL shows it only once. Save it in a password manager.

Step 5: Copy the Location ID

Go to Settings > Business Profile and copy the Location ID. You can also find it in the browser URL after /location/.

How to connect Claude to GoHighLevel

Claude.ai (OAuth)

  1. 01In Claude, go to Customize > Connectors. Click + Add, then Add custom connector.
  2. 02Name it "GHL" and paste https://services.leadconnectorhq.com/mcp/anthropic/v2.
  3. 03Click Continue, review the detected sign-in settings, and click Add.
  4. 04Click Connect, sign in to GHL, pick the sub-account and approve the scopes.
  5. 05Start a new chat and ask Claude to list recent contacts.

Anthropic says custom connectors also work in Claude Desktop and Cowork. Free plans allow one custom connector. On Team and Enterprise plans, an Owner adds it under Organization settings > Connectors.

Claude.ai also offers a Request headers option, but it's a limited beta. Header names outside Claude's preset list need Anthropic's approval. OAuth is the simpler path for GHL.

Claude Code (OAuth)

bash
claude mcp add --transport http leadconnector https://services.leadconnectorhq.com/mcp/anthropic/v2

Then run /mcp inside Claude Code and finish the sign-in in your browser. Check the connection with claude mcp list. To use GHL in every project, add --scope user before the URL.

Claude Code with a token

A token limits Claude to the legacy endpoint's smaller tool set (GHL lists 36 examples) and the scopes you picked.

bash
claude mcp add --transport http ghl https://services.leadconnectorhq.com/mcp/ \
  --header "Authorization: Bearer YOUR_TOKEN" \
  --header "locationId: YOUR_LOCATION_ID"

That command saves the token in ~/.claude.json. To share the setup without the token, commit a .mcp.json file that reads environment variables:

json
{
  "mcpServers": {
    "ghl": {
      "type": "http",
      "url": "https://services.leadconnectorhq.com/mcp/",
      "headers": {
        "Authorization": "Bearer ${GHL_PIT}",
        "locationId": "${GHL_LOCATION_ID}"
      }
    }
  }
}

Set GHL_PIT and GHL_LOCATION_ID in your shell before you start Claude Code. GHL's sample JSON has no type field. Add "type": "http", because Claude Code treats a url entry without a type as a config error.

How to connect ChatGPT and Codex to GoHighLevel

ChatGPT (OAuth)

  1. 01On ChatGPT web, go to Settings > Apps > Create. No Create button? Turn on developer mode under Settings > Apps > Advanced settings, or ask your workspace admin.
  2. 02Name it "LeadConnector" and paste https://services.leadconnectorhq.com/mcp/openai/v2/.
  3. 03Scan the tools, sign in to GHL, pick the sub-account and approve the permissions.
  4. 04Finish creating the app. In a new chat, pick LeadConnector from the Apps menu and test a simple read.

OpenAI offers custom MCP apps on Business, Enterprise and Edu plans, on the web only. Pro users get read and fetch access in developer mode. OpenAI is still rolling out write actions in beta.

Codex CLI (OAuth)

bash
codex mcp add leadconnector --url https://services.leadconnectorhq.com/mcp/openai/v2/
codex mcp login leadconnector

The login command starts GHL's sign-in. Pick the sub-account and approve the permissions.

Connect Cursor, Windsurf or n8n

These tools use the universal endpoint with your token and Location ID.

Cursor

Add this to .cursor/mcp.json in your project, or to ~/.cursor/mcp.json for all projects:

json
{
  "mcpServers": {
    "ghl": {
      "url": "https://services.leadconnectorhq.com/mcp/",
      "headers": {
        "Authorization": "Bearer ${env:GHL_PIT}",
        "locationId": "${env:GHL_LOCATION_ID}"
      }
    }
  }
}

${env:...} reads values from your environment, so the token stays out of the file. By default, Cursor asks before it runs an MCP tool.

Windsurf and n8n

GHL lists Windsurf as a supported client. Use the same URL and headers, and check Windsurf's docs for its config format.

GHL says its MCP server works with n8n "out of the box." In n8n's MCP Client Tool node, Multiple Headers auth can send both headers. Check n8n's docs for the transport setting in your version.

Security checklist

  • Create one token per sub-account and per tool. GHL lets you create up to 20 tokens, so each tool can have its own.
  • Start with view scopes. Add edit scopes only for tasks that need them.
  • Rotate tokens every 90 days, as GHL recommends. "Rotate and expire this token later" keeps the old token working for 7 days.
  • If a token leaks, choose "Rotate and expire this token now."
  • Never paste tokens into shared chats, tickets, screenshots or public repos. Use environment variables instead.
  • Test with read-only prompts first. Review AI-driven changes while edit scopes are on.
  • In Claude, auto-approve only tools you trust. Turn off write tools before using Research, which can call tools without asking.
  • Treat content the AI reads, like inbound messages, as untrusted. It can carry prompt-injection text.

Limits: what GHL MCP can't do yet

  • Each request runs against one sub-account. You can't run one operation across several sub-accounts.
  • GHL is still rolling out agency connections that cover several sub-accounts. If you don't see that option, connect each sub-account separately.
  • The universal endpoint can read calendar events but lists no booking tool. Its payment tools are read-only.
  • GHL says token scopes are narrower than OAuth scopes.
  • GHL's universal-endpoint article says OAuth there is "planned for a future release." GHL lists OAuth for Cursor, Windsurf and VS Code as in development.
  • Sensitive or irreversible operations may ask for extra confirmation.
  • GHL's MCP articles don't say which GHL plans include MCP. Check GHL's current docs for your plan.
  • The operation list can change, so run search_operations before bulk jobs. GHL's MCP docs list no MCP-specific rate limits, so run bulk jobs in small batches.

Troubleshooting

  • 401 or "unauthorized": Check that the header reads Authorization: Bearer <token>, with the space. Then confirm nobody rotated or deleted the token.
  • Tools are missing: Tools appear based on the token's scopes. Edit the scopes from the integration's three-dot menu. The token stays the same, so just reconnect the client.
  • Wrong sub-account's data: Recheck the locationId under Settings > Business Profile. With an OAuth agency connection, name the sub-account in your prompt.
  • Private Integrations menu missing: Turn the feature on in Labs, as GHL advises. An agency admin may also need to grant you access.
  • Variable not filled in: Claude Code flags unset variables in claude mcp list and /mcp. Set them in the shell where you start Claude Code.
  • "Pending approval" in Claude Code: Project .mcp.json servers need your approval. Start claude in that folder and approve the server.
  • Cursor won't connect: Open the Output panel and choose "MCP Logs" to see the error.
  • Can't change a claude.ai connector's sign-in: Remove the connector and add it again.

Straight answers

Which GHL MCP endpoint should I use?
Use /mcp/anthropic/v2 for Claude and /mcp/openai/v2/ for ChatGPT or Codex. Use the universal /mcp/ endpoint for Cursor, Windsurf, n8n and other header-based clients.
Do I still need a Private Integration Token?
Only for the universal endpoint. The Claude and ChatGPT endpoints use OAuth, so you don't store or rotate a token.
Can one connection cover all my client sub-accounts?
Not fully yet. Each request runs against one sub-account, and GHL is still rolling out multi-sub-account agency connections. With tokens, you create one per sub-account.
Can the AI change or delete data in GHL?
Yes, if you allow it. A token needs edit scopes, and OAuth needs the permissions you approve. Risky actions may ask for extra confirmation.
Does the ChatGPT GoHighLevel connection work on every plan?
No. OpenAI lists custom MCP apps for Business, Enterprise and Edu, with read and fetch access for Pro. MCP apps don't work in the mobile app.

Want GHL MCP set up for your clients?

Scope Nine is a white-label engineering studio for marketing agencies. We set up GHL connections to AI tools for your clients, under your brand. For Zapier and webhook work, see Zapier vs webhooks vs the API.

Founder Abdullah Sajjad is a Toptal Top 3% developer with 8+ years and 250+ delivered projects. Start with a free technical audit, or explore our GoHighLevel AI agents, GoHighLevel integrations and white-label GoHighLevel services. A Client Delivery Sprint starts from $999 one-time.

Chat on WhatsApp