Back to articles
18 min read

GoHighLevel Claude MCP: Agency CRM Setup Guide (2026)

Connect Claude to GoHighLevel via MCP in 15 minutes. Covers 10 workflows—stale lead audits, pipeline cleanup, client reports—plus security best practices.

GoHighLevel Claude MCP: The Complete Agency Setup Guide (2026)

Every Monday morning starts the same way. Open GoHighLevel, filter contacts by date, manually scan who hasn't been touched, click into each opportunity to update pipeline stages, copy numbers into a spreadsheet, draft a client update that says roughly what last week's report said. An hour gone. Maybe two. None of it needed your judgment — just your time.

The GoHighLevel Claude MCP integration cuts that loop. GoHighLevel's official MCP server, which launched in early 2026, lets Claude connect directly to your CRM. Instead of clicking, you type: "Find every lead who submitted an enquiry form in the last seven days but hasn't been contacted, then tag them as needs-followup and assign them to Sarah." Claude does it. In seconds.

This guide covers the full setup — from generating your first Private Integration Token to running the workflows that give agency owners back real hours each week. No Zapier, no custom code, no developer.


What Is the GoHighLevel MCP Server (and Why It Launched in 2026)?

Model Context Protocol — MCP — is an open standard that lets AI models like Claude read from and write to external tools over a standardized connection layer. GoHighLevel released its official MCP server in early 2026 at https://services.leadconnectorhq.com/mcp/, starting with 36 core tools and a published roadmap to expand past 250 (GoHighLevel Official Docs, Feb 2026).

Those 36 tools cover contacts, conversations, opportunities, appointments, calendars, tags, pipelines, and sub-account management. When Claude connects via MCP, it doesn't just query data — it writes back. Tag a contact. Move an opportunity. Send an SMS. Add a note. It works the way a human operator works inside GHL, except it handles bulk operations across hundreds of records in the time it takes you to find the right filter.

GoHighLevel isn't a niche tool. As of April 2026, it powers more than 1 million businesses and handles over 1 billion API hits per day (TaskVirtual, Apr 2026). About 72,000 companies actively use it, up from just six domains in early 2020 — a 12,000x increase (TechnologyChecker, Apr 2026). Roughly 19% of that base is in advertising or marketing services, which means agencies are the core user group, and GoHighLevel MCP automation is built squarely for them.


Claude + MCP vs. Zapier and Native GHL Automations: What's the Difference?

This is the question every agency owner asks before putting time into setup. Short answer: they're different tools for different jobs, and the best agencies use both.

Zapier and Make.com are event-triggered. A contact fills out a form → a tag gets applied → a sequence fires. You define the trigger and the action ahead of time. That works well for repeatable, predictable events. Native GHL workflows operate the same way.

Claude with MCP is conversational and on-demand. You describe what you want in plain English; Claude reasons about it, pulls the relevant data from your GHL account, and executes the task — including multi-step logic, conditions, and decisions, all inside a single instruction (Netpartners Marketing, Apr 2026). You can ask Claude to compare this month's closed deals to last month's, spot the outliers, and draft a client email about what it found. No Zap or webhook does that.

The practical split:

  • Use Zapier or native GHL workflows: when something needs to happen automatically every time a specific event fires (form submitted, tag added, appointment booked)
  • Use Claude + GoHighLevel MCP: when you need to audit, analyze, bulk-update, clean data, or run a task that requires reasoning about your whole pipeline

They work together. The goal isn't to replace your Zaps — it's to add an AI reasoning layer on top of your CRM.


What You Need Before You Start: PITs, Location IDs, and Permissions

Before any configuration, you need two things from GoHighLevel: a Private Integration Token (PIT) and a Location ID.

Private Integration Token: GHL's API access credential. You create it inside Settings → Private Integrations. When creating the token, select scopes — the specific parts of your GHL account Claude is allowed to touch. Scope tightly. If you're running contact and pipeline workflows, enable Contacts, Conversations, Opportunities, and Tags. Don't enable Payments or Social Media scopes unless you actually need them.

Location ID: Each GoHighLevel sub-account has a unique Location ID. Find it in Settings → Business Profile, or pull it from the URL when you're inside a sub-account (app.gohighlevel.com/location/[YOUR_ID]).

Plan compatibility: MCP access works on all GoHighLevel plans including Starter ($97/month). No extra GHL fee for connecting via MCP. Claude costs are separate — Claude Code Pro runs $20/month. For reference, RSL/A, a two-person agency running nine MCP integrations including GoHighLevel, spends under $60/month total on AI tooling (RSL/A, May 2026).

Which Claude interface to use: Claude Code is the right choice for agency work. Claude Desktop supports MCP connections with the same config format, but Claude Code gives you project-level configs and context files — both matter when you're juggling multiple client accounts.


Step-by-Step: Connect Claude to GoHighLevel in 15 Minutes

Step 1: Generate Your Private Integration Token

  1. Log into GoHighLevel and go to Settings → Private Integrations
  2. Click Create New Integration
  3. Name it (e.g., "Claude MCP — [Client Name]")
  4. Select the minimum scopes you need: Contacts, Conversations, Opportunities, Tags, Appointments (add others as required)
  5. Click Create and copy the token immediately — GHL won't show it again

Step 2: Locate Your Location ID

In GHL, go to Settings → Business Profile. Your Location ID is there, or pull it from the URL while inside the sub-account dashboard.

Step 3: Configure Claude Code

Open Claude Code and go to your MCP settings. Add this configuration:

{
  "mcpServers": {
    "gohighlevel": {
      "url": "https://services.leadconnectorhq.com/mcp/",
      "headers": {
        "Authorization": "Bearer YOUR_PIT_HERE",
        "locationId": "YOUR_LOCATION_ID_HERE"
      }
    }
  }
}

Replace YOUR_PIT_HERE with the token you copied and YOUR_LOCATION_ID_HERE with your sub-account Location ID.

Step 4: Test the Connection

Start a new Claude Code session and ask something simple: "How many contacts are in my GHL account?" or "Show me the open pipelines." If Claude returns real data, the connection is live.

Step 5: Test Write Permissions in a Staging Sub-Account

Before running any bulk operations on a production account, create a test contact in a staging sub-account and ask Claude to add a tag to it. Confirm the tag shows up in GHL. Then proceed with production workflows.


The 10 Agency Workflows You Should Run First

Most agency owners start with the same five or six workflows because that's where manual time is bleeding most. Here's what the GoHighLevel MCP early-adopter community is actually running.

1. Stale Lead Audit

Find contacts who submitted an enquiry form but never got a response — then do something about it.

  1. Open Claude Code with your GHL MCP connected
  2. Prompt: "Find all contacts who submitted an enquiry form in the last 7 days but have no conversations logged and haven't been assigned to a pipeline stage"
  3. Claude queries the GHL Contacts and Conversations endpoints and returns a list with names, submission dates, and contact info
  4. Prompt: "Tag each of these contacts as needs-followup and assign them to [rep name]"
  5. Claude runs the bulk tag and assignment across all matching records

This replaces what previously meant filtering contacts manually, cross-referencing conversations, and updating records one at a time (Netpartners Marketing, Apr 2026).

2. Bulk Pipeline Cleanup

  1. Prompt: "Move all opportunities in the Proposal Sent stage that haven't had any activity in 14 days to the Stalled stage"
  2. Prompt: "Add a note to each: Moved to stalled on [date] due to 14-day inactivity"
  3. Prompt: "Tag them as cold-lead"
  4. Claude runs the bulk updates across all matching opportunities in seconds, using the Opportunities and Tags scopes

One anonymous agency documented by Netpartners Marketing described this as turning hours of manual dashboard navigation into a single natural-language prompt.

3. On-Demand Client Report

  1. Prompt: "Show me all closed-won deals this month: total count, total revenue, average deal size, and compare to last month"
  2. Claude pulls pipeline data via the GHL MCP opportunities endpoint and does the math
  3. Optionally: "Draft a 3-sentence client update email summarizing this performance"

RSL/A cut weekly client reporting from 30 minutes to 5 minutes with this workflow (RSL/A, May 2026). At 4 clients, that's about 100 minutes per week back on a single task.

4. Contact Deduplication and Cleanup

Prompt: "Find contacts with duplicate email addresses and show me the full record for each pair." Claude returns the list. Then: "For each duplicate, keep the newer record and delete the older one — unless the older record has a conversation history, in which case flag it for my review."

That conditional logic — keep X unless Y — is exactly what Zapier can't handle without complex branching. Claude handles it in plain English.

5. Appointment Gap Identification

Prompt: "Show me all contacts who booked a discovery call in the past 30 days but never booked a follow-up appointment." Claude cross-references your appointments and contact activity and returns a list with enough context to act — whether that's an SMS sequence, a manual call, or a bulk re-engagement prompt.

6. SMS Follow-Up Targeting

  1. Prompt: "Find all contacts who received the April email campaign but didn't click any link and haven't booked a call"
  2. Claude cross-references conversations and contact activity
  3. Prompt: "Send them an SMS: [your message text]"
  4. Claude sends via the Conversations scope (Automation Clarity Hub, Apr 2026)

7. New Client Intake Pipeline Setup

When onboarding a new client sub-account, Claude can build out your standard pipeline stages, create default tags, and populate template workflows. RSL/A reports tasks that previously took an hour now take minutes (RSL/A, May 2026).

8. Tag Audit and Standardization

Ask Claude to list every tag in your GHL account, spot near-duplicates (e.g., "hot-lead" vs. "hot lead" vs. "Hot Lead"), and propose a standardized set. Confirm the merge and Claude renames them across all contacts.

9. Weekly Activity Summary by Rep

Prompt: "For each user in my account, show me how many conversations they started, opportunities they updated, and appointments they booked this week." GHL's native reporting means navigating multiple dashboards to get this view. Claude assembles it in one response.

10. Cross-Pipeline Revenue Forecast

Prompt: "Based on current open opportunities and their pipeline stages, calculate the weighted expected revenue for this month assuming our typical stage-by-stage close rates." This needs both pipeline data and business logic — a trigger-based automation can't do it.


Multi-Client Setup: Managing Multiple Sub-Accounts Without Cross-Contamination

Running five or ten client accounts from one Claude instance requires discipline in your config. Each GoHighLevel sub-account has its own PIT and Location ID — Claude needs to know which one to use per session.

The cleanest approach is project-level .mcp.json files. For each client, create a separate Claude Code project workspace with a .mcp.json in that directory:

{
  "mcpServers": {
    "gohighlevel": {
      "url": "https://services.leadconnectorhq.com/mcp/",
      "headers": {
        "Authorization": "Bearer CLIENT_A_PIT",
        "locationId": "CLIENT_A_LOCATION_ID"
      }
    }
  }
}

Open that project in Claude Code and it loads the right GHL credentials automatically. Switching to Client B means opening Client B's project directory — the config loads, and there's no way to accidentally run a bulk operation in the wrong account (Zeon Studio, Apr 2026).

One more thing: give each client's PIT a descriptive name inside GHL (e.g., "Claude MCP — Dental Client — May 2026") and track rotation in a shared doc. You'll want that when the 90-day rotation comes around.


Official MCP Server vs. Community MCP Servers: Which Should Agencies Use?

GoHighLevel's official MCP server (services.leadconnectorhq.com/mcp/) launched with 36 tools, is actively maintained by the GHL team, and is expanding toward 250+ (GoHighLevel Official Docs, Feb 2026). It covers the core CRM operations: contacts, conversations, opportunities, calendars, tags, and appointments.

The community-built server, mastanley13/GoHighLevel-MCP on GitHub, currently has 269+ tools across 19 categories — including invoices, payments, social media posting, e-commerce, and email campaign management that aren't in the official server yet. As of May 2026 it has 166 stars and 172 forks, which suggests active maintenance.

For most agencies:

Start with the official GoHighLevel MCP server. GoHighLevel maintains it, patches it, and it covers everything you need for the core workflows above. The 36-tool set handles contacts, pipelines, conversations, tags, appointments, and reporting.

Add the community server when you hit a gap. If you need invoice automation, social posting, or e-commerce management through Claude, the community server does that today. Run both in your MCP config with distinct keys:

{
  "mcpServers": {
    "ghl-official": { },
    "ghl-community": { }
  }
}

The risk with community servers is that if the repo goes quiet, you're on your own. The official server is the safer long-term bet for client-facing production work.


Troubleshooting: Fix the Most Common GoHighLevel MCP Errors

401 Unauthorized

Your Private Integration Token is missing, expired, or pasted wrong. Regenerate the PIT in GHL Settings → Private Integrations, re-copy it carefully (no trailing spaces), and update your MCP config. The Authorization header format should be exactly Bearer YOUR_TOKEN — no quotes around the token, no extra characters.

403 Forbidden

The token exists but doesn't have permission for what Claude is trying to do. Go back to your PIT settings in GHL and check which scopes are enabled. If Claude is reading conversations but your token only has the Contacts scope, you'll get a 403. Enable the right scopes and generate a new token (scopes can't be added to existing PITs — you have to regenerate).

404 Not Found

The Location ID in your config doesn't match the sub-account. Open the sub-account in GHL and check the ID in the URL: app.gohighlevel.com/location/[YOUR_ID].

429 Rate Limited

GoHighLevel's MCP rate limit is 100 requests per 10 seconds (Zeon Studio, May 2026). Bulk operations across large contact lists can hit this. Break them into batches — ask Claude to process 500 contacts at a time with a pause between batches, or narrow the query (one pipeline stage at a time rather than all opportunities at once).

Claude returns outdated data

MCP pulls live data, but GHL's cache can lag occasionally. If what you're seeing doesn't match the GHL dashboard, wait 60 seconds and re-query. For time-sensitive bulk operations, spot-check one or two records manually in GHL before going further.


Security Best Practices for Agency-Scale Deployments

Giving an AI model write access to client CRM data is not a step to take carelessly. These practices apply at any scale.

Minimum-permission PITs. Only enable the scopes your current workflows actually use. Running read-only reporting? Don't enable write permissions. Add scopes as needed rather than enabling everything upfront.

Rotate PITs every 90 days. Standard practice for API tokens with CRM write access (Zeon Studio, Apr 2026). Put it in your calendar, generate new PITs, update your .mcp.json files, revoke the old tokens from GHL Settings.

Always test in staging first. Every new workflow should run in a test sub-account before touching a client's production data. Create a staging sub-account, add a handful of dummy contacts, and run the workflow there. If the result looks wrong, nothing real broke.

Audit your CLAUDE.md context. If you're using a CLAUDE.md file to give Claude persistent context about a client account, review what's in it. Don't include client PII — customer email addresses, payment details — in context files. Keep it to account configurations and workflow preferences.

Never share PITs in chat. PITs are credentials. Treat them like a database password — they go in config files, not in Claude conversations, Slack messages, or emails.


Real Agency Results: Time and Cost Savings from Claude + GoHighLevel MCP

RSL/A is a two-person marketing agency running Claude Code with nine MCP integrations — GoHighLevel, Sanity CMS, Vercel, Notion, Google Workspace, GitHub, the Gemini API, and two others. Their reported numbers as of May 2026:

  • Weekly client reports: 30 minutes → 5 minutes
  • New client pipeline setup: 1 hour → minutes
  • Annual output: from 4 blog posts, 2 sites, and 10 automations to 12 blog posts, 5 sites, and 30 automations — 3x overall (RSL/A, May 2026)
  • Total monthly AI tooling cost: under $60

"Claude Code has become the third employee at RSL/A — it doesn't attend client meetings or make strategic decisions, but it builds, deploys, generates, manages, and automates at a pace that makes a two-person agency competitive with teams five times their size." — RSL/A team

The output multiplier is the actual story. The $60/month is almost beside the point; the 3x output without adding headcount is the real business case. And that's with GoHighLevel as one of nine integrations.

At a smaller scale, an anonymous agency profiled by Netpartners Marketing reports that stale lead auditing and pipeline cleanup tasks that previously consumed hours of weekly dashboard work now run as single prompts. The time savings don't require nine integrations. Connecting Claude to GHL for just one workflow — weekly client reporting, say — typically pays back the setup time within the first week.


Frequently Asked Questions

Does the GoHighLevel MCP integration work on all plans including Starter?

Yes. MCP access is available on all GoHighLevel plans, including Starter at $97/month. No extra fee from GoHighLevel for using the MCP server. Your only additional cost is Claude — Claude Code Pro is $20/month, or you can use Claude Desktop (free for limited use) with a paid API key.

What's the difference between the official GHL MCP server and the community MCP servers?

The official server at services.leadconnectorhq.com/mcp/ is maintained by GoHighLevel directly, launched with 36 tools, and is expanding toward 250+. The main community server (mastanley13/GoHighLevel-MCP on GitHub) currently has 269+ tools across 19 categories — invoices, social media, payments, e-commerce — things not yet in the official server. For production client work, the official server is the more stable choice. Use the community server to fill specific gaps.

Can Claude create GoHighLevel workflows and automations through MCP?

The current 36-tool official MCP server covers contacts, conversations, opportunities, tags, appointments, and calendars. Building native GHL workflow automations (the visual automation builder) isn't in the current toolset, but it's expected as GHL moves toward 250+ tools. For now, Claude works on data and records rather than building GHL's own automation workflows.

Is it safe to connect Claude to a GoHighLevel account with client data?

It can be done safely with the right setup: minimum-permission scopes, PIT rotation every 90 days, staging tests before production, and PITs in config files — never in chat sessions. Claude processes your GHL data within the session context; check Anthropic's data usage policies if you have questions about enterprise data handling.

Do I need Claude Code specifically, or will Claude Desktop work for GoHighLevel MCP?

Both support MCP connections with the same JSON config format. Claude Desktop works for basic workflows. Claude Code is the better choice for agencies because it supports project-level .mcp.json files (which matter for multi-client isolation), CLAUDE.md context files, and more granular session management. If you're managing more than one or two clients through MCP, use Claude Code.

How many API requests can Claude make before hitting GoHighLevel rate limits?

GoHighLevel's MCP rate limit is 100 requests per 10 seconds (Zeon Studio, May 2026). For most single-session workflows — reporting, pipeline cleanup, contact auditing — you won't hit it. It becomes relevant during bulk operations across thousands of contacts. Work around it by processing records in batches of 300–500 rather than querying everything at once.

Can I manage multiple GoHighLevel client sub-accounts from one Claude session?

Not safely in a single session. Use project-level .mcp.json files — one per client workspace in Claude Code. Each project loads the correct PIT and Location ID automatically, which prevents cross-account operations. Switching clients means switching Claude Code projects.

How is GoHighLevel MCP different from GoHighLevel's built-in Conversation AI?

GHL's Conversation AI and Voice AI are outbound-facing — they talk to your leads and clients. Claude + MCP is an internal operator tool — it works on your CRM on behalf of your team. The two don't overlap: Conversation AI handles prospect conversations inside GHL; Claude + MCP handles the CRM management work your team used to do by hand.


What to Do Next

Pick one workflow from the list above — stale lead auditing is the easiest starting point — and run it on a staging sub-account this week. The 15-minute GoHighLevel MCP setup really is 15 minutes. The only friction is deciding to start.

If you're managing more than three client accounts, set up the project-level .mcp.json structure from day one. Retrofitting multi-client isolation after you've already built workflows is a pain. Get the config right at the start and you won't touch it again.

Once the core workflows are running, look at what's still taking time. The next prompt worth writing usually becomes obvious within the first week.

#GoHighLevel#Claude MCP#CRM automation#agency automation#AI workflows

Ready to automate your business?

Let's talk about the workflows that would make the biggest difference for your team.

Contact Us