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.
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.
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.
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.
- 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
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.
Three reasons the new way is better
- 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.
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.
Add one connection
Authorize that one
Pick the one location, then approve
Repeat, one at a time
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.
Once it's connected
Talk to it like a teammate who can see the whole account:
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.
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.
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.
- 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.
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.
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.