loading…
Search for a command to run...
loading…
Provides access to over 460 tools within the GoHighLevel CRM, allowing AI assistants to manage contacts, opportunities, messaging, and business workflows throug
Provides access to over 460 tools within the GoHighLevel CRM, allowing AI assistants to manage contacts, opportunities, messaging, and business workflows through natural language.
🚀 Don't want to self-host? Join the waitlist for our fully managed solution →
Zero setup. Zero maintenance. Just connect and automate.
Original Creator: @mastanley13 — Built the foundation for this MCP server.
Extended by: @BusyBee3333 — Expanded to 563+ tools covering the entire GHL API.
This MCP server gives AI direct access to your entire GoHighLevel CRM. Instead of clicking through menus, you just tell it what you want.
| Just say... | What happens |
|---|---|
| "Find everyone who filled out a form this week but hasn't been contacted" | Searches contacts, filters by source and last activity, returns a ready-to-call list |
| "Create an opportunity for John Smith, $15k deal, add to Enterprise pipeline" | Creates the opp, assigns pipeline stage, links to contact — done |
| "Schedule a discovery call with Sarah for Tuesday 2pm and send her a confirmation" | Checks calendar availability, books the slot, fires off an SMS |
| "Draft a blog post about our new service and schedule it for Friday" | Creates the post in your GHL blog, SEO-ready, scheduled to publish |
| "Send a payment link for Invoice #1042 to the client via text" | Generates text2pay link, sends SMS with payment URL |
When you pair this MCP with other tools (web search, email, spreadsheets, Slack, etc.), things get wild:
| Combo | What you can build |
|---|---|
| GHL + Calendar + SMS | "Every morning, text me a summary of today's appointments and any leads that went cold" |
| GHL + Web Search + Email | "Research this prospect's company, then draft a personalized outreach email and add them as a contact" |
| GHL + Slack + Opportunities | "When a deal closes, post a celebration to #wins with the deal value and rep name" |
| GHL + Spreadsheet + Invoices | "Import this CSV of clients, create contacts, and generate invoices for each one" |
| GHL + AI + Conversations | "Analyze the last 50 customer conversations and tell me what objections keep coming up" |
This isn't just API access — it's your CRM on autopilot, controlled by natural language.
Not everyone wants to manage servers, deal with API keys, or troubleshoot deployments. We get it.
👉 Join the waitlist for our fully managed solution
What you get:
Perfect for:
Prefer to self-host? Keep reading below for the full open-source setup guide.
⚠️ This is a BASE-LEVEL foundational project designed to connect the GoHighLevel community with AI automation through MCP (Model Context Protocol).
⚠️ This project requires a PRIVATE INTEGRATIONS API key, not a regular API key!
How to get your Private Integrations API Key:
Login to your GoHighLevel account
Navigate to Settings → Integrations → Private Integrations
Create New Private Integration:
MCP Server Integration (or your preferred name)Select Required Scopes based on tools you'll use:
Save Integration and copy the generated Private API Key
Copy your Location ID from Settings → Company → Locations
💡 Tip: You can always add more scopes later by editing your Private Integration if you need additional functionality.
This project was a 'time-taker' but I felt it was important. Feel free to donate - everything will go into furthering this Project -> Aiming for Mass Agency "Agent Driven Operations".
Deploy with Vercel Deploy on Railway Donate to the Project
Clawdbot is the easiest way to run this MCP server. It's an AI assistant platform that handles all the MCP configuration, environment setup, and integration automatically.
Why Clawdbot?
Quick start:
npm install -g clawdbot
clawdbot init
clawdbot config set skills.entries.ghl-mcp.apiKey "your_private_integrations_key"
Learn more at docs.clawd.bot or join the community Discord.
mcporter is a lightweight CLI tool for managing and calling MCP servers directly from the command line. Perfect if you want to test tools, debug integrations, or build your own automation scripts.
Why mcporter?
Quick start:
npm install -g mcporter
mcporter config add ghl-mcp --transport stdio --command "node /path/to/ghl-mcp-server/dist/server.js"
mcporter call ghl-mcp search_contacts --params '{"query": "test"}'
🔥 Transform Claude Desktop into a complete GoHighLevel CRM powerhouse with 563+ powerful tools across 44 categories
This comprehensive MCP (Model Context Protocol) server connects Claude Desktop directly to your GoHighLevel account, providing unprecedented automation capabilities:
Why Vercel:
Why Railway:
Core Operations:
create_contact, search_contacts, get_contact, update_contact, delete_contactadd_contact_tags, remove_contact_tags - Organize with tagsTask & Note Management:
get_contact_tasks, create_contact_task, update_contact_task, delete_contact_taskget_contact_notes, create_contact_note, update_contact_note, delete_contact_noteAdvanced Features:
upsert_contact - Smart create/updateget_duplicate_contact - Duplicate detectionbulk_update_contact_tags - Mass tag operationsadd_contact_to_workflow, remove_contact_from_workflow - Workflow automationadd_contact_followers, remove_contact_followers - Team collaborationDirect Communication:
send_sms, send_email - Send messages with rich formattingsearch_conversations, get_conversation, create_conversationMessage Management:
get_message, get_email_message, upload_message_attachmentsupdate_message_status, cancel_scheduled_messageCall Features:
get_message_recording, get_message_transcription, download_transcriptionadd_inbound_message, add_outbound_call - Manual loggingLive Chat:
live_chat_typing - Real-time typing indicatorscreate_blog_post, update_blog_post - Content creation with SEOget_blog_posts, get_blog_sites - Content discoveryget_blog_authors, get_blog_categories - Organizationcheck_url_slug - SEO validationsearch_opportunities - Advanced filtering by pipeline, stage, contactget_pipelines - Sales pipeline managementcreate_opportunity, update_opportunity, delete_opportunityupdate_opportunity_status - Quick win/loss updatesupsert_opportunity - Smart pipeline managementadd_opportunity_followers, remove_opportunity_followersCalendar Management:
get_calendar_groups, get_calendars, create_calendarupdate_calendar, delete_calendarAppointment Booking:
get_calendar_events, get_free_slots - Availability checkingcreate_appointment, get_appointment, update_appointment, delete_appointmentSchedule Control:
create_block_slot, update_block_slot - Time blockingget_email_campaigns - Campaign managementcreate_email_template, get_email_templates - Template systemupdate_email_template, delete_email_templateSub-Account Management:
search_locations, get_location, create_location, update_location, delete_locationTag System:
get_location_tags, create_location_tag, update_location_tag, delete_location_tagCustom Fields & Values:
get_location_custom_fields, create_location_custom_field, update_location_custom_fieldget_location_custom_values, create_location_custom_value, update_location_custom_valueTemplates & Settings:
get_location_templates, delete_location_template, get_timezonesVerification:
verify_email - Deliverability and risk assessmentSending Domains:
ghl_list_email_domains, ghl_add_email_domain, ghl_delete_email_domainghl_verify_email_domain - Trigger DNS verification (DKIM/SPF/DMARC)ghl_get_domain_dns_records - Get required DNS recordsDeliverability & Providers:
ghl_get_email_stats - Bounce/spam/open/click ratesghl_list_email_providers, ghl_set_default_email_providerPost Management:
search_social_posts, create_social_post, get_social_postupdate_social_post, delete_social_post, bulk_delete_social_postsAccount Integration:
get_social_accounts, delete_social_account, start_social_oauthBulk Operations:
upload_social_csv, get_csv_upload_status, set_csv_accountsOrganization:
get_social_categories, get_social_tags, get_social_tags_by_idsPlatforms: Google Business, Facebook, Instagram, LinkedIn, Twitter, TikTok
get_media_files - Search and filter mediaupload_media_file - File uploads and hosted URLsdelete_media_file - Clean up media assetsSchema Management:
get_all_objects, create_object_schema, get_object_schema, update_object_schemaRecord Operations:
create_object_record, get_object_record, update_object_record, delete_object_recordAdvanced Search:
search_object_records - Query custom dataUse Cases: Pet records, support tickets, inventory, custom business data
ghl_get_all_associations, ghl_create_association, ghl_get_association_by_idghl_update_association, ghl_delete_associationghl_create_relation, ghl_get_relations_by_record, ghl_delete_relationghl_get_custom_field_by_id, ghl_create_custom_field, ghl_update_custom_fieldghl_delete_custom_field, ghl_get_custom_fields_by_object_keyghl_create_custom_field_folder, ghl_update_custom_field_folder, ghl_delete_custom_field_folderghl_get_workflows, ghl_list_workflows - Workflow discovery & filteringghl_get_workflow - Full workflow detailsghl_update_workflow_status - Enable/disable workflowsghl_delete_workflow - Delete a workflowghl_trigger_workflow - Manually enroll a contact into a workflowghl_get_workflow_executions - Execution history & statusghl_get_surveys, ghl_get_survey_submissions - Existing survey toolsghl_create_survey, ghl_get_survey, ghl_update_survey, ghl_delete_survey - Full CRUDghl_list_survey_submissions, ghl_get_survey_submission - Submission managementghl_get_survey_stats - Analytics & completion ratesShipping Zones:
ghl_create_shipping_zone, ghl_list_shipping_zones, ghl_get_shipping_zoneghl_update_shipping_zone, ghl_delete_shipping_zoneShipping Rates:
ghl_get_available_shipping_rates, ghl_create_shipping_rate, ghl_list_shipping_ratesghl_get_shipping_rate, ghl_update_shipping_rate, ghl_delete_shipping_rateCarriers & Settings:
ghl_create_shipping_carrier, ghl_list_shipping_carriers, ghl_update_shipping_carrierghl_create_store_setting, ghl_get_store_settingProduct Operations:
ghl_create_product, ghl_list_products, ghl_get_productghl_update_product, ghl_delete_productPricing & Inventory:
ghl_create_price, ghl_list_prices, ghl_list_inventoryCollections:
ghl_create_product_collection, ghl_list_product_collectionsIntegration Providers:
create_whitelabel_integration_provider, list_whitelabel_integration_providersOrder Management:
list_orders, get_order_by_id, create_order_fulfillment, list_order_fulfillmentsTransaction Tracking:
list_transactions, get_transaction_by_idSubscription Management:
list_subscriptions, get_subscription_by_idCoupon System:
list_coupons, create_coupon, update_coupon, delete_coupon, get_couponCustom Payment Gateways:
create_custom_provider_integration, delete_custom_provider_integrationget_custom_provider_config, create_custom_provider_configInvoice Templates:
create_invoice_template, list_invoice_templates, get_invoice_templateupdate_invoice_template, delete_invoice_templateupdate_invoice_template_late_fees, update_invoice_template_payment_methodsRecurring Invoices:
create_invoice_schedule, list_invoice_schedules, get_invoice_scheduleupdate_invoice_schedule, delete_invoice_schedule, schedule_invoice_scheduleauto_payment_invoice_schedule, cancel_invoice_scheduleInvoice Management:
create_invoice, list_invoices, get_invoice, update_invoicedelete_invoice, void_invoice, send_invoice, record_invoice_paymentgenerate_invoice_number, text2pay_invoiceEstimates:
create_estimate, list_estimates, update_estimate, delete_estimatesend_estimate, create_invoice_from_estimate, generate_estimate_numberEstimate Templates:
list_estimate_templates, create_estimate_template, update_estimate_templatedelete_estimate_template, preview_estimate_templateAgent Management:
list_voice_ai_agents, create_voice_ai_agent, get_voice_ai_agentupdate_voice_ai_agent, delete_voice_ai_agentActions:
create_voice_ai_action, get_voice_ai_action, update_voice_ai_action, delete_voice_ai_actionCall Logs:
list_voice_ai_call_logs, get_voice_ai_call_loglist_proposals_documents, send_proposal_documentlist_proposal_templates, send_proposal_templatelist_custom_menus, create_custom_menu, get_custom_menuupdate_custom_menu, delete_custom_menuApp Installations:
list_marketplace_installations, delete_marketplace_installationBilling Charges:
list_billing_charges, create_billing_charge, check_billing_fundsget_billing_charge, delete_billing_chargeExisting:
list_number_pools, list_active_numbers_by_locationNumber Search & Purchase:
ghl_search_available_numbers - Search numbers by area code, country, type & capabilitiesghl_buy_phone_number - Purchase a number to your locationghl_release_phone_number - Release/remove a numberNumber Management:
ghl_get_phone_number, ghl_list_phone_numbers - View number detailsghl_update_phone_number - Update forwarding & messaging settingsghl_configure_call_forwarding - Advanced forwarding rulesCall Records:
ghl_get_call_recording, ghl_list_call_recordings - Access recordingsghl_get_voicemail - Retrieve voicemail messagesBYOC (Bring Your Own Carrier):
ghl_get_byoc_trunk, ghl_create_byoc_trunk, ghl_list_byoc_trunksGHL dropped the Agent Studio API on March 13, 2026. We shipped support the same night. This is the first MCP server in the world with GHL Agent Studio integration.
Build, configure, and deploy GHL AI agents entirely from code. No more clicking through the UI — create agents programmatically, update conversation graphs (nodes/edges/variables), and deploy to production in seconds. The killer use case: build one perfect agent, then clone it across all your client sub-accounts in a single loop.
Required scope: agent-studio_write
Agent CRUD:
ghl_create_agent - Create a new agent (auto-creates staging version)ghl_list_agents, ghl_get_agent - Discover and inspect agentsghl_update_agent - Update name, description, statusghl_delete_agent - Permanently remove an agentVersion & Deployment:
ghl_list_agent_versions - List all staging/production snapshotsghl_update_agent_version - Build the agent graph (nodes, edges, variables, config)ghl_deploy_agent - Deploy staging → productionghl_create_workflow, ghl_list_workflows_full, ghl_get_workflow_fullghl_update_workflow_actions, ghl_delete_workflowghl_publish_workflow, ghl_clone_workflow"Search for contacts tagged 'VIP' who haven't been contacted in 30 days, then send them a personalized SMS about our new premium service offering"
"Create an opportunity for contact John Smith for our Premium Package worth $5000, add it to the 'Enterprise Sales' pipeline, and schedule a follow-up appointment for next Tuesday"
"Get all invoices from the last quarter, analyze payment patterns, and create a report of our top-paying customers with their lifetime value"
"List all products with low inventory, create a restock notification campaign, and send it to contacts tagged 'inventory-manager'"
"Create a social media post announcing our Black Friday sale, schedule it for all connected platforms, and track engagement metrics"
"Find all contacts who opened our last email campaign but didn't purchase, add them to the 'warm-leads' workflow, and schedule a follow-up sequence"
# 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
npm start
# For development with hot reload
npm run dev
# Required Environment Variables
GHL_API_KEY=your_private_integrations_api_key_here # From Private Integrations, NOT regular API key
GHL_BASE_URL=https://services.leadconnectorhq.com
GHL_LOCATION_ID=your_location_id_here # From Settings → Company → Locations
NODE_ENV=production
# Optional Configuration
PORT=8000
CORS_ORIGINS=*
LOG_LEVEL=info
npm run build # TypeScript compilation
npm run dev # Development server with hot reload
npm start # Production HTTP server
npm run start:stdio # CLI MCP server for Claude Desktop
npm run start:http # HTTP MCP server for web apps
npm test # Run test suite
npm run test:watch # Watch mode testing
npm run test:coverage # Coverage reports
npm run lint # TypeScript linting
# Test API connectivity
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/sse
Option 1: One-Click Deploy Deploy with Vercel
Option 2: Manual Deploy
# Install Vercel CLI
npm i -g vercel
# Deploy
vercel --prod
# Configure environment variables in Vercel dashboard
# Add: GHL_API_KEY, GHL_BASE_URL, GHL_LOCATION_ID, NODE_ENV
Vercel Configuration (vercel.json):
{
"version": 2,
"builds": [
{
"src": "dist/http-server.js",
"use": "@vercel/node"
}
],
"routes": [
{
"src": "/(.*)",
"dest": "/dist/http-server.js"
}
]
}
# Install Railway CLI
npm install -g @railway/cli
# Login and deploy
railway login
railway init
railway up
# Add environment variables via Railway dashboard
npm run buildnpm start# Build image
docker build -t ghl-mcp-server .
# Run container
docker run -p 8000:8000 \
-e GHL_API_KEY=your_key \
-e GHL_BASE_URL=https://services.leadconnectorhq.com \
-e GHL_LOCATION_ID=your_location_id \
ghl-mcp-server
# 1. Clone and build
git clone https://github.com/BusyBee3333/Go-High-Level-MCP-2026-Complete
cd Go-High-Level-MCP-2026-Complete
npm install
npm run build
# 2. Note the absolute path to dist/server.js for config below
pwd
Add to your Claude Desktop config file:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json{
"mcpServers": {
"ghl-mcp-server": {
"command": "node",
"args": ["/absolute/path/to/Go-High-Level-MCP-2026-Complete/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"
}
}
}
}
Tip: Replace
/absolute/path/to/with the actual full path frompwdabove.
Add to .cursor/mcp.json in your project or ~/.cursor/mcp.json globally:
{
"mcpServers": {
"ghl-mcp-server": {
"command": "node",
"args": ["/absolute/path/to/Go-High-Level-MCP-2026-Complete/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, use the HTTP endpoint:
https://your-deployment-url.vercel.app/sse
ghl-mcp-server/
├── 📁 src/ # Source code
│ ├── 📁 clients/ # API client implementations
│ │ └── ghl-api-client.ts # Core GHL API client
│ ├── 📁 tools/ # MCP tool implementations
│ │ ├── contact-tools.ts # Contact management (31 tools)
│ │ ├── conversation-tools.ts # Messaging (20 tools)
│ │ ├── blog-tools.ts # Blog management (7 tools)
│ │ ├── opportunity-tools.ts # Sales pipeline (10 tools)
│ │ ├── calendar-tools.ts # Appointments (14 tools)
│ │ ├── email-tools.ts # Email marketing (5 tools)
│ │ ├── location-tools.ts # Location management (24 tools)
│ │ ├── email-isv-tools.ts # Email ISV / domains (9 tools)
│ │ ├── social-media-tools.ts # Social media (17 tools)
│ │ ├── media-tools.ts # Media library (3 tools)
│ │ ├── object-tools.ts # Custom objects (9 tools)
│ │ ├── association-tools.ts # Associations (10 tools)
│ │ ├── custom-field-v2-tools.ts # Custom fields (8 tools)
│ │ ├── workflow-tools.ts # Workflows (8 tools)
│ │ ├── survey-tools.ts # Surveys (9 tools)
│ │ ├── store-tools.ts # Store management (18 tools)
│ │ ├── products-tools.ts # Products (10 tools)
│ │ ├── payments-tools.ts # Payments (20 tools)
│ │ ├── invoices-tools.ts # Invoices & billing (39 tools)
│ │ ├── phone-system-tools.ts # Phone system (15 tools)
│ │ └── agent-studio-tools.ts # Agent Studio API (8 tools) — NEW
│ ├── 📁 types/ # TypeScript definitions
│ │ └── ghl-types.ts # Comprehensive type definitions
│ ├── 📁 utils/ # Utility functions
│ ├── server.ts # CLI MCP server (Claude Desktop)
│ └── http-server.ts # HTTP MCP server (Web apps)
├── 📁 tests/ # Comprehensive test suite
│ ├── 📁 clients/ # API client tests
│ ├── 📁 tools/ # Tool implementation tests
│ └── 📁 mocks/ # Test mocks and fixtures
├── 📁 api/ # Vercel API routes
├── 📁 docker/ # Docker configurations
├── 📁 dist/ # Compiled JavaScript (auto-generated)
├── 📄 Documentation files
│ ├── DEPLOYMENT.md # Deployment guides
│ ├── CLAUDE-DESKTOP-DEPLOYMENT-PLAN.md
│ ├── VERCEL-DEPLOYMENT.md
│ ├── CLOUD-DEPLOYMENT.md
│ └── PROJECT-COMPLETION.md
├── 📄 Configuration files
│ ├── package.json # Dependencies and scripts
│ ├── tsconfig.json # TypeScript configuration
│ ├── jest.config.js # Testing configuration
│ ├── vercel.json # Vercel deployment config
│ ├── railway.json # Railway deployment config
│ ├── Dockerfile # Docker containerization
│ ├── Procfile # Process configuration
│ └── cursor-mcp-config.json # MCP configuration
└── 📄 README.md # This comprehensive guide
Build Failures:
# Clear cache and reinstall
rm -rf node_modules package-lock.json dist/
npm install
npm run build
API Connection Issues:
# Test API connectivity (use your Private Integrations API key)
curl -H "Authorization: Bearer YOUR_PRIVATE_INTEGRATIONS_API_KEY" \
https://services.leadconnectorhq.com/locations/YOUR_LOCATION_ID
Common API Issues:
Claude Desktop Integration:
Memory Issues:
# Increase Node.js memory limit
node --max-old-space-size=8192 dist/server.js
CORS Errors:
We welcome contributions from the GoHighLevel community!
# Fork and clone the repository
git clone https://github.com/your-fork/GoHighLevel-MCP.git
# Create feature branch
git checkout -b feature/amazing-new-tool
# Make your changes with tests
npm test
# Commit and push
git commit -m "Add amazing new tool for [specific functionality]"
git push origin feature/amazing-new-tool
# Open Pull Request with detailed description
Signet is a portable agent identity system that lets you store API credentials securely and share MCP server configurations across environments (Claude Code, Cursor, OpenCode, etc.).
signet secret put GHL_API_KEY
signet secret put GHL_LOCATION_ID
# Inject secrets into the MCP server at startup:
GHL_API_KEY=$(signet secret get GHL_API_KEY) \
GHL_LOCATION_ID=$(signet secret get GHL_LOCATION_ID) \
node /path/to/dist/server.js
{
"mcpServers": {
"ghl-mcp-server": {
"command": "sh",
"args": ["-c", "GHL_API_KEY=$(signet secret get GHL_API_KEY) GHL_LOCATION_ID=$(signet secret get GHL_LOCATION_ID) GHL_BASE_URL=https://services.leadconnectorhq.com node /absolute/path/to/dist/server.js"],
"env": {}
}
}
}
mcp_servers:
ghl-mcp-server:
command: node
args: ["/absolute/path/to/Go-High-Level-MCP-2026-Complete/dist/server.js"]
env:
GHL_API_KEY: "${signet:GHL_API_KEY}"
GHL_BASE_URL: "https://services.leadconnectorhq.com"
GHL_LOCATION_ID: "${signet:GHL_LOCATION_ID}"
signet remember "GHL MCP server at /path/to/Go-High-Level-MCP-2026-Complete" -t mcp,ghl,crm
signet recall "GHL MCP"
For a full guide, see SIGNET.md.
Don't want to manage this yourself?
Need a hosted version? Contact [email protected]
Or join the waitlist for our fully managed solution.
This project is licensed under the ISC License - see the LICENSE file for details.
This comprehensive MCP server delivers:
Deploy now and unlock the full potential of AI-powered CRM management!
Deploy with Vercel Deploy on Railway
This project represents hundreds of hours of development work to help the GoHighLevel community. If it's saving you time and helping your business, consider supporting its continued development:
Every contribution, big or small, helps keep this project alive and growing! 🚀
Made with ❤️ for the GoHighLevel community by developers who understand the power of automation.
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"gohighlevel-ghl-mcp-server": {
"command": "npx",
"args": []
}
}
}Web content fetching and conversion for efficient LLM usage.
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also