GoHighLevel MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GHL_API_KEY | Yes | Your GoHighLevel Private Integration Token | |
| GHL_LOCATION_ID | Yes | Your GoHighLevel Location ID |
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
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_conversationsA | Search and filter conversations in GoHighLevel. Returns a list of conversations matching the search criteria. |
| get_conversationA | Get details of a specific conversation by ID |
| create_conversationB | Create a new conversation with a contact |
| update_conversationA | Update a conversation (star/unstar, assign to user, mark as read) |
| delete_conversationC | Delete a conversation |
| get_messagesA | Get messages in a conversation |
| send_messageB | Send a message to a contact (SMS, Email, WhatsApp, etc.) |
| get_tasksB | Get all tasks for a specific contact |
| get_taskA | Get a specific task by ID |
| create_taskB | Create a new task for a contact |
| update_taskC | Update an existing task |
| delete_taskC | Delete a task |
| complete_taskB | Mark a task as completed or incomplete |
| get_calendarsB | Get all calendars in the location |
| get_calendarB | Get details of a specific calendar |
| get_free_slotsC | Get available time slots for a calendar |
| get_calendar_eventsA | Get calendar events/appointments within a date range |
| get_appointmentB | Get details of a specific appointment |
| create_appointmentB | Create a new appointment/calendar event |
| update_appointmentC | Update an existing appointment |
| delete_appointmentC | Delete/cancel an appointment |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 21 tools
Tools are clearly grouped by resource (conversations, tasks, calendars), and each has a distinct action. The only minor overlap is between get_calendar_events and get_appointment, but descriptions clarify that one lists events by date range while the other fetches a specific appointment.
Most tools follow a consistent verb_noun pattern in snake_case (e.g., create_conversation, update_task, delete_appointment). Minor deviations include pluralization differences (get_messages vs get_conversation) and the special case 'complete_task', but the overall convention is predictable.
21 tools is on the heavier side, falling into the 'feels heavy' range (16-25). However, the count is justified by covering CRUD for three distinct domains (conversations, tasks, appointments), so it is not excessive.
The server provides full CRUD for conversations, tasks, and appointments, plus message retrieval and sending. Minor gaps exist such as no update/delete for messages and no management of calendars themselves, but these are not critical to the core workflows.