RocketLauncher AI

AI and Automation Guide

GoHighLevel MCP Server: The Complete Setup Guide for Every AI Tool

By Marnix Geerkens. Published 2026-05-30. Updated 2026-05-30.

Commands and config last verified 2026-05-30 against the official GoHighLevel docs.

In short

The GoHighLevel MCP server is an official endpoint at https://services.leadconnectorhq.com/mcp/ that connects your GoHighLevel account to AI tools through the Model Context Protocol. You create a Private Integration Token, paste it into your AI tool, and the AI can then look up contacts, manage opportunities, read conversations, and more. It is free with any plan.

  • 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.

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.

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.

FactorOfficial serverCommunity servers
Tool countAround three dozen and growing toward 250+Much larger (one lists 520+ tools, another 269+)
SupportSupported by GoHighLevelCommunity only, no official support
HostingHosted by GoHighLevel, nothing to runYou host and maintain it yourself
CostFree with your planFree code, but your own hosting and upkeep
Best forAlmost everyone, day oneA 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.

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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 locationId header 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.

Frequently asked questions

Is the GoHighLevel MCP server free?

Yes. The official MCP server is included with any GoHighLevel plan. There is no separate MCP fee. You only pay for your normal GoHighLevel subscription, and the AI tool you connect (Claude, Cursor, n8n, and others) keeps its own pricing. The token you create in Settings is also free.

Why does my API key keep failing with a 401 error?

The number one cause is using the wrong key type. The MCP server only accepts a Private Integration Token, which starts with "pit-". A regular API key or a legacy v1 API key will return a 401. Create the token under Settings, Private Integrations, Create New Integration, then paste that pit- token into your config.

What scopes does the MCP server need?

Only the scopes for the work you want the AI to do. If you want it to read and update contacts and read conversations, select the contacts and conversations scopes and nothing else. Granting every scope is the most common security mistake because some scopes allow deletion. Start small and add scopes later if you need them.

How do I stop the AI from deleting my contacts?

Control it with scopes, not trust. When you create the Private Integration Token, leave out any delete or write scope you do not need. If the token only has read access, the AI physically cannot change or remove data, no matter what it is asked. Give write access only for the modules where you want changes, and review the tool list your client exposes.

Official server or a community server, which should I use?

Start with the official server. It is supported by GoHighLevel, it is free with your plan, and it covers the core modules most people need. Reach for a community server only when you need a specific tool the official one does not have yet. Community servers add many more tools but they are unofficial, unsupported, and you run them yourself, so weigh that tradeoff.

One token or many tokens for multiple client accounts?

Use one Private Integration Token per client sub-account. Each token is tied to one location, so a separate token per client keeps data fully separated and lets you revoke one client without touching the others. Do not share a single token across clients. Name each token clearly so you know which account it belongs to.

How do I rotate the token without breaking my setup?

GoHighLevel lets you rotate a Private Integration Token and keep the old one working for 7 days during the switch. Generate the new token, update your config, confirm the AI tool still connects, then let the old token expire. Rotate every 90 days as a habit. If a token is ever exposed, revoke it right away instead of waiting.

What is HTTP Streamable transport and which n8n version do I need?

HTTP Streamable (also called Streamable HTTP) is the modern MCP transport the GoHighLevel server uses over a single HTTP endpoint. In n8n, add the MCP Client node, set the URL to the server endpoint, choose the HTTP Streamable transport, and use header-based auth with your token. You need a recent n8n version (1.104 or newer at the time of writing). Update n8n if you do not see the Streamable transport option.

What is the difference between Ask AI and the MCP server?

Ask AI is the assistant built inside GoHighLevel for working in the app. The MCP server is an external door that lets your own AI tools (Claude, Cursor, n8n) read and write your account from outside. Use Ask AI for quick in-app help. Use the MCP server when you want to run GoHighLevel from your own AI workflows and chain it with other tools.

How many tools does the official MCP server have?

It is growing. At the time of writing the official docs list around three dozen tools across contacts, conversations, calendars, opportunities, payments, locations, social media, blogs, and emails, with a public roadmap toward 250 or more. Because the count moves, check the official docs for the current number rather than trusting any fixed figure you read online.

Does the GoHighLevel MCP server work on mobile?

The MCP server itself is a web endpoint, so it works from any client that can reach it. In practice you connect it from desktop AI tools like Claude, Cursor, Windsurf, or an n8n workflow. There is no separate mobile app for the MCP server. If your AI tool runs on mobile and supports remote MCP servers, it can connect the same way.

Is the GoHighLevel MCP server safe to use?

It is as safe as the scopes you grant. The token uses GoHighLevel official authentication, traffic is over HTTPS, and you decide exactly what the AI can touch. Keep scopes minimal, rotate the token every 90 days, use a separate token per client, and revoke any token you no longer need. With least access set, the worst case stays small.

Related resources

GoHighLevel API and RecipesAPI recipes, webhooks, and the build-your-own MCP server guide.GoHighLevel Voice AISet up the AI voice agent that answers and books calls.GoHighLevel PricingStarter $97, Unlimited $297, Pro $497. What is in each plan.