Skip to main content
Glama
yeisonmbotero

ghl-mcp-server

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
GHL_APP_URLNoThe URL you log into (https://app.gohighlevel.com or your white-label domain) for browser transport.
GHL_CDP_URLNoChrome DevTools endpoint (browser transport).http://127.0.0.1:9222
GHL_TIMEOUTNoPer-request timeout in seconds.30
GHL_API_TOKENNoBearer token for the internal API (required for token transport).
GHL_READ_ONLYNoSet to '1' to disable all write tools.
GHL_TRANSPORTNoTransport mode: 'browser' or 'token'. Defaults to 'token' if GHL_API_TOKEN is set, else 'browser'.
GHL_COMPANY_IDNoAgency ID, only for ghl_a2p_registration_status.
GHL_LOCATION_IDNoDefault sub-account ID (recommended).
GHL_STORAGE_STATENoPath to your exported Playwright session (headless fallback).

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
ghl_list_workflowsB

List automation workflows and folders of a sub-account.

ghl_get_workflowA

Get one workflow in full: triggers, actions (nodes) and branches.

ghl_list_number_poolsB

List number pools (dynamic call-tracking numbers shown on websites).

ghl_list_phone_numbersC

List the phone numbers provisioned in the sub-account's phone system.

ghl_a2p_statusA

Read the phone-system sub-account record, including A2P 10DLC (US SMS) state. Read-only.

ghl_a2p_registration_statusA

Read the A2P 10DLC standard registration settings of a sub-account. Never submits anything.

ghl_list_formsC

List the forms of a sub-account.

ghl_list_funnelsB

List funnels and websites of a sub-account.

ghl_list_custom_fieldsB

List custom fields (contact and opportunity models), including their ids and fieldKeys.

ghl_list_pipelinesC

List opportunity pipelines and their stages.

ghl_create_custom_fieldA

Create a custom field. WRITES to the live account.

ghl_update_custom_fieldB

Rename a custom field. WRITES to the live account.

ghl_delete_custom_fieldA

Delete a custom field. DESTRUCTIVE: data stored in the field is lost.

ghl_create_custom_valueC

Create a custom value (a reusable sub-account variable such as {{custom_values.x}}). WRITES.

ghl_create_tagC

Create a contact tag. WRITES to the live account.

ghl_create_pipelineC

Create an opportunity pipeline. WRITES to the live account.

ghl_create_workflowA

Create an empty draft workflow and return its id. WRITES to the live account.

Triggers and actions can then be added with ghl_call (see docs/ENDPOINTS.md).

ghl_delete_workflowB

Delete a workflow by UUID. DESTRUCTIVE.

ghl_create_formA

Create an empty form and return its id. WRITES to the live account.

ghl_create_contactA

Create a contact. WRITES to the live account. Provide at least an email or a phone.

ghl_callA

Generic passthrough to any internal endpoint listed in docs/ENDPOINTS.md.

Use it for anything without a dedicated tool. Non-GET methods WRITE to the live account and are refused when GHL_READ_ONLY is enabled.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.4/5.0

Scored across 21 tools

Disambiguation5/5

Each tool targets a distinct resource and action—custom fields, workflows, forms, contacts, pipelines, tags, phone numbers, etc. Even the two A2P status tools are clearly separated by their scope (sub-account record vs. registration settings). The generic ghl_call is explicitly marked as a passthrough for anything else, so no ambiguity.

Naming Consistency4/5

All tools share the ghl_ prefix and follow a verb_noun pattern (create, update, delete, list, get, call). Minor inconsistencies include plural vs. singular nouns (e.g., ghl_list_number_pools vs. ghl_list_forms) and two non-verb tools (ghl_a2p_status, ghl_a2p_registration_status), but the overall convention is predictable and readable.

Tool Count4/5

With 21 tools, the count is slightly above the ideal range, but it is justified by the breadth of the GoHighLevel domain—covering CRM entities, phone systems, funnels, workflows, and more. Each tool serves a distinct purpose, so there is no redundancy; the count feels appropriate for the scope.

Completeness3/5

The tool surface has notable gaps: contacts only have create (no list/update/delete), tags only have create, custom values only have create, and forms/pipelines lack update/delete. However, the generic ghl_call passthrough provides a fallback for any missing endpoint, so agents are not dead-ended. This makes the set partially complete.

Maintenance

ActivityMaintained
ResponsivenessNo issues