Connect Claude to GoHighLevel.

HighLevel ships an official MCP server with a dedicated Claude endpoint: one URL, a one-click sign-in, and Claude can read and operate your sub-account. Verified against HighLevel's official developer documentation.

1

Connect with one-click sign-in (recommended)

HighLevel now runs a Claude-specific endpoint with OAuth: you sign in through the LeadConnector consent flow, pick your sub-account, and there is no token to create, store, or rotate. This is the endpoint to use:

Claude MCP endpoint
https://services.leadconnectorhq.com/mcp/anthropic/v2

In Claude Desktop, open Settings, then Connectors, click Add custom connector, and paste the endpoint URL above. Complete the HighLevel sign-in when prompted and the connector appears under the tools icon.

2

Or connect with a token (scoped access)

Prefer explicit, scope-limited credentials, or connecting from a client without the OAuth flow? The original endpoint takes a Private Integration Token. In the target sub-account go to Settings, then Private Integrations, click Create New Integration, name it honestly (like "Claude MCP"), select scopes, and copy the token (it starts with "pit-"). Then grab the Location ID from Settings, then Business Profile. Treat the token like a password: it IS the keys to this sub-account.

Recommended scopes

  • View Contacts
  • Edit Contacts
  • View Conversations
  • Edit Conversations
  • View Conversation Messages
  • Edit Conversation Messages
  • View Opportunities
  • Edit Opportunities
  • View Calendars
  • View Calendar Events
  • View Payment Orders
  • View Payment Transactions
  • View Custom Fields
  • View Forms
  • View Locations

Add Blogs, Email Template, and Social Planner scopes if you want Claude publishing blog posts, creating email templates, or scheduling social content. Tools appear in Claude based on the scopes you grant.

Terminal
claude mcp add --transport http gohighlevel https://services.leadconnectorhq.com/mcp/ \
  --header "Authorization: Bearer PASTE-YOUR-PIT-HERE" \
  --header "locationId: PASTE-YOUR-LOCATION-ID"

One token plus one Location ID equals one sub-account connection. Agencies connect each client sub-account separately, which keeps client data cleanly separated. There is no agency-wide connection.

3

Test it safely

Start read-only. These three prompts prove the connection works, confirm you are pointed at the right sub-account, and change nothing:

Safe test prompts
1. Which sub-account is this connection scoped to, and what timezone is it set to?
2. List my pipelines and their stages, with how many open opportunities are in each.
3. Show me the last 5 conversations and flag any that look like they need a reply.

The first answer should name the exact sub-account you expected. If it names a different one, fix the connection (or the locationId) before doing anything else.

What Claude can do once connected

ContactsSearch, create, update, upsert, tag and untag contacts, read their tasks
ConversationsSearch threads, read messages, send SMS / email / DM replies (with your approval)
OpportunitiesSearch deals, read pipelines and stages, move stages, update values and owners
CalendarsRead appointments and appointment notes in any date range
PaymentsRead orders and transactions for revenue reporting
BlogsCreate and update blog posts, check slugs, list authors and categories
Email templatesCreate and fetch email templates
Social plannerCreate, schedule, edit posts and read social statistics
Location dataRead the sub-account profile, timezone, and every custom field key

The dedicated Claude endpoint keeps growing: HighLevel documents hundreds of operations across 40 domains, including products, invoices, estimates, and forms. Before assuming something is out of reach, just ask Claude to check; the connector can discover its own available operations.

Where the MCP stops, and what to do instead

Build or edit workflows and automationsUse a Workflow AI prompt from the Prompt Library
Create or configure calendarsUse an Ask AI prompt
Create pipelines or stagesUse an Ask AI prompt
Build funnels, websites, landing pagesUse an Ask AI prompt
Create custom fieldsUse an Ask AI prompt
A2P, phone numbers, snapshots, usersManual, in the GHL UI (compliance-sensitive)

Troubleshooting

  • OAuth connection stopped working: disconnect the connector and reconnect through the sign-in flow; approvals can be revoked from the HighLevel side.
  • 401 or 403 on the token path: the PIT is missing a scope. Settings, then Private Integrations, edit the integration, enable the scope, retry.
  • A tool seems missing: available operations follow the permissions you granted. On the token path, no Payments scopes means no payments tools.
  • Wrong data coming back: the connection points at a different sub-account. Re-run the first test prompt and reconnect to the right location.
  • Token leaked or shared: delete the integration and create a fresh one. Tokens do not expire on their own. (The OAuth path avoids this class of problem entirely.)
  • It connects but answers feel generic: install the GHL GOAT skill from the Skills page; it teaches Claude the operating discipline.