home / mcp / gohighlevel mcp server

GoHighLevel MCP Server

Provides a comprehensive MCP server to connect Claude Desktop or other MCP clients with GoHighLevel APIs for automated CRM actions.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "hridayshah7-gohighlevel-mcp": {
      "url": "https://your-deployment-url.vercel.app/sse",
      "headers": {
        "GHL_API_KEY": "<YOUR_PRIVATE_INTEGRATIONS_API_KEY>",
        "GHL_BASE_URL": "https://services.leadconnectorhq.com",
        "GHL_LOCATION_ID": "YOUR_LOCATION_ID"
      }
    }
  }
}

You deploy and run an MCP Server that connects Claude Desktop or other MCP clients to your GoHighLevel account, giving you automated access to the full set of GoHighLevel APIs via MCP. This server enables interactive AI-driven workflows for contacts, conversations, opportunities, calendars, billing, blogs, and more, while keeping your API credentials securely in your control.

How to use

You use an MCP client to talk to the server over either an HTTP MCP endpoint or a local stdio-based process. The HTTP method lets web apps subscribe to the serverโ€™s Event Stream endpoint and issue commands from remote clients. The stdio method runs a local Node process that the MCP client communicates with directly through standard input and output. In practice, you start the server in your development or deployment environment, then point your MCP clients at the provided URL or configured stdio process to begin automating GoHighLevel tasks.

How to install

Prerequisites you need before you begin: Node.js 18+ (latest LTS recommended), a GoHighLevel account with API access, a valid Private Integrations API key, and a Location ID from your settings.

Follow these steps to install and run the MCP server locally.

How to install

# Clone the repository
git clone https://github.com/mastanley13/GoHighLevel-MCP.git
cd GoHighLevel-MCP

# Install dependencies
npm install

# Create environment file
cp .env.example .env
# Configure your GHL credentials in .env

# Build the project
npm run build

# Start the server (production)
npm start

# For development with hot reload
npm run dev

Additional sections

Configuration and runtime details are shown below. Use the Claude Desktop MCP integration example to run the server locally, and expose an HTTP MCP endpoint for web clients.

{
  "mcpServers": {
    "ghl_mcp": {
      "type": "stdio",
      "command": "node",
      "args": ["path/to/ghl-mcp-server/dist/server.js"],
      "env": {
        "GHL_API_KEY": "your_private_integrations_api_key",
        "GHL_BASE_URL": "https://services.leadconnectorhq.com",
        "GHL_LOCATION_ID": "your_location_id"
      }
    }
  }
}

Claude Desktop Integration

To run the MCP server with Claude Desktop, add this MCP configuration to your Claude settings. It starts a local Node process that runs the MCP server and passes required environment variables.

{
  "mcpServers": {
    "ghl-mcp-server": {
      "command": "node",
      "args": ["path/to/ghl-mcp-server/dist/server.js"],
      "env": {
        "GHL_API_KEY": "your_private_integrations_api_key",
        "GHL_BASE_URL": "https://services.leadconnectorhq.com",
        "GHL_LOCATION_ID": "your_location_id"
      }
    }
  }
}

HTTP MCP endpoint for web clients

For web-based MCP clients, you can use the HTTP endpoint exposed by your deployment to receive server events and send commands.

https://your-deployment-url.vercel.app/sse

Environment variables

The server uses environment variables to connect to GoHighLevel and configure runtime behavior. The required ones shown are GHL_API_KEY, GHL_BASE_URL, and GHL_LOCATION_ID. You should supply your actual credentials in a secure way, not in code.

Testing & health

You can validate the server is running and responsive by checking the health and tools endpoints in your deployment. Use the health endpoint to confirm the server is up, and the tools endpoint to verify available capabilities.

# Test API connectivity (adjust for your deployment)
curl http://localhost:8000/health

# List available tools
curl http://localhost:8000/tools

# Test MCP SSE endpoint
curl -H "Accept: text/event-stream" http://localhost:8000/sse

Available tools

create_contact

Create a new contact in the system using the MCP client.

update_contact

Update an existing contact by ID with new details.

get_contact

Retrieve a contact by its identifier.

search_contacts

Query contacts with flexible filters.

delete_contact

Remove a contact from the system.

send_sms

Send an SMS message to a contact.

send_email

Send an email to a contact with optional formatting.

create_calendar

Create a new calendar for appointment scheduling.

get_calendar_events

List events for a calendar, with optional date filtering.

create_appointment

Book a new appointment linked to a calendar.

get_opportunity

Fetch an opportunity by ID.

create_opportunity

Create a new sales opportunity.

update_opportunity

Update details of an existing opportunity.

search_opportunities

Filter opportunities by pipeline, stage, or related contact.

create_invoice

Generate a new invoice for a customer.

list_invoices

List invoices with optional status filters.

verify_email

Check deliverability and risk for an email address.

get_media_files

Search and retrieve media assets.

upload_media_file

Upload a media file and obtain a hosted URL.