Free · the toolbox · the connection

Connect GoHighLevel
to Claude

Yes, GoHighLevel has an official MCP. Here is how to connect it, the one mistake that stops it cold, and what a morning looks like once your CRM answers you.

By J Ritter, AutoJate · Updated September 4, 2026
Straight answers
Does GoHighLevel have an MCP?
Yes. GoHighLevel runs its own server at services.leadconnectorhq.com/mcp/anthropic/v2. It is theirs, not a third-party bridge.
Can Claude connect to GHL?
Yes. You add that URL to Claude as a connector, sign in to GoHighLevel, and pick one sub-account. There is no plugin to buy and no middleman.
How do I connect GoHighLevel to Claude?
Three steps: add the connector, authorize it, pick the location. Walkthrough is below. Do one account at a time or the location picker collides.
What can Claude do once it is on?
Read and write the account: contacts, conversations, opportunities, calendars, tasks, and a few hundred other operations. Every write waits on your yes.
Which plan do I need?
GoHighLevel gates the MCP to the Unlimited and SaaS Pro plans. Below those the endpoint is not available on your account.
The short version

The connection is done and it is GoHighLevel's own. You sign in with OAuth, pick a location, and Claude gets five tools that reach the whole catalog instead of the forty fixed ones the old token setup loaded. Nothing to store, nothing to rotate. The one thing to get right: every account uses the same URL, so connect them one at a time and pick the location each time. What nobody had built is the layer on top, the plain sentences you type to get work out of it. I wrote twelve of those for my own accounts and they are further down this page.

What changed

Old way vs new way

If you connected GoHighLevel to Claude before, you did it with a Private Integration Token: you made a token, checked the scopes it got, and hardcoded it into your config with your location ID. It works, but that token is a standing secret you have to store and rotate, and each connection loads about forty fixed tools into Claude. The new way drops all of that.

Auth
OldA token you create, scope, store, and rotate
NewOAuth. Click connect and approve. Nothing to store
Endpoint
Old/mcp/ with a Bearer token + locationId header
New/mcp/anthropic/v2, no headers
Tools
Old~40 fixed tools loaded per account
New5 generic tools that reach the whole catalog
Reach
OldThe scopes you remembered to check
NewHundreds of operations across ~40 domains
Secret
OldA standing token sitting in a file
NewNone left behind for anyone to find
The new surface

Five tools instead of forty

The old way handed Claude a fixed slab of about forty named tools per account. The new way gives it five generic ones that discover and run the whole catalog at the moment they are needed. Leaner for the model, and it scales when you run more than one account.

The five tools
  • search: find records by name, email, phone, or tag
  • fetch: pull the full detail on anything search returns
  • search_operations: discover what it can do, by intent
  • describe_operation: check an operation's inputs before running it
  • execute_operation: run one operation, inside your scopes and safety checks
One approve

Look at everything it grants

Here is the part that makes you stop. When you approve the connection, GoHighLevel shows you everything it is granting, and it is not a handful of scopes. As of 2026 that is around forty domains and hundreds of operations, and you grant it with one button. The old token gave Claude the slice you remembered to check. This gives it the whole account.

ContactsConversationsOpportunitiesCalendarsPaymentsInvoicesProductsWorkflowsSocial PlannerBlogsEmailsFormsMediaBusinessesLocationsObjectsVoice AIConversation AIUsersSurveysFunnelsStoreCampaignsLinksCoursesKnowledge basesDocuments & contractsPhone numbersCustom fieldsTasks & tags+ more
Why it wins

Three reasons the new way is better

Security · Reach · Lean
  • Security. OAuth does not leave a token in a file for someone to find. The old way put a standing secret on your disk.
  • Reach. One approval and Claude can touch the whole account, not the slice you pre-selected.
  • Lean. Five tools per account instead of forty means Claude's context is not buried, and it scales across accounts.
Set it up

Connect it right, one account at a time

The endpoint is the same for every sub-account, so the thing that makes a connection specific is the location you approve. That means you connect them one at a time. Here is the whole flow.

01

Add one connection

Point your client at HighLevel's v2 server. No token, no headers. In Claude Code that is one entry in your .mcp.json. Name it after the account so you and Claude both know where a call lands:
.mcp.json
{
  "mcpServers": {
    "ghl-yourbusiness-v2": {
      "type": "http",
      "url": "https://services.leadconnectorhq.com/mcp/anthropic/v2"
    }
  }
}
On the Claude app, add it as a custom connector with the same URL.
02

Authorize that one

Run /mcp in Claude Code, or open the connector consent in the Claude app, and sign in to GoHighLevel.
03

Pick the one location, then approve

Choose the single sub-account this connection owns, and approve. This is the one-click moment where the whole account gets granted.
04

Repeat, one at a time

Only after it connects, add and authorize the next account the same way. Never authorize several at once. See below for why.
The one mistake that breaks it

Every account points at the exact same URL. So the only thing that tells one connection apart from another is the location you approve during sign-in. Add all your accounts first, then try to authorize them together, and the location picker collides. It will not connect right. Add one, authorize it, pick its location, confirm it connected, then do the next one.

Try it

Once it's connected

Talk to it like a teammate who can see the whole account:

Starter prompts
Pull every open opportunity and tell me which have gone quiet more than 7 days.

Find every contact tagged quote-requested with no reply, and list them with phone numbers.

Draft this week's blog post from my last three jobs, then schedule it.
The worked example

Twelve things I say to mine

The connection is plumbing. What you get out of it depends on what you can say to it. On September 4, 2026 I wrote twelve skills for my own GoHighLevel accounts, one file each, in the words an owner actually uses. I say "morning read" and I get last night's calls, the tasks nobody worked, the deals that went quiet, three people worth calling, and two follow-ups drafted and waiting on my yes. I have not opened the CRM since.

"morning read"
last night's inbound, the calls, the open tasks, the new and stalled deals, then two follow-ups drafted for approval
"who went quiet"
open deals with no activity in N days and unanswered inbound, with a follow-up or a mark-lost proposed
"draft the follow-up for Kristen"
her notes, tasks, deals and last 15 messages, then one text or email plus a reply-check task
"book her"
the calendars and the free slots, then one appointment
"missed calls"
inbound calls that never connected and the voicemail tasks, then text-backs
"what did the receptionist catch"
the voice agent's opportunities, tasks and notes since yesterday
"this week's parties"
the pipeline by stage plus calendar events, and stage moves on request
"quote the Harfon party"
the ask and the products on file, then the quote message, the stage move, and the value on the deal
"tag and route this lead"
the contact and the existing tags, then tags, a deal, and a task
"team task check"
open tasks by person, overdue and unassigned, reassigned or re-dated on request
"weekly numbers"
new contacts, deals, won, calls, texts, appointments and tasks closed
"both locations"
the weekly numbers on every connected location, side by side

I am not selling that pack and there is no price on it. It is how I work and what I show people on a screen share. You can write your own in an afternoon: a folder, a file per skill, plain sentences about which records to read and what to propose.

Read this before you trust it

The rules that keep it honest

A CRM assistant that sounds confident and counts wrong is worse than no assistant. Every skill I wrote loads the same rules file first, and most of those rules exist because something lied to me once.

The doctrine
  • A list row is not the record. List endpoints drop fields and bolt on look-alike totals, so a number, a zero, or a "none" gets read off the single record before anyone repeats it.
  • Every number names the endpoint it came from, in the same line that carries it.
  • Nothing gets written until you say yes to the exact text. Every write carries an idempotency key, runs once, and gets read back from the record.
  • One connection is one location. A connection covering more than one sub-account returns LOCATION_REQUIRED until the location id rides on the call itself.
  • Operation ids are exact. A name that merely sounds right returns a 404, so the skill looks the operation up instead of guessing.
  • Updating a task is a full replace. Leave the completed flag out and the task gets marked done. Same trap on calendars, and on contacts where an upsert wipes the tags.
  • Nobody gets a message if their record says do not disturb.

One from the day I built it. I asked a location for its open tasks and the search came back empty, while every task on the record read complete, one of them forty minutes old. The team had already worked the queue. An empty result is not "none," it is one instrument's answer, and the fix is to count from the other side and say which side you counted from.

Whose keys

Your account, your machine

You install this on your own computer and sign in to your own GoHighLevel. I never see your login and I never hold your token. Nobody should be asking you for one. If you are still on the older token setup, your Private Integration Token sits in a config file on your machine, where YOUR_PIT_TOKEN is the only version of it that ever belongs on a web page. The OAuth connection does not leave one behind at all, and you can revoke it from inside GoHighLevel whenever you want.

Quick answers

Before you ask

The connection is free. Knowing where the money leaks out is the hard part.

Claude on your CRM shows you your numbers faster. It does not tell you which of them is the problem, and the answer is usually not in the CRM. That is what the Operations Audit is: $2,500 over two weeks, or $5,000 if you want it in one. I interview your people, read your records, and hand you a written plan you keep. If I don't find you leaks worth more than you paid, you don't pay. More on what Claude does on a GoHighLevel account is in the rundown here.

Not ready for that? Book the free call. No pitch on it. I'll tell you straight what's worth automating and what isn't.