Skip to main content
Glama
GoHighLevel MCP Server

GoHighLevel MCP Server

GoHighLevel MCP Server

A Model Context Protocol (MCP) server that connects Claude to GoHighLevel's CRM platform.

Features

  • 14 Tools across 4 domains:

    • Contact Management (5 tools)

    • Messaging & Conversations (4 tools)

    • Calendar & Appointments (3 tools)

    • Sales Opportunities (4 tools)

Related MCP server: GoHighLevel (GHL) MCP Server

Installation

git clone https://github.com/YOUR_USERNAME/gohighlevel-mcp-server.git
cd gohighlevel-mcp-server
npm install

Setup

  1. Get your GHL API token from GoHighLevel

  2. Set the environment variable:

export GHL_API_TOKEN="your-api-token-here"
  1. Start the server:

npm start

Usage with Claude Desktop

Add to ~/claude_desktop_config.json:

{
  "mcpServers": {
    "gohighlevel": {
      "command": "bash",
      "args": ["-c", "cd ~/projects/gohighlevel-mcp-server && export GHL_API_TOKEN='YOUR_TOKEN' && npm start"]
    }
  }
}

Then restart Claude Desktop.

API Reference

  • Search Contacts - Search for contacts by query

  • Get Contact - Retrieve a specific contact

  • Create Contact - Add a new contact

  • Update Contact - Modify contact details

  • Add Tags - Assign tags to contacts

  • List Conversations - View contact conversations

  • Get Conversation - Retrieve conversation details

  • Send SMS - Send SMS messages

  • Send Email - Send email messages

  • List Appointments - View calendar appointments

  • Get Appointment - Retrieve appointment details

  • Create Appointment - Schedule new appointments

  • List Opportunities - View sales opportunities

  • Get Opportunity - Retrieve opportunity details

  • Create Opportunity - Add new sales opportunities

  • Update Opportunity - Modify opportunity status/value

Development

Built with:

  • TypeScript with strict mode

  • Zod for runtime validation

  • Axios for HTTP requests

  • MCP SDK for protocol implementation

License

MIT

Available Tools

20 tools
add_contact_tagsB

Add tags to a contact

Inputs: tags (required), contact_id (required), response_format.

create_appointmentC

Create an appointment

Inputs: title (required), end_time (required), contact_id (required), start_time (required), +2 more.

create_contactC

Create a contact

Inputs: last_name (required), first_name (required), email, phone, +1 more.

create_opportunityC

Create an opportunity

Inputs: title (required), value (required), contact_id (required), probability (required), +2 more.

get_appointmentD

Get an appointment

Inputs: appointment_id (required), response_format.

get_contactC

Get a contact

Inputs: contact_id (required), response_format.

get_conversationC

Get a conversation

Inputs: conversation_id (required), response_format.

get_opportunityC

Get an opportunity

Inputs: opportunity_id (required), response_format.

get_workflowC

Get workflow details

Inputs: workflow_id (required), response_format.

get_workflow_statsC

Get workflow statistics

Inputs: workflow_id (required), response_format.

list_appointmentsC

List appointments

Inputs: limit, offset, response_format.

list_conversationsC

List conversations

Inputs: contact_id (required), limit, offset, response_format.

list_opportunitiesC

List opportunities

Inputs: limit, offset, response_format.

list_workflow_executionsC

Get workflow execution history

Inputs: workflow_id (required), limit, offset, response_format.

list_workflowsC

List all workflows/automations

Inputs: limit, offset, response_format.

search_contactsC

Search for contacts

Inputs: query (required), limit, offset, response_format.

send_emailC

Send email

Inputs: body (required), subject (required), contact_id (required), response_format.

send_smsC

Send SMS

Inputs: message (required), contact_id (required), response_format.

update_contactD

Update a contact

Inputs: contact_id (required), email, phone, last_name, +2 more.

update_opportunityD

Update an opportunity

Inputs: opportunity_id (required), title, value, status, +2 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    C2.8/5.0

    Scored across 20 tools

    Disambiguation5/5

    Each tool targets a distinct resource and action (e.g., contacts, appointments, opportunities, conversations, workflows, messaging). There is no overlap in purpose; tools like get_conversation vs list_conversations are clearly differentiated.

    Naming Consistency5/5

    All tools follow a consistent verb_noun pattern in snake_case (e.g., create_contact, list_appointments, send_sms). The convention is uniform across all 20 tools.

    Tool Count5/5

    20 tools is well-scoped for a CRM/automation platform. It covers core operations for contacts, appointments, opportunities, conversations, workflows, and messaging without being excessive or sparse.

    Completeness3/5

    The tool set has notable gaps: missing delete operations for contacts, appointments, opportunities, and conversations; no update for appointments or conversations; no remove_contact_tags. These omissions could hinder complete lifecycle management.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers