On this page
- 1In short
- 2Pick your tool
- 3What is the GoHighLevel MCP server
- 4What you can automate with it
- 5Is it free, and what you need
- 6Step 1: Create your Private Integration Token
- 7Step 2: Find your Location ID
- 8Step 3: Connect your AI tool
- 9Connect n8n
- 10For developers
- 11Official server versus community servers
- 12Built-in Ask AI versus the external MCP server
- 13Real example prompts
- 14For agencies with multiple sub-accounts
- 15Security and token rotation
- 16MCP versus Zapier
- 17Troubleshooting
- 18More from RocketLauncher
In short
- GoHighLevel ships an official MCP server that lets AI tools like Claude, Cursor, and n8n read and write your account.
- This guide covers every AI tool, the official versus community comparison, security, and real agency prompts on one page.
- It is free with any GoHighLevel plan. You only need a Private Integration Token and about 5 minutes.
Commands and config last verified 2026-08-10 against the official GoHighLevel docs.
Pick your tool
- MCP for non-developers. New to MCP? Start here for the plain-English version before you touch a token.
- Connect Claude to GoHighLevel. The Claude-specific walkthrough, from token to first prompt.
- Connect ChatGPT to GoHighLevel. No official MCP server yet on most plans. The Custom GPT and Zapier route that works today.
What is the GoHighLevel MCP server
MCP stands for Model Context Protocol. It is an open standard that lets an AI tool call an outside service through a set of named tools. The GoHighLevel MCP server is GoHighLevel's official version of that door. Once you connect it, an AI assistant can act on your GoHighLevel account directly instead of you clicking through the dashboard.
The server lives at one endpoint: https://services.leadconnectorhq.com/mcp/. It reaches the core parts of your account: contacts, conversations, calendars, opportunities, payments, locations, social media posting, blogs, and emails. You decide which of those the AI is allowed to touch when you create your token, so it never has more access than you grant.
In plain terms: instead of opening GoHighLevel and searching for a lead, you can ask Claude "find leads who replied this week and have not booked a call" and it pulls the answer from your account live. That is what the MCP server makes possible.
What you can automate with it
In practice, most people connect it for a handful of recurring jobs. A few concrete ones:
- Contact triage. Find every lead that replied but never booked, without scrolling the pipeline by hand.
- Pipeline updates. Create or move an opportunity to the right stage from a plain-language request, no dashboard clicks.
- Conversation digests. Summarize a week of messages and flag anyone who sounds ready to buy or unhappy, before your Monday review.
- Call prep. Pull a contact's full history into a short briefing right before you dial.
- List cleanup. Pull every contact with a given tag and check which ones still have an open opportunity.
Every one of these runs through the same scopes you set on your token, so the AI only ever touches the modules you approved. See the full prompt walkthroughs further down this page.
Is it free, and what you need
Yes, the official MCP server is free with any GoHighLevel plan. There is no extra MCP charge. People get confused because the AI tools you connect (Claude, Cursor, and others) have their own pricing, but the GoHighLevel side costs nothing beyond your normal subscription.
You need three things, and setup takes about 5 minutes:
- A GoHighLevel account (any plan).
- A Private Integration Token, created in Settings (covered next).
- Your Location ID, which identifies the sub-account you want the AI to work in.
Step 1: Create your Private Integration Token
In GoHighLevel, go to Settings, then Private Integrations, then Create New Integration. Give it a clear name (for example "Claude MCP, Acme client"). Select only the scopes you need, then copy the token.
Important: it must be a Private Integration Token.
The token starts with pit-. A regular API key or a legacy v1 API key will not work and is the number one cause of 401 errors. The token is shown once, so copy it somewhere safe before you close the screen.
A sensible minimal scope set
For most agency work, start read-only and add write scopes only where you want the AI to make changes. A safe starting set is read access to contacts, conversations, and opportunities. Add write access to contacts and opportunities once you trust the setup. Leave delete scopes off unless you have a clear reason, because some scopes let the AI remove data.
Step 2: Find your Location ID
The Location ID names the sub-account the AI works in. Two ways to find it:
- In the app: go to Settings, then Company, then Locations, and copy the ID for the account you want.
- From the URL: open the sub-account and read the ID out of the address bar. It is the long string after
/location/.
One note from the official docs: the locationId header is optional. You can pass it in the header as shown below, or leave it out and name the location inside your prompts. Setting it in the header is simpler when you only work in one account.
Step 3: Connect your AI tool
Most modern AI tools speak MCP over HTTP, so the config is the same shape everywhere: the endpoint, an Authorization header with your token, and an optional Location ID header. Here is the base config used by Cursor, Windsurf, and the OpenAI Playground.
Base HTTP config (Cursor, Windsurf, OpenAI Playground)
{
"mcpServers": {
"ghl": {
"url": "https://services.leadconnectorhq.com/mcp/",
"headers": {
"Authorization": "Bearer YOUR_PIT_TOKEN",
"locationId": "YOUR_LOCATION_ID"
}
}
}
}Claude Code
Claude Code stores its MCP config in ~/.claude.json. Add the ghl block from above under mcpServers, or run claude mcp add and paste the endpoint and headers when prompted. Restart Claude Code, then type /mcp to confirm the GoHighLevel tools are listed.
Claude Desktop
Claude Desktop does not yet connect over direct HTTP, so it uses the mcp-remote npx wrapper, which bridges the HTTP server to the local connection Claude Desktop expects. Add this to your Claude Desktop config, then restart the app. Confirm the current method in the official docs when you set it up, since this is the part most likely to change.
Claude Desktop config (mcp-remote wrapper)
{
"mcpServers": {
"ghl": {
"command": "npx",
"args": [
"mcp-remote",
"https://services.leadconnectorhq.com/mcp/",
"--header",
"Authorization: Bearer YOUR_PIT_TOKEN",
"--header",
"locationId: YOUR_LOCATION_ID"
]
}
}
}Cursor and Windsurf
Both connect over direct HTTP. Open the MCP settings, add the base config from the top of this section, and save. The GoHighLevel tools appear in the tool list once the editor reloads. If nothing shows up, recheck that the token starts with pit-.
Gemini CLI
Add the same server block to your Gemini CLI settings file under its MCP servers section, using the endpoint and the Authorization header. Restart the CLI and run its MCP list command to confirm the connection. Gemini is also the one AI crawler that renders JavaScript, but that is unrelated to the MCP connection here.
OpenAI Playground
In the Playground, add a remote MCP server, paste the endpoint, and set the Authorization header to Bearer YOUR_PIT_TOKEN. Save and the GoHighLevel tools become available to the model in that session.
Connect n8n
n8n connects without any custom plugin. Add the MCP Client node to your workflow, set the URL to https://services.leadconnectorhq.com/mcp/, choose the HTTP Streamable transport, and use header-based auth with your pit- token. You need a recent n8n version (1.104 or newer at the time of writing). If you do not see the Streamable transport option, update n8n first.
From there, the GoHighLevel tools are available to any AI agent node in your workflow, so you can chain GoHighLevel actions with the hundreds of other apps n8n connects to.
For developers
If you are building your own agent, the official docs include a LangChain and LangGraph example in Python. The MCP adapter loads every GoHighLevel tool, and your agent can call them like any other tool. Here is the shape of it.
Python: LangGraph agent with the GoHighLevel MCP server
# pip install langchain-mcp-adapters langgraph langchain-openai
import asyncio
from langchain_mcp_adapters.client import MultiServerMCPClient
from langgraph.prebuilt import create_react_agent
async def main():
client = MultiServerMCPClient({
"ghl": {
"url": "https://services.leadconnectorhq.com/mcp/",
"transport": "streamable_http",
"headers": {
"Authorization": "Bearer YOUR_PIT_TOKEN",
"locationId": "YOUR_LOCATION_ID",
},
}
})
tools = await client.get_tools()
agent = create_react_agent("openai:gpt-4.1", tools)
result = await agent.ainvoke(
{"messages": "List my 5 most recent contacts"}
)
print(result["messages"][-1].content)
asyncio.run(main())The same adapter works from Node and other LangChain runtimes. If you want to build a custom server that wraps GoHighLevel endpoints the official one does not cover yet, see our build-your-own MCP server recipe.
Official server versus community servers
GoHighLevel's official server is the place to start. The community has also built open-source MCP servers on GitHub that expose far more tools by wrapping more of the API. They are unofficial and unsupported, and you host them yourself. Here is an honest comparison.
| Factor | Official server | Community servers |
|---|---|---|
| Tool count | Around three dozen and growing toward 250+ | Much larger (one lists 520+ tools, another 269+) |
| Support | Supported by GoHighLevel | Community only, no official support |
| Hosting | Hosted by GoHighLevel, nothing to run | You host and maintain it yourself |
| Cost | Free with your plan | Free code, but your own hosting and upkeep |
| Best for | Almost everyone, day one | A specific tool the official one lacks |
The rule of thumb: start official. Reach for a community server only when you hit a real gap, and understand you are taking on the hosting and the security of running it yourself.
Built-in Ask AI versus the external MCP server
GoHighLevel has Ask AI inside the app. It is great for quick help while you work in the dashboard. The MCP server is a different thing: it lets your own AI tools reach into the account from outside. Use Ask AI for in-app questions. Use the MCP server when you want GoHighLevel to be one step in a larger AI workflow you control, chained with other tools.
Real example prompts
Once connected, you talk to your account in plain language. These five prompts do real agency work.
- Find hot leads and draft follow-ups. "Find contacts who replied in the last 7 days but have no booked appointment, and draft a short follow-up message for each." A good result is a short list with a tailored message per lead, ready for you to send.
- Create an opportunity. "Create a new opportunity for Jane Doe in the Sales pipeline at the Proposal stage worth 2,500 dollars." It returns the new opportunity with the right stage and value set.
- Summarize a week of conversations. "Summarize all conversations from this week and flag anyone who sounds unhappy." You get a digest plus a short at-risk list.
- Clean up a tag. "List every contact tagged trial-expired and tell me which ones still have an open opportunity." Useful before a re-engagement push.
- Prep for a call. "Pull the full history for the contact at this email and give me a 3-line briefing before my call." It reads contact, conversations, and opportunities and hands you the summary.
For agencies with multiple sub-accounts
This is the most common agency question. Use one Private Integration Token per client sub-account. Each token is tied to a single location, so a token per client keeps every client's data fully separate and lets you revoke one client without affecting the rest.
Name each token after the client so you never mix them up. When you connect an AI tool for a specific client, use that client's token and Location ID. If a client leaves, revoke their token and the access is gone. Sharing one token across clients breaks that separation and is the thing to avoid.
You need a GoHighLevel account to use the MCP server. Start the 30-day trial through our link.
Security and token rotation
The honest fear is real: people worry the AI could delete contacts or mess up a client account. The fix is not trust, it is access control. The AI can only ever do what your token's scopes allow.
- Grant least access. Select only the scopes you need. Leave delete scopes off unless you truly want them. Read-only tokens cannot change anything.
- Rotate every 90 days. Generate a new token, update your config, confirm the connection, then let the old one go. The rotate option keeps the old token working for 7 days during the switch so nothing breaks.
- One token per client. Separate tokens mean a single revoke removes one client's access cleanly.
- Revoke on exposure. If a token ever leaks, revoke it immediately rather than waiting for the next rotation.
Note that legacy v1 API keys are deprecated, which is part of why the Private Integration Token is now the required path.
MCP versus Zapier
They solve different problems. Zapier and similar tools are best for fixed, triggered automations: when X happens, do Y. The MCP server is best for open-ended AI work where the assistant decides which actions to take based on what you ask. Many people use both: Zapier for the predictable pipes, MCP for the AI-driven tasks.
If you are choosing between Zapier, Make, n8n, and the direct API for automation specifically, we cover that decision in detail in the Zapier vs Make vs n8n vs direct API recipe.
Troubleshooting
- 401 from the wrong key type. The token must start with
pit-. A regular or legacy API key returns 401. Recreate the token under Private Integrations. - Deprecated v1 key. Old v1 API keys no longer work with MCP. Switch to a Private Integration Token.
- Missing or wrong Location ID. If actions hit the wrong account or fail, check the
locationIdheader or name the location in your prompt. - Rate limits. Heavy bursts can hit limits. Slow down repeated calls or batch the work.
- Stale session. If tools stop responding, restart your AI tool to clear the session and reconnect.