home / mcp / gohighlevel mcp server
Provides a comprehensive MCP server to connect Claude Desktop or other MCP clients with GoHighLevel APIs for automated CRM actions.
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.
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.
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.
# 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 devConfiguration 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"
}
}
}
}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"
}
}
}
}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/sseThe 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.
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/sseCreate a new contact in the system using the MCP client.
Update an existing contact by ID with new details.
Retrieve a contact by its identifier.
Query contacts with flexible filters.
Remove a contact from the system.
Send an SMS message to a contact.
Send an email to a contact with optional formatting.
Create a new calendar for appointment scheduling.
List events for a calendar, with optional date filtering.
Book a new appointment linked to a calendar.
Fetch an opportunity by ID.
Create a new sales opportunity.
Update details of an existing opportunity.
Filter opportunities by pipeline, stage, or related contact.
Generate a new invoice for a customer.
List invoices with optional status filters.
Check deliverability and risk for an email address.
Search and retrieve media assets.
Upload a media file and obtain a hosted URL.