Skip to main content
Glama
NightSquawk

@nightsquawktech/gohighlevel-mcp-server

by NightSquawk

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
GHL_BASE_URLNoOptional, default https://services.leadconnectorhq.com.https://services.leadconnectorhq.com
GHL_API_TOKENYesPrivate Integration Token or OAuth sub-account access token.
GHL_TIMEOUT_MSNoOptional, default 30000.30000
GHL_API_VERSIONNoOptional, default 2021-07-28.2021-07-28
GHL_LOCATION_IDYesDefault sub-account/location ID.

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
ghl_list_custom_fieldsB

List custom fields for a GoHighLevel location from /locations/{locationId}/customFields.

ghl_get_custom_fieldA

Get one custom field for a GoHighLevel location from /locations/{locationId}/customFields/{id}.

ghl_create_custom_fieldB

Create a custom field for a GoHighLevel location. Write operation: do not run against live data without explicit approval.

ghl_update_custom_fieldA

Update a custom field through the current location-scoped API: PUT /locations/{locationId}/customFields/{id}. Write operation: do not run against live data without explicit approval.

ghl_delete_custom_fieldA

Delete a custom field from /locations/{locationId}/customFields/{id}. Requires confirm: true and owner approval before live execution.

ghl_list_custom_fields_v2A

List Custom Fields V2 fields/folders by object key with GET /custom-fields/object-key/{objectKey}. Supports Custom Objects and Company/Business per HighLevel docs.

ghl_get_custom_field_v2A

Get a Custom Fields V2 field or folder by ID with GET /custom-fields/{id}.

ghl_create_custom_field_v2A

Create a Custom Fields V2 field with POST /custom-fields/. Write operation: do not run against live data without explicit approval.

ghl_update_custom_field_v2C

Update a Custom Fields V2 field with PUT /custom-fields/{id}. Write operation: do not run against live data without explicit approval.

ghl_delete_custom_field_v2A

Delete a Custom Fields V2 field with DELETE /custom-fields/{id}. Requires confirm: true and owner approval before live execution.

ghl_create_custom_field_folderA

Create a Custom Fields V2 folder with POST /custom-fields/folder. Write operation: do not run against live data without explicit approval.

ghl_update_custom_field_folderA

Update a Custom Fields V2 folder name with PUT /custom-fields/folder/{id}. Write operation: do not run against live data without explicit approval.

ghl_delete_custom_field_folderA

Delete a Custom Fields V2 folder with DELETE /custom-fields/folder/{id}. Requires confirm: true and owner approval before live execution.

ghl_list_custom_valuesB

List custom values for a GoHighLevel location from /locations/{locationId}/customValues.

ghl_get_custom_valueB

Get one custom value from /locations/{locationId}/customValues/{id}.

ghl_create_custom_valueB

Create a custom value for a GoHighLevel location. Write operation: do not run against live data without explicit approval.

ghl_update_custom_valueA

Update a custom value from /locations/{locationId}/customValues/{id}. Write operation: do not run against live data without explicit approval.

ghl_delete_custom_valueA

Delete a custom value from /locations/{locationId}/customValues/{id}. Requires confirm: true and owner approval before live execution.

ghl_search_contactsA

Search contacts with POST /contacts/search. This is the preferred read path over deprecated GET /contacts/.

ghl_get_contactB

Get one GoHighLevel contact from /contacts/{contactId}.

ghl_create_contactA

Create a contact with POST /contacts/. Write operation: do not run against live data without explicit approval.

ghl_update_contactA

Update a contact with PUT /contacts/{contactId}. Write operation: do not run against live data without explicit approval.

ghl_upsert_contactC

Create or update a contact with POST /contacts/upsert. Write operation: do not run against live data without explicit approval.

ghl_delete_contactA

Delete one GoHighLevel contact from /contacts/{contactId}. Requires confirm: true and owner approval before live execution.

ghl_merge_contacts_delete_loserA

Preview or execute a guarded contact merge workaround: read both contacts, check loser history, delete loser, then update survivor with loser email. Requires confirm: true to execute.

ghl_add_contact_tagsB

Add tags to a contact with POST /contacts/{contactId}/tags. Write operation: do not run against live data without explicit approval.

ghl_remove_contact_tagsA

Remove tags from a contact with DELETE /contacts/{contactId}/tags. Requires confirm: true and owner approval before live execution.

ghl_add_contact_to_workflowA

Add a contact to a workflow with POST /contacts/{contactId}/workflow/{workflowId}. Write operation: do not run against live data without explicit approval.

ghl_remove_contact_from_workflowA

Remove a contact from a workflow with DELETE /contacts/{contactId}/workflow/{workflowId}. Requires confirm: true and owner approval before live execution.

ghl_get_contact_notesB

List notes for a contact from /contacts/{contactId}/notes.

ghl_create_contact_noteA

Create a note for a contact with POST /contacts/{contactId}/notes. Write operation: do not run against live data without explicit approval.

ghl_get_contact_tasksA

List tasks for a contact from /contacts/{contactId}/tasks.

ghl_create_contact_taskA

Create a task for a contact with POST /contacts/{contactId}/tasks. Write operation: do not run against live data without explicit approval.

ghl_list_tagsA

List tags for a GoHighLevel location from /locations/{locationId}/tags.

ghl_get_tagC

Get one tag from /locations/{locationId}/tags/{id}.

ghl_create_tagA

Create a location tag. Write operation: do not run against live data without explicit approval.

ghl_update_tagA

Update a location tag. Write operation: do not run against live data without explicit approval.

ghl_delete_tagA

Delete a location tag. Requires confirm: true and owner approval before live execution.

ghl_search_opportunitiesB

Search opportunities with GET /opportunities/search using GoHighLevel server-side filters.

ghl_get_pipelinesA

List opportunity pipelines with GET /opportunities/pipelines?locationId={locationId}.

ghl_get_opportunityA

Get one opportunity with GET /opportunities/{id}.

ghl_create_opportunityA

Create an opportunity with POST /opportunities/. Write operation: do not run against live data without explicit approval.

ghl_update_opportunityA

Update an opportunity with PUT /opportunities/{id}. Write operation: do not run against live data without explicit approval.

ghl_update_opportunity_statusA

Update opportunity status with PUT /opportunities/{id}/status. Write operation: do not run against live data without explicit approval.

ghl_delete_opportunityA

Delete an opportunity with DELETE /opportunities/{id}. Requires confirm: true and owner approval before live execution.

ghl_search_conversationsC

Search conversations with GET /conversations/search.

ghl_get_conversation_messagesA

List messages for a conversation with GET /conversations/{conversationId}/messages.

ghl_send_messageB

Send an outward-facing message with POST /conversations/messages. Requires confirm: true and owner approval before live execution.

ghl_list_calendarsB

List calendars with GET /calendars/?locationId={locationId}.

ghl_get_calendar_eventsB

List calendar events with GET /calendars/events.

ghl_get_free_slotsB

Get free slots for a calendar with GET /calendars/{id}/free-slots.

ghl_create_appointmentC

Create an appointment with POST /calendars/events/appointments. Write operation: do not run against live data without explicit approval.

ghl_update_appointmentA

Update an appointment with PUT /calendars/events/appointments/{id}. Write operation: do not run against live data without explicit approval.

ghl_delete_appointmentA

Delete a calendar event with DELETE /calendars/events/{id}. Requires confirm: true and owner approval before live execution.

ghl_get_locationA

Get one GoHighLevel location/sub-account with GET /locations/{locationId}.

ghl_list_usersB

List users for a location with GET /users/?locationId={locationId}.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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/NightSquawk/gohighlevel-mcp-server'

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