Skip to main content
Glama

GoHighLevel MCP Starter

Talk to your GoHighLevel sub-account from Claude, in plain English.

A small, readable Model Context Protocol server for GoHighLevel API v2. Six tools, roughly 300 lines, MIT licensed. Built to be read in one sitting and forked into whatever you actually need.

You:    Who booked with us last week, and is Tuesday at 2 open?
Claude: [search_contacts] [list_calendars] [get_free_slots]
        Three new contacts. Tuesday 2:00 is not offered, the calendar runs
        at quarter past. 2:15 and 3:15 are open.

Why another GHL MCP server

Most of them are a thin wrapper around the API surface. This one is opinionated about the three things that actually bite you in production:

1. It never hides an error. GHL explains its failures in the response body, but almost every wrapper throws away the body and surfaces a bare 400. That single decision turns a ten second fix into an hour of guessing. This client always reads the body and puts the real message in the error.

2. Writes are opt-in. Every mutating tool is a dry run by default. It returns the exact payload it would send so you can look at it first. Add confirm: true to actually write. Letting a model create records in a live CRM on the first try is how you end up with 40 test contacts named "John Doe" in a client account.

3. It looks before it leaps. book_appointment pulls live availability and checks your requested time against it before writing, then tells you the real open slots if you missed. GHL would just return a bare 400.

Plus GOTCHAS.md, which is the list of GHL API quirks that cost real debugging time. That file may be more valuable than the code.

Related MCP server: ghl-mcp

Tools

Tool

What it does

search_contacts

Find contacts by name, email, or phone

get_contact

Fetch one contact by id

create_contact

Create a contact (dry run by default)

list_calendars

All calendars with ids and slot durations

get_free_slots

Real bookable times, epoch conversion handled

book_appointment

Verify the slot, then book (dry run by default)

Setup

1. Install

git clone https://github.com/rockurbusinesscs-ship-it/gohighlevel-mcp-starter.git
cd gohighlevel-mcp-starter
npm install

2. Get a Private Integration Token

In GoHighLevel, go to your sub-account (not the agency):

Settings > Private Integrations > Create new integration

Grant the scopes you need. For these six tools: contacts read/write, calendars read, calendars/events write. Copy the token, it is shown once.

Use a test sub-account while you are learning. See Safety below.

3. Configure

cp .env.example .env

Fill in GHL_TOKEN and GHL_LOCATION_ID. The server loads .env automatically, and env vars set by your MCP client take precedence, so either approach works.

4. Connect to Claude

Claude Code:

claude mcp add ghl -- node /absolute/path/to/gohighlevel-mcp-starter/src/index.js

Claude Desktop, in claude_desktop_config.json:

{
  "mcpServers": {
    "ghl": {
      "command": "node",
      "args": ["/absolute/path/to/gohighlevel-mcp-starter/src/index.js"],
      "env": {
        "GHL_TOKEN": "your_token",
        "GHL_LOCATION_ID": "your_location_id"
      }
    }
  }
}

Restart, then ask it to search your contacts.

Use cases

Pipeline triage without the UI. "Show me everyone tagged hot who has not been contacted in 14 days." Reading a CRM conversationally is faster than clicking through filters, and it is where most of the daily value is.

Booking without the back and forth. "Is Wednesday afternoon open, and book Sarah into the first slot." The slot verification means it fails loudly with real options instead of a mystery error.

Data hygiene. Point it at your contacts and ask what is malformed: missing emails, phone numbers that are not E.164, duplicates. It is very good at spotting the mess.

Onboarding automation. Chain contact creation and booking into a single request when a new client signs, with the dry run keeping you in the loop before anything writes.

Learning the API. Honestly, this is the big one. Fork it, add a seventh tool against an endpoint you care about, and you will understand GHL's API better in an afternoon than a week of reading docs.

Safety

  • Never commit .env. It is gitignored. Check before you push anyway.

  • Use a test sub-account first. A Private Integration Token can write to a real client's CRM. Learn on data you can afford to break.

  • Keep the dry run. If you remove the confirm gate, you have handed write access to a language model that occasionally misreads intent.

  • One token, one location. Do not reach for an agency token to avoid setting locationId.

Contributing

Found a gotcha not in GOTCHAS.md? That is the most valuable PR you can send. Bug reports and new tools welcome too.

License

MIT. Use it commercially, fork it, ship it in your product, no obligations.


Not affiliated with or endorsed by GoHighLevel / HighLevel Inc.

Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    D
    maintenance
    A comprehensive MCP server that connects AI assistants to GoHighLevel CRM, enabling management of contacts, conversations, calendars, pipelines, payments, and more through 60+ tools.
    Last updated
    58
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    MCP server for GoHighLevel API v2 that provides 50+ tools for CRM, billing, marketing, and operations workflows, enabling natural language interaction with contacts, opportunities, conversations, and more.
    Last updated
    50
    1
    MIT
  • A
    license
    -
    quality
    C
    maintenance
    An MCP server for GoHighLevel with 82 live-tested tools, enabling CRM operations like contact management, appointments, invoices, and workflows via natural language.
    Last updated
    36
    MIT

View all related MCP servers

Related MCP Connectors

  • LeadConnector / GoHighLevel MCP Pack — wraps the GoHighLevel CRM for AI agents.

  • Personal assistant MCP server with search, execute, packages, jobs, secrets, and integrations.

  • Managed LinkedIn MCP server for AI agents: search, connect, message and enrich on accounts you own.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rockurbusinesscs-ship-it/gohighlevel-mcp-starter'

If you have feedback or need assistance with the MCP directory API, please join our Discord server