AskChad/gohighlevel-mcp
If you are the rightful owner of gohighlevel-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The GoHighLevel MCP Server is a Model Context Protocol server that integrates Claude AI with GoHighLevel CRM, facilitating AI-driven automation and management.
🚀 GoHighLevel Multi-Tenant MCP Server
Connect ANY GoHighLevel account to Claude AI AND OpenAI with 23+ tools!
🎯 NEW: OpenAI Assistant Support - Works with both Claude and OpenAI!
✨ Features
✅ Multi-Tenant - Works with unlimited GoHighLevel accounts
✅ Dynamic Authentication - Pass credentials via request body, headers, or environment
✅ 23+ Tools - Complete GoHighLevel API coverage
✅ Claude Desktop - Direct integration via MCP protocol
✅ OpenAI Assistants - Full function calling support
✅ Vercel Ready - One-click deployment
✅ Zero Setup - No environment variables required
🤖 AI Platform Support
Claude (via MCP Protocol)
- Direct integration with Claude Desktop
- Uses
/mcpendpoint - Configure in
claude_desktop_config.json
OpenAI Assistants
- Function calling support
- Uses
/openai/function/*endpoints - Get functions list at
/openai/functions
Any HTTP Client
- REST API at
/tools/* - Works with Zapier, Make, n8n, etc.
🔐 Three Ways to Authenticate:
1. Request Body (Recommended)
{
"ghl_api_key": "your_key",
"ghl_location_id": "your_location",
"firstName": "John",
"email": "john@example.com"
}
2. HTTP Headers
-H "X-GHL-API-Key: your_key"
-H "X-GHL-Location-ID: your_location"
3. Environment Variables (Fallback)
GHL_API_KEY=your_key
GHL_LOCATION_ID=your_location
📚 Available Tools
Contact Management (5 tools)
search_contacts- Search contacts by email, phone, nameget_contact- Get specific contact detailscreate_contact- Create new contactsupdate_contact- Update existing contactsdelete_contact- Delete contacts
Opportunities/Deals (7 tools)
search_opportunities- Search deals in pipelinesget_opportunity- Get specific opportunitycreate_opportunity- Create new dealsupdate_opportunity- Update deal status/valuedelete_opportunity- Delete opportunitiesget_pipelines- List all pipelinesget_pipeline_stages- Get pipeline stages
Calendar & Appointments (6 tools)
get_calendars- List all calendarsget_calendar_slots- Get available slotssearch_appointments- Search appointmentscreate_appointment- Schedule appointmentsupdate_appointment- Modify appointmentsdelete_appointment- Cancel appointments
Tasks & Notes (5 tools)
search_tasks- Find taskscreate_task- Create new tasksupdate_task- Update task statusdelete_task- Remove tasksadd_note- Add notes to contacts
🚀 Quick Deploy to Vercel
🔧 Claude Desktop Configuration
Add to your claude_desktop_config.json:
{
"mcpServers": {
"gohighlevel": {
"type": "http",
"url": "https://your-app.vercel.app/mcp",
"headers": {
"X-GHL-API-Key": "YOUR_API_KEY",
"X-GHL-Location-ID": "YOUR_LOCATION_ID"
}
}
}
}
🤖 OpenAI Assistant Setup
1. Get Function Definitions
curl https://your-app.vercel.app/openai/functions
2. Add Functions to Assistant
Copy the functions from step 1 into your OpenAI Assistant configuration at platform.openai.com
3. Use with Python
import requests
def execute_ghl_function(function_name, arguments):
response = requests.post(
f"https://your-app.vercel.app/openai/function/{function_name}",
json=arguments,
headers={
"X-GHL-API-Key": "your_key",
"X-GHL-Location-ID": "your_location"
}
)
return response.json()
See for detailed OpenAI setup.
📡 API Endpoints
GET /- Server info and endpoints listGET /health- Health checkGET /tools- List all available toolsPOST /tools/:toolName- Execute a specific toolPOST /mcp- Claude MCP protocol endpointGET /openai/functions- OpenAI function definitionsPOST /openai/function/:name- OpenAI function execution
🧪 Testing
Test Health
curl https://your-app.vercel.app/health
Test Tool Execution
curl -X POST https://your-app.vercel.app/tools/search_contacts \
-H "Content-Type: application/json" \
-H "X-GHL-API-Key: your_key" \
-H "X-GHL-Location-ID: your_location" \
-d '{"query": "@gmail.com"}'
📝 Environment Variables (Optional)
Set these in Vercel dashboard for default credentials:
GHL_API_KEY- Default GoHighLevel API keyGHL_LOCATION_ID- Default location IDGHL_BASE_URL- API base URL (default: https://services.leadconnectorhq.com)CORS_ORIGINS- CORS allowed origins (default: *)
🛠️ Local Development
# Clone the repository
git clone https://github.com/AskChad/gohighlevel-mcp.git
cd gohighlevel-mcp
# Install dependencies
npm install
# Create .env file
cp .env.example .env
# Edit .env with your credentials
# Run development server
npm run dev
# Build for production
npm run build
🔒 Security
- Never commit API keys to git
- Use environment variables or headers for credentials
- Enable CORS restrictions in production
- Consider rate limiting for public endpoints
📚 Resources
📄 License
MIT - See
🙏 Credits
Built with ❤️ for the GoHighLevel community
Star this repo if you find it useful! ⭐
📞 Support
Works with Claude AND OpenAI - No environment setup required! 🎉