
GoHighLevel
STDIOMCP server for GoHighLevel CRM integration with API access and automation capabilities.
MCP server for GoHighLevel CRM integration with API access and automation capabilities.
A Model Context Protocol (MCP) server that provides comprehensive integration with the GoHighLevel API v2. This server enables AI assistants to interact with GoHighLevel's CRM, marketing automation, and business management tools.
npm install ghl-mcp-server
Or install globally:
npm install -g ghl-mcp-server
Copy .env.example
to .env
and fill in your credentials:
cp .env.example .env
Edit .env
with your GoHighLevel credentials:
# Private Integration Token (simplest method) GHL_PRIVATE_TOKEN=your_private_integration_token_here # Or use OAuth (for multi-account access) GHL_CLIENT_ID=your_oauth_client_id GHL_CLIENT_SECRET=your_oauth_client_secret
Add to your Claude Desktop or other MCP client configuration:
{ "mcpServers": { "ghl": { "command": "npx", "args": ["ghl-mcp-server"], "env": { "GHL_PRIVATE_TOKEN": "your_token_here" } } } }
The server provides the following tools:
ghl_create_contact
- Create a new contactghl_search_contacts
- Search for contactsghl_get_contact
- Get contact detailsghl_update_contact
- Update contact informationghl_delete_contact
- Delete a contactghl_add_contact_tags
- Add tags to a contactghl_remove_contact_tags
- Remove tags from a contactghl_send_message
- Send SMS, Email, or WhatsApp messagesghl_get_conversations
- Get conversation listghl_get_messages
- Get messages in a conversationghl_create_calendar
- Create a new calendarghl_create_appointment
- Book an appointmentghl_get_calendar_slots
- Get available time slotsghl_update_appointment
- Update appointment detailsghl_cancel_appointment
- Cancel an appointmentghl_create_opportunity
- Create a sales opportunityghl_search_opportunities
- Search opportunitiesghl_update_opportunity
- Update opportunity detailsghl_delete_opportunity
- Delete an opportunityghl_get_pipelines
- Get pipeline listghl_create_order
- Create a payment orderghl_get_transactions
- Get transaction historyghl_get_orders
- Get order listghl_add_contact_to_workflow
- Add contact to workflowghl_remove_contact_from_workflow
- Remove from workflowghl_get_workflows
- Get workflow list{ "tool": "ghl_create_contact", "arguments": { "locationId": "your_location_id", "contactData": { "firstName": "John", "lastName": "Doe", "email": "[email protected]", "phone": "+1234567890", "tags": ["new-lead", "website"] } } }
{ "tool": "ghl_send_message", "arguments": { "type": "SMS", "contactId": "contact_id", "locationId": "location_id", "message": "Hello! Thanks for your interest." } }
{ "tool": "ghl_create_appointment", "arguments": { "appointmentData": { "calendarId": "calendar_id", "locationId": "location_id", "contactId": "contact_id", "startTime": "2025-07-23T15:00:00Z", "endTime": "2025-07-23T16:00:00Z", "title": "Consultation Call" } } }
.env
file# Install dependencies npm install # Run in development mode npm run dev
ghl-mcp-server/
├── index.js # Main server entry point
├── src/
│ ├── api-client.js # GoHighLevel API client
│ ├── config.js # Configuration constants
│ ├── rate-limiter.js # Rate limiting logic
│ ├── error-handler.js # Error handling utilities
│ └── tools/ # Tool definitions
│ ├── contact-tools.js
│ ├── conversation-tools.js
│ ├── calendar-tools.js
│ ├── opportunity-tools.js
│ ├── payment-tools.js
│ └── workflow-tools.js
└── package.json
The server is designed to work with Vercel's MCP integration out of the box.
The server provides detailed error messages for common scenarios:
GoHighLevel enforces the following rate limits:
The server automatically tracks and enforces these limits.
Contributions are welcome! Please feel free to submit a Pull Request.
MIT