GoHighLevel MCP Server - 162 AI-Powered Tools
Interact with GoHighLevel CRM through natural language. Manage contacts, opportunities, conversations, calendars, campaigns, workflows, forms, companies, invoices, and more.
Tool capabilities
Full tool listing grouped by capability area.
Accounts
-
get-social-accounts
Read onlyGet connected social media accounts for the GoHighLevel location. Use this to get valid account IDs for creating posts.
Ads
-
add-opportunity-follower
Add follower(s) to a GoHighLevel opportunity.
-
mark-conversation-read
Mark a GoHighLevel conversation as read by setting unread count to zero.
-
mark-conversation-unread
Mark a GoHighLevel conversation as unread by setting unread count to one.
-
upload-message-attachment
Upload and send message attachments in a GoHighLevel conversation.
-
upload-media-file
Upload a media file to GoHighLevel storage by URL.
Campaigns
-
get-campaigns
Read onlyList all campaigns in GoHighLevel for the connected location.
Companies
-
get-company
Read onlyGet a GoHighLevel company by ID.
-
create-company
Create a new company in GoHighLevel.
-
update-company
Update an existing GoHighLevel company.
Contacts
-
search-contacts
Read onlySearch GoHighLevel contacts by query string. Returns matching contacts with their details.
-
get-contact
Read onlyGet a GoHighLevel contact by ID. Returns full contact details including custom fields and tags.
-
get-contact-by-email
Read onlyLook up a GoHighLevel contact by exact email address. Use this to check if a contact exists before creating a new one to prevent duplicates.
-
get-contact-by-phone
Read onlyLook up a GoHighLevel contact by phone number. Use for dedup checks before creating contacts.
-
create-contact
Create a new contact in GoHighLevel. IMPORTANT: Before creating, use GetContactByEmail to check if the contact already exists to prevent duplicates.
-
update-contact
Update an existing GoHighLevel contact by ID.
-
delete-contact
DestructivePermanently delete a GoHighLevel contact by ID. This action cannot be undone.
-
upsert-contact
Create or update a contact by email address. Searches for existing contact first, then creates or updates. This is the safest way to add contacts without creating duplicates.
-
add-tags-to-contact
Add one or more tags to a GoHighLevel contact.
-
remove-tags-from-contact
Remove one or more tags from a GoHighLevel contact.
-
get-contact-tasks
Read onlyGet all tasks associated with a GoHighLevel contact.
-
get-contact-followers
Read onlyGet the list of followers (users) for a GoHighLevel contact.
-
add-contact-follower
Add a follower (user) to a GoHighLevel contact. Followers receive notifications about the contact.
-
remove-contact-follower
Remove a follower (user) from a GoHighLevel contact.
-
get-contact-appointments
Read onlyGet all appointments/events for a GoHighLevel contact.
-
get-contact-dnd
Read onlyGet the Do Not Disturb (DND) settings for a GoHighLevel contact. Shows which channels (Call, Email, SMS, WhatsApp, etc.) are blocked.
-
update-contact-dnd
Update Do Not Disturb (DND) settings for a GoHighLevel contact. Control which channels (Call, Email, SMS, WhatsApp, GMB, FB) are blocked.
-
bulk-create-contacts
Bulk create multiple contacts in GoHighLevel at once. Each contact should have at least an email or phone.
-
bulk-update-contacts
Bulk update multiple contacts in GoHighLevel at once. Each contact object must include the contact ID.
-
get-contact-notes
Read onlyGet all notes for a GoHighLevel contact.
-
add-contact-to-campaign
Add a contact to a GoHighLevel campaign. Use GetCampaigns to get valid campaign IDs first.
-
remove-contact-from-campaign
Remove a contact from a specific campaign in GoHighLevel.
-
add-contact-to-workflow
Add a contact to a GoHighLevel workflow. Use GetWorkflows to get valid workflow IDs first.
-
remove-contact-from-workflow
Remove a contact from a specific workflow in GoHighLevel.
-
get-messages-by-contact
Read onlyGet conversations and messages for a specific GoHighLevel contact.
Custom Fields
-
get-custom-fields
Read onlyGet all custom field definitions for the GoHighLevel location.
-
create-custom-field
Create a new custom field definition in GoHighLevel.
-
update-custom-field
Update an existing custom field definition in GoHighLevel.
-
delete-custom-field
Delete a custom field definition from GoHighLevel.
-
create-custom-field-folder
Create a new custom field folder/group in GoHighLevel to organize custom fields.
Emails
-
send-email-conversation
Send an email message within a GoHighLevel conversation. Supports HTML content, subject lines, and attachments.
-
list-email-templates
Read onlyList email templates in GoHighLevel for the connected location.
-
get-email-template
Read onlyGet a specific GoHighLevel email template by ID with full details.
-
create-email-template
Create a new email template in GoHighLevel.
-
update-email-template
Update an existing GoHighLevel email template.
-
delete-email-template
DestructiveDelete a GoHighLevel email template.
-
verify-email
Read onlyVerify an email address for deliverability using GoHighLevel email verification service.
Events
-
get-calendar-events
Read onlyGet events/appointments for a GoHighLevel calendar within a date range.
Followers
-
get-opportunity-followers
Read onlyGet the list of followers (users) for a GoHighLevel opportunity.
-
remove-opportunity-follower
Remove follower(s) from a GoHighLevel opportunity.
General
-
create-note
Create a new note for a GoHighLevel contact.
-
update-note
Update an existing note for a GoHighLevel contact.
-
delete-note
Delete a note from a GoHighLevel contact.
-
search-opportunities
Read onlySearch GoHighLevel opportunities (deals). Filter by pipeline, stage, or status.
-
get-opportunity
Read onlyGet a GoHighLevel opportunity by ID with full details.
-
create-opportunity
Create a new opportunity (deal) in GoHighLevel. Use GetPipelines first to get valid pipeline and stage IDs.
-
update-opportunity
Update an existing GoHighLevel opportunity.
-
delete-opportunity
Permanently delete a GoHighLevel opportunity.
-
update-opportunity-status
Update the status of a GoHighLevel opportunity/deal (open, won, lost, abandoned).
-
get-conversations
Read onlyList GoHighLevel conversations. Returns recent conversations with pagination support.
-
get-conversation
Read onlyGet a GoHighLevel conversation by ID with details.
-
create-conversation
Create a new conversation in GoHighLevel for a contact.
-
update-conversation
Update a GoHighLevel conversation. Can star/unstar, change unread count, or update other properties.
-
delete-conversation
DestructivePermanently delete a GoHighLevel conversation by ID. This action cannot be undone.
-
search-conversations
Read onlySearch GoHighLevel conversations by contact name, phone, or email.
-
get-messages
Read onlyGet messages in a GoHighLevel conversation.
-
get-message-by-id
Read onlyGet a single GoHighLevel message by its ID.
-
send-message
Send a message in GoHighLevel. Can send SMS, Email, or other message types.
-
update-message-status
Update the delivery status of a GoHighLevel message.
-
cancel-scheduled-message
Cancel a scheduled message in GoHighLevel before it is sent.
-
get-recording
Read onlyGet the call recording URL for a GoHighLevel message (voice call).
-
get-transcription
Read onlyGet the transcription for a GoHighLevel voice call message.
-
create-inbound-message
Create an inbound message in GoHighLevel. Used to record messages received from external channels.
-
get-scheduled-messages
Read onlyGet scheduled (pending) messages in a GoHighLevel conversation.
-
get-calendar
Read onlyGet a specific GoHighLevel calendar by ID with full details.
-
create-calendar
Create a new calendar in GoHighLevel.
-
update-calendar
Update an existing GoHighLevel calendar.
-
delete-calendar
Delete a GoHighLevel calendar. This is permanent and cannot be undone.
-
get-calendar-slots
Read onlyGet available time slots for a GoHighLevel calendar. Useful for booking appointments.
-
get-appointment
Read onlyGet a GoHighLevel appointment/event by ID.
-
create-appointment
Create a new appointment/event in GoHighLevel. Use ListCalendars to get valid calendar IDs first.
-
update-appointment
Update an existing GoHighLevel appointment/event.
-
delete-appointment
Delete a GoHighLevel appointment/event.
-
block-calendar-slot
Block a time slot on a GoHighLevel calendar to prevent bookings during that period.
-
delete-blocked-slot
Remove a blocked time slot from a GoHighLevel calendar, making it available for bookings again.
-
get-calendar-groups
Read onlyGet all calendar groups for the GoHighLevel location.
-
get-custom-object-schema
Read onlyGet a specific custom object schema by ID with field definitions.
-
create-custom-object-schema
Create a new custom object schema in GoHighLevel with field definitions.
-
update-custom-object-schema
Update an existing custom object schema in GoHighLevel.
-
delete-custom-object-schema
Delete a custom object schema from GoHighLevel. This removes the schema and all its records permanently.
-
get-custom-object-record
Read onlyGet a specific custom object record by ID from GoHighLevel.
-
create-custom-object-record
Create a new record for a custom object schema in GoHighLevel.
-
update-custom-object-record
Update an existing custom object record in GoHighLevel.
-
get-association
Read onlyGet a GoHighLevel association by ID.
-
get-association-by-keys
Read onlyGet a GoHighLevel association by object key and related object key pair.
-
create-association
Create an association between objects in GoHighLevel. Supports contact-to-contact and contact-to-custom-object associations.
-
update-association
Update an existing GoHighLevel association by ID.
-
delete-association
Delete a GoHighLevel association. This also removes all related relations.
-
bulk-create-associations
Bulk create multiple associations between objects in GoHighLevel.
-
bulk-delete-associations
Bulk delete multiple GoHighLevel associations by their IDs.
-
create-association-schema
Create a new association schema (type definition) in GoHighLevel to define how two object types can relate.
-
get-custom-values
Read onlyGet custom field values for a GoHighLevel contact.
-
update-custom-values
Update custom field values for a GoHighLevel contact. Use GetCustomFields first to get valid field IDs.
-
get-tags
Read onlyGet all available tags for the GoHighLevel location.
-
get-forms
Read onlyList all forms in GoHighLevel for the connected location.
-
get-form-submissions
Read onlyGet form submissions in GoHighLevel. Optionally filter by form ID and date range.
-
get-surveys
Read onlyList all surveys in GoHighLevel for the connected location.
-
get-location
Read onlyGet GoHighLevel location (sub-account) details. Returns location info including name, address, and settings.
-
search-locations
Read onlySearch GoHighLevel locations (sub-accounts) by company ID.
-
search-companies
Read onlySearch GoHighLevel companies by query.
-
get-invoice
Read onlyGet a GoHighLevel invoice by ID.
-
create-invoice
Create a new invoice in GoHighLevel.
-
get-product
Read onlyGet a GoHighLevel product by ID.
-
create-product
Create a new product in GoHighLevel.
-
update-product
Update an existing GoHighLevel product.
-
delete-product
DestructiveDelete a GoHighLevel product. This action cannot be undone.
-
get-business
Read onlyGet a GoHighLevel business by ID.
-
create-business
Create a new business in GoHighLevel.
-
update-business
Update an existing GoHighLevel business.
-
get-social-post
Read onlyGet a GoHighLevel social media post by ID.
-
create-social-post
Create and schedule a social media post in GoHighLevel. Use GetSocialAccounts to get valid account IDs first.
-
delete-social-post
DestructiveDelete a GoHighLevel social media post.
-
get-social-post-stats
Read onlyGet engagement statistics for a GoHighLevel social media post.
-
get-social-categories
Read onlyGet social media post categories for the GoHighLevel location.
-
get-blog-categories
Read onlyGet all blog categories for the GoHighLevel location.
-
get-blog-post
Read onlyGet a GoHighLevel blog post by ID.
-
create-blog-post
Create a new blog post in GoHighLevel.
-
update-blog-post
Update an existing GoHighLevel blog post.
-
delete-blog-post
DestructiveDelete a GoHighLevel blog post.
-
search-trigger-links
Read onlySearch trigger links in GoHighLevel. Trigger links are trackable URLs that can trigger workflows when clicked.
-
create-trigger-link
Create a new trigger link in GoHighLevel. Trigger links are trackable URLs that trigger workflows when clicked.
-
update-trigger-link
Update an existing GoHighLevel trigger link.
-
delete-trigger-link
DestructiveDelete a GoHighLevel trigger link.
-
get-funnel-pages
Read onlyGet pages within a GoHighLevel funnel. Use ListFunnels to get valid funnel IDs first.
-
delete-media-file
Delete a media file from GoHighLevel storage.
-
get-course
Read onlyGet a GoHighLevel course or membership by ID.
-
import-courses
Import courses into GoHighLevel.
Lists
-
list-calendars
Read onlyList all calendars in GoHighLevel for the connected location.
-
list-custom-object-schemas
Read onlyList all custom object schemas defined in the GoHighLevel location.
-
list-custom-object-records
Read onlyList records for a custom object schema in GoHighLevel with pagination.
-
list-associations
Read onlyList all associations (object relationships) for the GoHighLevel location.
-
list-association-schemas
Read onlyList all available association type definitions (schemas) for the GoHighLevel location.
-
list-custom-field-folders
Read onlyList all custom field folders/groups in GoHighLevel.
-
list-invoices
Read onlyList invoices in GoHighLevel. Optionally filter by status.
-
list-transactions
Read onlyList payment transactions in GoHighLevel.
-
list-subscriptions
Read onlyList payment subscriptions in GoHighLevel.
-
list-products
Read onlyList products in GoHighLevel. Optionally search by name.
-
list-businesses
Read onlyList all businesses for the GoHighLevel location.
-
list-social-posts
Read onlyList social media posts in GoHighLevel. Optionally filter by type.
-
list-blog-posts
Read onlyList blog posts in GoHighLevel. Optionally filter by category or status.
-
list-blog-authors
Read onlyList all blog authors for the GoHighLevel location.
-
list-funnels
Read onlyList all funnels in GoHighLevel for the connected location.
-
list-funnel-redirects
Read onlyList URL redirects configured in GoHighLevel funnels.
-
list-media-files
Read onlyList media files in GoHighLevel storage.
-
list-courses
Read onlyList courses and memberships in GoHighLevel.
Pipelines
-
get-pipelines
Read onlyGet all pipelines and their stages in GoHighLevel. Use this to get valid pipeline and stage IDs before creating or updating opportunities.
Tasks
-
create-task
Create a new task for a GoHighLevel contact.
-
update-task
Update an existing task for a GoHighLevel contact.
-
delete-task
Delete a task from a GoHighLevel contact.
Users
-
get-users
Read onlyList all users in the GoHighLevel location. Use this to get valid user IDs for assignments.
-
get-user
Read onlyGet a GoHighLevel user by ID.
Workflows
-
get-workflows
Read onlyList all workflows in GoHighLevel for the connected location.
Connection instructions
Use the same MCP endpoint for Claude Desktop and Claude Code CLI.
Claude Code CLI
claude mcp add gohighlevel -- npx -y mcp-remote https://mcpplug.ai/mcp/gohighlevel
Claude Desktop JSON
{
"mcpServers": {
"gohighlevel": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcpplug.ai/mcp/gohighlevel"
]
}
}
}
Frequently asked questions
How do I connect GoHighLevel to Claude?
Use the MCP endpoint at https://mcpplug.ai/mcp/gohighlevel in Claude Desktop or Claude Code. Authorize your account during the OAuth flow, then the tools become available instantly.
What tools are available in the GoHighLevel MCP server?
GoHighLevel includes 162 tools. You can view every tool grouped by capability directly on this page.
Is GoHighLevel MCP server free?
Yes. GoHighLevel is available with free or usage-based access on MCPPlug.
Can I use this server with AI clients beyond Claude?
Yes. Any MCP-compatible client can connect to this endpoint, including CLI and IDE clients that support HTTP MCP transports.