GoHighLevel now has an official MCP server, which means an AI agent can read and write your HighLevel CRM in plain English without any custom integration. You connect an MCP-compatible client to the HighLevel MCP endpoint using a Private Integration Token and a location ID, and the model can retrieve contacts, update records, send messages, search opportunities, check the calendar, and more. This guide shows how to connect an AI agent to GoHighLevel via MCP, what the server can do, and how it fits with GHL's own in-workflow AI agents.
If MCP is new to you, read the MCP developer's guide first. This piece is the GoHighLevel-specific bridge.
What the HighLevel MCP server gives you
The official server exposes roughly 21 tools covering the parts of the CRM agents actually need: contacts, calendar, conversations, opportunities, payments, and tasks. An AI client that connects can do things like "find the contact named Sarah and add a note", "what's on the calendar Thursday", or "move the Acme deal to Won", and the model translates that into the right tool calls. No integration code, no per-endpoint wiring. The server is included with your GoHighLevel account at no extra charge.
It works today with any client that speaks HTTP-based (Streamable HTTP) MCP, including Cursor, Windsurf, and similar tools. HighLevel's roadmap adds an npx package for clients that don't yet support Streamable HTTP (Claude Desktop among them) plus OAuth support, so the connection story is getting simpler over time.
What you need to connect
Three things:
- A Private Integration Token for the sub-account you want the agent to act on. You generate this in the sub-account settings and scope it to the permissions the agent needs. If you're new to PITs, see Private Integration Tokens vs Marketplace Apps.
- The HighLevel MCP endpoint:
https://services.leadconnectorhq.com/mcp/ - The location ID of that sub-account, so the server knows which account the tools operate on.
Scope the token to the minimum the agent needs. An agent that only reads contacts shouldn't hold a token that can touch payments. The token is the agent's authority, treat it like one.
Connecting a client
Most MCP clients take a URL plus headers for a remote server. You point the client at the HighLevel endpoint and pass your token and location. Conceptually the configuration looks like this:
{
"mcpServers": {
"highlevel": {
"url": "https://services.leadconnectorhq.com/mcp/",
"headers": {
"Authorization": "Bearer YOUR_PRIVATE_INTEGRATION_TOKEN",
"locationId": "YOUR_LOCATION_ID"
}
}
}
}
Once connected, the client lists the server's tools and the model can call them. From the user's side it feels like the assistant simply knows the CRM. Under the hood it's the model discovering the HighLevel tools over MCP and calling them with your scoped token.
How this connects to GHL's in-workflow AI agents
Here's where it gets interesting for developers. GoHighLevel doesn't just expose an MCP server, it also runs AI agents inside its workflow builder that can call MCP tools. That means MCP is a two-way street on the platform: you can point an external agent at HighLevel's data, and HighLevel's own workflow agents can reach out to external MCP servers you build.
So if you build a custom MCP server (say, one that looks up inventory or scores a lead against your own model), an agency's HighLevel workflow can call it as a step. That's a genuinely new category of product: tools that extend what an agency's automation can do, triggered from inside their workflows. Building that server is covered in How to Build Your First MCP Server in TypeScript, and the broader platform opportunity in the GoHighLevel custom development guide.
Security notes worth taking seriously
An MCP connection to a CRM is a live credential to real customer data, so treat it with the same care as any API access.
- Scope the token to only what the agent needs, and use a separate token per agent so you can revoke one without breaking the others.
- Rotate tokens on a schedule (roughly every 90 days is the HighLevel recommendation) since a Private Integration Token doesn't expire on its own.
- Mind what the model can do. An agent with write access can change or delete records. For higher-stakes actions, keep a human in the loop rather than letting the model act unattended.
Where to go next
If you want to consume HighLevel data in an AI client, you have everything you need above: token, endpoint, location ID. If you want to build MCP tools that HighLevel's workflow agents can call, start with building an MCP server and read MCP vs REST APIs to design the tools well. For the platform-level opportunity, the custom development guide is the map.
Frequently asked questions
What do I need to connect an AI agent to GoHighLevel via MCP?
A Private Integration Token for the sub-account, the HighLevel MCP endpoint (https://services.leadconnectorhq.com/mcp/), and the location ID. Point any Streamable-HTTP MCP client at the endpoint with those, and the tools appear.
Does the HighLevel MCP server cost extra?
No. It's included with your GoHighLevel account. You only need a Private Integration Token to authenticate.
Which AI clients can connect today?
Any client that supports Streamable HTTP MCP, such as Cursor and Windsurf. Support for clients that need an npx bridge (including Claude Desktop) and OAuth is on HighLevel's roadmap.
Can HighLevel's own workflows use MCP tools I build?
Yes. GoHighLevel runs AI agents inside its workflow builder that can call MCP tools, so a custom MCP server you build can be invoked as a step in an agency's automation.




