GHL MCP Server
Enables sending WhatsApp messages to contacts via GoHighLevel conversations.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@GHL MCP Serversearch for contacts tagged 'potential'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
GHL MCP Server
GoHighLevel MCP Server for Claude, N8N, and Custom AI Agents Built by Saurabh K Shah (https://saurabhshah.com)
A comprehensive Model Context Protocol (MCP) server that connects AI assistants directly to your GoHighLevel CRM. Supports 60+ tools across contacts, conversations, calendars, pipelines, payments, invoices, workflows, custom fields, social media, and more.
Features
Contacts: Search, create, update, delete, upsert, tags, notes, tasks, workflow management
Conversations & Messaging: SMS, Email, WhatsApp, search threads, send messages, schedule sends
Calendars & Appointments: List calendars, get free slots, create/update/delete events
Opportunities & Pipelines: Full deal management, stage transitions, pipeline listing
Payments & Invoices: Orders, transactions, subscriptions, create/send/void invoices
Workflows: List all workflows, add/remove contacts from workflows
Custom Fields: List, create custom fields for contacts
Locations: Sub-account details, tags management
Users: Search team members
Forms & Surveys: List forms/surveys, get submissions
Campaigns: List all campaigns
Social Media: List/create posts, view connected accounts
Funnels & Blogs: List funnels, blogs
Products: List products and prices
Quick Start
1. Get Your GHL Credentials
Log into GoHighLevel → Settings → Private Integrations
Click Create New Integration
Name it (e.g., "Claude MCP Server")
Select all scopes you need (contacts, conversations, calendars, payments, etc.)
Copy the Private Integration Token
Note your Location ID (visible in the URL when viewing any sub-account)
2. Install & Configure
git clone https://github.com/northrosetech/ghl-mcp-server.git
cd ghl-mcp-server
npm install
cp .env.example .envEdit .env:
GHL_API_KEY=your_private_integration_token_here
GHL_LOCATION_ID=your_location_id_hereBuild:
npm run build3. Connect to Claude Desktop
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on Mac):
{
"mcpServers": {
"ghl": {
"command": "node",
"args": ["/absolute/path/to/ghl-mcp-server/dist/index.js"],
"env": {
"GHL_API_KEY": "your_private_integration_token",
"GHL_LOCATION_ID": "your_location_id",
"TRANSPORT": "stdio"
}
}
}
}Restart Claude Desktop. You should see GHL tools available.
4. Connect to N8N (HTTP Mode)
Start the server in HTTP mode:
TRANSPORT=http PORT=3001 GHL_API_KEY=your_token GHL_LOCATION_ID=your_id node dist/index.jsIn N8N:
Add an MCP Client node
Set URL to
http://localhost:3001/mcpSet transport to HTTP Streamable
Use the GHL tools in your workflows
5. Connect to Claude Code
Add to your project's .mcp.json:
{
"mcpServers": {
"ghl": {
"command": "node",
"args": ["./ghl-mcp-server/dist/index.js"],
"env": {
"GHL_API_KEY": "your_token",
"GHL_LOCATION_ID": "your_id"
}
}
}
}Available Tools (60+)
Contacts (15 tools)
Tool | Description |
| Search contacts by query, tags, filters |
| Get contact by ID |
| Create new contact |
| Update existing contact |
| Delete contact |
| Create or update by email/phone |
| Add tags to contact |
| Remove tags from contact |
| Get contact notes |
| Add note to contact |
| Delete a note |
| Get contact tasks |
| Create task for contact |
| Update task |
| Add contact to workflow |
| Remove from workflow |
Conversations & Messaging (6 tools)
Tool | Description |
| Search conversation threads |
| Get conversation details |
| Get messages in a thread |
| Send SMS/Email/WhatsApp/etc. |
| Cancel scheduled message |
| Update conversation status |
Calendars & Appointments (8 tools)
Tool | Description |
| List all calendars |
| Get calendar details |
| Get available booking slots |
| Get appointments/events |
| Create appointment |
| Update appointment |
| Delete appointment |
| Create new calendar |
Opportunities & Pipelines (7 tools)
Tool | Description |
| Search deals |
| Get deal details |
| Create new deal |
| Update deal / move stages |
| Delete deal |
| Change deal status |
| List pipelines & stages |
Payments & Invoices (9 tools)
Tool | Description |
| List payment orders |
| Get order details |
| List transactions |
| List subscriptions |
| List invoices |
| Get invoice details |
| Create invoice |
| Email invoice to contact |
| Void an invoice |
Other Tools (15+ tools)
Tool | Description |
| List all workflows |
| List custom fields |
| Create custom field |
| Get location details |
| Get location tags |
| Create new tag |
| Search team members |
| List forms |
| Get form submissions |
| List surveys |
| List campaigns |
| List social posts |
| Create/schedule social post |
| List connected social accounts |
| List funnels/websites |
| List products |
| List blogs |
| List trigger links |
Architecture
ghl-mcp-server/
├── src/
│ ├── index.ts # Entry point (stdio + HTTP transport)
│ ├── constants.ts # All GHL API endpoints & config
│ ├── types.ts # TypeScript interfaces
│ ├── services/
│ │ └── api-client.ts # Auth, rate limiting, error handling
│ └── tools/
│ ├── contacts.ts # Contact management tools
│ ├── conversations.ts # Messaging tools
│ ├── calendars.ts # Calendar & appointment tools
│ ├── opportunities.ts # Pipeline & deal tools
│ └── business.ts # Payments, invoices, workflows, etc.
├── dist/ # Compiled JS
├── package.json
├── tsconfig.json
└── .env.exampleRate Limits
The server includes built-in rate limiting matching GHL's limits:
Burst: 100 requests per 10 seconds
Daily: 200,000 requests per day
The server automatically queues and retries when limits are approached.
Error Handling
All tools return actionable error messages with hints:
401: Check your API key (must be Private Integration Token)
403: Missing scopes — edit your Private Integration in GHL Settings
404: Resource not found — check the ID
422: Validation error with details
429: Rate limit — automatic retry
License
MIT — Built by Saurabh K Shah (https://saurabhshah.com)
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/northrosetech/ghl-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server