home / mcp / ghl mcp server

GHL MCP Server

Connects GoHighLevel accounts to MCP clients, enabling AI-driven automation across contacts, opportunities, calendars, invoices, and more.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "busybee3333-go-high-level-mcp-2026-complete": {
      "command": "node",
      "args": [
        "/path/to/ghl-mcp-server/dist/server.js"
      ],
      "env": {
        "PORT": "8000",
        "NODE_ENV": "production",
        "GHL_API_KEY": "YOUR_PRIVATE_INTEGRATIONS_API_KEY",
        "GHL_BASE_URL": "https://services.leadconnectorhq.com",
        "GHL_LOCATION_ID": "YOUR_LOCATION_ID"
      }
    }
  }
}

You have access to a GoHighLevel MCP server that lets you control your GHL CRM with natural language or scripted commands. This server connects to your GoHighLevel sub-account APIs, enabling automation across contacts, opportunities, calendars, invoices, and more through MCP-enabled clients or CLI tools. Itโ€™s designed to streamline workflows, reduce manual navigation, and scale CRM-driven automation with AI-powered commands.

How to use

To use the GoHighLevel MCP server, you connect an MCP client (such as a CLI tool or an AI assistant) to your MCP server configuration. You can issue natural language requests like finding forms engaged customers, creating opportunities, scheduling calls, drafting blog posts, or sending payment links. When paired with other tools (web search, email, spreadsheets, Slack, etc.), you can build end-to-end automations such as daily appointment summaries, prospect research with outreach drafting, deal updates with a team post, CSV-driven client imports with invoice creation, or conversation analysis for objections.

How to install

Prerequisites: you need Node.js 18+ and a GoHighLevel account with API access. You also need a valid Private Integrations API key from GoHighLevel and the Location ID for your account.

Choose a deployment path. The following steps describe using a local setup and point you to an alternative pre-built MCP runner if you prefer hosted solutions.

1) Install the MCP runner CLI if you plan to use a community CLI to run the server locally.

2) Clone or obtain the MCP server package and install dependencies for your chosen runner.

3) Start the MCP server with the appropriate runtime command from your chosen path.

Configuration and usage notes

The server expects a GoHighLevel Private Integrations API key with the required scopes to access contacts, conversations, opportunities, calendars, locations, invoices, payments, and other resources. Ensure your key has the necessary read/write permissions and that you keep credentials secure. Location ID should match the one in Settings โ†’ Company โ†’ Locations in GoHighLevel.

If you use a containerized or hosted deployment, provide the following environment values at runtime: GHL_API_KEY, GHL_BASE_URL, and GHL_LOCATION_ID. You may also set NODE_ENV to production and configure ports and CORS as needed for your environment.

Troubleshooting tips

Test connectivity to the GoHighLevel API using your private key and location to verify access. If you encounter rate limits, implement exponential backoff and consider batching requests where possible. Ensure the Private Integrations scopes exactly match the features you intend to use and that the Location ID is correct.

If you see authentication errors, double-check that you are using the Private Integrations API key (not a standard API key) and that the key is not expired. Verify that the location and environment variables are properly configured in your deployment.

Available tools

search_contacts

Query contacts with filters, returning a list ready for follow-up actions.

create_contact

Create a new contact with provided details and associate it with workflows or campaigns.

update_contact

Update existing contact information, including tags and notes.

get_contact

Retrieve a contact by ID with full details.

get_calendar_events

Fetch calendar events and availability for scheduling.

create_appointment

Book a new appointment in a calendar with participants and location.

get_opportunities

List opportunities with filters for pipeline, stage, and owner.

create_opportunity

Create a new sales opportunity and link it to a contact and pipeline.

update_opportunity

Modify an existing opportunity and its stage or values.

send_sms

Send an SMS message to a contact or group of contacts.

send_email

Send an email to a contact with optional templates.

get_invoices

Retrieve invoices for a sub-account or contact.

create_invoice

Generate a new invoice for a customer.

check_blog_posts

Manage blog posts, including creation and retrieval.

create_blog_post

Create a new blog post with SEO-friendly content.

get_locations

View or search location data within the sub-account.

create_location

Create a new location entity with settings.

verify_email

Check deliverability and risk for an email address.

search_object_records

Advanced search over custom object records.