GoHighLevel MCP Server
README.md
**Instead of trying to tackle this ---- use our hosted version --- GHL Agent Framework, One Click to Sign in!**
https://www.strategixagents.com/
# ๐ GoHighLevel MCP Server
## ๐จ **IMPORTANT: FOUNDATIONAL PROJECT NOTICE**
> **โ ๏ธ This is a BASE-LEVEL foundational project designed to connect the GoHighLevel community with AI automation through MCP (Model Context Protocol).**
### **๐ฏ What This Project Is:**
- **Foundation Layer**: Provides access to ALL sub-account level GoHighLevel API endpoints via MCP
- **Community Starter**: Built to get the community moving forward together, faster
- **Open Architecture**: API client and types can be further modularized and segmented as needed
- **Educational Resource**: Learn how to integrate GoHighLevel with AI systems
### **โ ๏ธ Critical AI Safety Considerations:**
- **Memory/Recall Systems**: If you don't implement proper memory or recall mechanisms, AI may perform unintended actions
- **Rate Limiting**: Monitor API usage to avoid hitting GoHighLevel rate limits
- **Permission Controls**: Understand that this provides FULL access to your sub-account APIs
- **Data Security**: All actions are performed with your API credentials - ensure proper security practices
### **๐ฏ Intended Use:**
- **Personal/Business Use**: Integrate your own GoHighLevel accounts with AI
- **Development Base**: Build upon this foundation for custom solutions
- **Learning & Experimentation**: Understand GoHighLevel API patterns
- **Community Contribution**: Help improve and extend this foundation
### **๐ซ NOT Intended For:**
- **Direct Resale**: This is freely available community software
- **Production Without Testing**: Always test thoroughly in development environments
- **Unmonitored AI Usage**: Implement proper safeguards and monitoring
---
## ๐ **CRITICAL: GoHighLevel API Setup**
### **๐ Required: Private Integrations API Key**
> **โ ๏ธ This project requires a PRIVATE INTEGRATIONS API key, not a regular API key!**
**How to get your Private Integrations API Key:**
1. **Login to your GoHighLevel account**
2. **Navigate to Settings** โ **Integrations** โ **Private Integrations**
3. **Create New Private Integration:**
- **Name**: `MCP Server Integration` (or your preferred name)
- **Webhook URL**: Leave blank (not needed)
4. **Select Required Scopes** based on tools you'll use:
- โ
**contacts.readonly** - View contacts
- โ
**contacts.write** - Create/update contacts
- โ
**conversations.readonly** - View conversations
- โ
**conversations.write** - Send messages
- โ
**opportunities.readonly** - View opportunities
- โ
**opportunities.write** - Manage opportunities
- โ
**calendars.readonly** - View calendars/appointments
- โ
**calendars.write** - Create/manage appointments
- โ
**locations.readonly** - View location data
- โ
**locations.write** - Manage location settings
- โ
**workflows.readonly** - View workflows
- โ
**campaigns.readonly** - View campaigns
- โ
**blogs.readonly** - View blog content
- โ
**blogs.write** - Create/manage blog posts
- โ
**users.readonly** - View user information
- โ
**custom_objects.readonly** - View custom objects
- โ
**custom_objects.write** - Manage custom objects
- โ
**invoices.readonly** - View invoices
- โ
**invoices.write** - Create/manage invoices
- โ
**payments.readonly** - View payment data
- โ
**products.readonly** - View products
- โ
**products.write** - Manage products
5. **Save Integration** and copy the generated **Private API Key**
6. **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".
[](https://vercel.com/new/clone?repository-url=https://github.com/mastanley13/GoHighLevel-MCP)
[](https://railway.app/new/template?template=https://github.com/mastanley13/GoHighLevel-MCP)
[](https://buy.stripe.com/28E14o1hT7JAfstfvqdZ60y)
> **๐ฅ Transform Claude Desktop into a complete GoHighLevel CRM powerhouse with 269+ powerful tools across 19+ categories**
## ๐ฏ What This Does
This comprehensive MCP (Model Context Protocol) server connects Claude Desktop directly to your GoHighLevel account, providing unprecedented automation capabilities:
- **๐ฅ Complete Contact Management**: 31 tools for contacts, tasks, notes, and relationships
- **๐ฌ Advanced Messaging**: 20 tools for SMS, email, conversations, and call recordings
- **๐ข Business Operations**: Location management, custom objects, workflows, and surveys
- **๐ฐ Sales & Revenue**: Opportunities, payments, invoices, estimates, and billing automation
- **๐ฑ Marketing Automation**: Social media, email campaigns, blog management, and media library
- **๐ E-commerce**: Store management, products, inventory, shipping, and order fulfillment
## โก Quick Deploy Options
### ๐ข Vercel (Recommended)
[](https://vercel.com/new/clone?repository-url=https://github.com/your-username/ghl-mcp-server)
**Why Vercel:**
- โ
Free tier with generous limits
- โ
Automatic HTTPS and global CDN
- โ
Zero-config deployment
- โ
Perfect for MCP servers
### ๐ Railway
[](https://railway.app/new/template)
**Why Railway:**
- โ
$5 free monthly credit
- โ
Simple one-click deployment
- โ
Automatic scaling
- โ
Great for production workloads
### ๐จ Render
- โ
Free tier available
- โ
Auto-deploy from GitHub
- โ
Built-in SSL
## ๐ Complete Tool Catalog (269 Tools)
### ๐ฏ Contact Management (31 Tools)
**Core Operations:**
- `create_contact`, `search_contacts`, `get_contact`, `update_contact`, `delete_contact`
- `add_contact_tags`, `remove_contact_tags` - Organize with tags
**Task & Note Management:**
- `get_contact_tasks`, `create_contact_task`, `update_contact_task`, `delete_contact_task`
- `get_contact_notes`, `create_contact_note`, `update_contact_note`, `delete_contact_note`
**Advanced Features:**
- `upsert_contact` - Smart create/update
- `get_duplicate_contact` - Duplicate detection
- `bulk_update_contact_tags` - Mass tag operations
- `add_contact_to_workflow`, `remove_contact_from_workflow` - Workflow automation
- `add_contact_followers`, `remove_contact_followers` - Team collaboration
### ๐ฌ Messaging & Conversations (20 Tools)
**Direct Communication:**
- `send_sms`, `send_email` - Send messages with rich formatting
- `search_conversations`, `get_conversation`, `create_conversation`
**Message Management:**
- `get_message`, `get_email_message`, `upload_message_attachments`
- `update_message_status`, `cancel_scheduled_message`
**Call Features:**
- `get_message_recording`, `get_message_transcription`, `download_transcription`
- `add_inbound_message`, `add_outbound_call` - Manual logging
**Live Chat:**
- `live_chat_typing` - Real-time typing indicators
### ๐ Blog Management (7 Tools)
- `create_blog_post`, `update_blog_post` - Content creation with SEO
- `get_blog_posts`, `get_blog_sites` - Content discovery
- `get_blog_authors`, `get_blog_categories` - Organization
- `check_url_slug` - SEO validation
### ๐ฐ Opportunity Management (10 Tools)
- `search_opportunities` - Advanced filtering by pipeline, stage, contact
- `get_pipelines` - Sales pipeline management
- `create_opportunity`, `update_opportunity`, `delete_opportunity`
- `update_opportunity_status` - Quick win/loss updates
- `upsert_opportunity` - Smart pipeline management
- `add_opportunity_followers`, `remove_opportunity_followers`
### ๐๏ธ Calendar & Appointments (14 Tools)
**Calendar Management:**
- `get_calendar_groups`, `get_calendars`, `create_calendar`
- `update_calendar`, `delete_calendar`
**Appointment Booking:**
- `get_calendar_events`, `get_free_slots` - Availability checking
- `create_appointment`, `get_appointment`, `update_appointment`, `delete_appointment`
**Schedule Control:**
- `create_block_slot`, `update_block_slot` - Time blocking
### ๐ง Email Marketing (6 Tools)
- `get_email_campaigns` - Campaign management
- `create_email_template`, `get_email_templates` - Template system
- `update_email_template`, `delete_email_template`
- `get_email_template_content` - Fetch a template's rendered HTML body inline (resolves the Firebase previewUrl server-side)
### ๐ข Location Management (24 Tools)
**Sub-Account Management:**
- `search_locations`, `get_location`, `create_location`, `update_location`, `delete_location`
**Tag System:**
- `get_location_tags`, `create_location_tag`, `update_location_tag`, `delete_location_tag`
**Custom Fields & Values:**
- `get_location_custom_fields`, `create_location_custom_field`, `update_location_custom_field`
- `get_location_custom_values`, `create_location_custom_value`, `update_location_custom_value`
**Templates & Settings:**
- `get_location_templates`, `delete_location_template`, `get_timezones`
### โ
Email Verification (1 Tool)
- `verify_email` - Deliverability and risk assessment
### ๐ฑ Social Media Management (17 Tools)
**Post Management:**
- `search_social_posts`, `create_social_post`, `get_social_post`
- `update_social_post`, `delete_social_post`, `bulk_delete_social_posts`
**Account Integration:**
- `get_social_accounts`, `delete_social_account`, `start_social_oauth`
**Bulk Operations:**
- `upload_social_csv`, `get_csv_upload_status`, `set_csv_accounts`
**Organization:**
- `get_social_categories`, `get_social_tags`, `get_social_tags_by_ids`
**Platforms:** Google Business, Facebook, Instagram, LinkedIn, Twitter, TikTok
### ๐ Media Library (3 Tools)
- `get_media_files` - Search and filter media
- `upload_media_file` - File uploads and hosted URLs
- `delete_media_file` - Clean up media assets
### ๐๏ธ Custom Objects (9 Tools)
**Schema Management:**
- `get_all_objects`, `create_object_schema`, `get_object_schema`, `update_object_schema`
**Record Operations:**
- `create_object_record`, `get_object_record`, `update_object_record`, `delete_object_record`
**Advanced Search:**
- `search_object_records` - Query custom data
**Use Cases:** Pet records, support tickets, inventory, custom business data
### ๐ Association Management (10 Tools)
- `ghl_get_all_associations`, `ghl_create_association`, `ghl_get_association_by_id`
- `ghl_update_association`, `ghl_delete_association`
- `ghl_create_relation`, `ghl_get_relations_by_record`, `ghl_delete_relation`
- Advanced relationship mapping between objects
### ๐๏ธ Custom Fields V2 (8 Tools)
- `ghl_get_custom_field_by_id`, `ghl_create_custom_field`, `ghl_update_custom_field`
- `ghl_delete_custom_field`, `ghl_get_custom_fields_by_object_key`
- `ghl_create_custom_field_folder`, `ghl_update_custom_field_folder`, `ghl_delete_custom_field_folder`
### โก Workflow Management (1 Tool)
- `ghl_get_workflows` - Automation workflow discovery
### ๐ Survey Management (2 Tools)
- `ghl_get_surveys` - Survey management
- `ghl_get_survey_submissions` - Response analysis
### ๐ Store Management (18 Tools)
**Shipping Zones:**
- `ghl_create_shipping_zone`, `ghl_list_shipping_zones`, `ghl_get_shipping_zone`
- `ghl_update_shipping_zone`, `ghl_delete_shipping_zone`
**Shipping Rates:**
- `ghl_get_available_shipping_rates`, `ghl_create_shipping_rate`, `ghl_list_shipping_rates`
- `ghl_get_shipping_rate`, `ghl_update_shipping_rate`, `ghl_delete_shipping_rate`
**Carriers & Settings:**
- `ghl_create_shipping_carrier`, `ghl_list_shipping_carriers`, `ghl_update_shipping_carrier`
- `ghl_create_store_setting`, `ghl_get_store_setting`
### ๐ฆ Products Management (10 Tools)
**Product Operations:**
- `ghl_create_product`, `ghl_list_products`, `ghl_get_product`
- `ghl_update_product`, `ghl_delete_product`
**Pricing & Inventory:**
- `ghl_create_price`, `ghl_list_prices`, `ghl_list_inventory`
**Collections:**
- `ghl_create_product_collection`, `ghl_list_product_collections`
### ๐ณ Payments Management (20 Tools)
**Integration Providers:**
- `create_whitelabel_integration_provider`, `list_whitelabel_integration_providers`
**Order Management:**
- `list_orders`, `get_order_by_id`, `create_order_fulfillment`, `list_order_fulfillments`
**Transaction Tracking:**
- `list_transactions`, `get_transaction_by_id`
**Subscription Management:**
- `list_subscriptions`, `get_subscription_by_id`
**Coupon System:**
- `list_coupons`, `create_coupon`, `update_coupon`, `delete_coupon`, `get_coupon`
**Custom Payment Gateways:**
- `create_custom_provider_integration`, `delete_custom_provider_integration`
- `get_custom_provider_config`, `create_custom_provider_config`
### ๐งพ Invoices & Billing (39 Tools)
**Invoice Templates:**
- `create_invoice_template`, `list_invoice_templates`, `get_invoice_template`
- `update_invoice_template`, `delete_invoice_template`
- `update_invoice_template_late_fees`, `update_invoice_template_payment_methods`
**Recurring Invoices:**
- `create_invoice_schedule`, `list_invoice_schedules`, `get_invoice_schedule`
- `update_invoice_schedule`, `delete_invoice_schedule`, `schedule_invoice_schedule`
- `auto_payment_invoice_schedule`, `cancel_invoice_schedule`
**Invoice Management:**
- `create_invoice`, `list_invoices`, `get_invoice`, `update_invoice`
- `delete_invoice`, `void_invoice`, `send_invoice`, `record_invoice_payment`
- `generate_invoice_number`, `text2pay_invoice`
**Estimates:**
- `create_estimate`, `list_estimates`, `update_estimate`, `delete_estimate`
- `send_estimate`, `create_invoice_from_estimate`, `generate_estimate_number`
**Estimate Templates:**
- `list_estimate_templates`, `create_estimate_template`, `update_estimate_template`
- `delete_estimate_template`, `preview_estimate_template`
## ๐ฎ Claude Desktop Usage Examples
### ๐ Customer Communication 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"
```
### ๐ฐ Sales Pipeline Management
```
"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"
```
### ๐ Business Intelligence
```
"Get all invoices from the last quarter, analyze payment patterns, and create a report of our top-paying customers with their lifetime value"
```
### ๐ E-commerce Operations
```
"List all products with low inventory, create a restock notification campaign, and send it to contacts tagged 'inventory-manager'"
```
### ๐ฑ Social Media Automation
```
"Create a social media post announcing our Black Friday sale, schedule it for all connected platforms, and track engagement metrics"
```
### ๐ฏ Marketing Automation
```
"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"
```
## ๐ง Local Development
### Prerequisites
- Node.js 18+ (Latest LTS recommended)
- GoHighLevel account with API access
- Valid API key and Location ID
- Claude Desktop (for MCP integration)
### Installation & Setup
```bash
# 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
```
### Environment Configuration
```bash
# 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
```
### Multiple Sub-Accounts
Instead of a single `GHL_API_KEY` and `GHL_LOCATION_ID`, you can configure
several sub-accounts and switch between them with the `switch_subaccount` tool.
Each needs its own location-scoped Private Integration Token.
```bash
GHL_ACCOUNTS=ClientA,ClientB
GHL_ClientA_API_KEY=pit-xxx
GHL_ClientA_LOCATION_ID=abc123
GHL_ClientB_API_KEY=pit-yyy
GHL_ClientB_LOCATION_ID=def456
```
The first name listed is active at startup. `list_subaccounts` shows all of
them and marks the active one.
### Agency (Company-Scoped) Credentials
Most tools act on one sub-account and use that sub-account's token. A few act
on a whole agency instead, and GoHighLevel scopes those to a **company** rather
than a location. They need an agency Private Integration Token.
Agency tools:
| Tool | Notes |
| --- | --- |
| `search_locations` | Lists the sub-accounts under a company |
| `create_location` | Creates a sub-account under a company |
| `update_location` | Updates a sub-account |
Configure any number of agencies:
```bash
GHL_AGENCIES=AgencyOne,AgencyTwo
GHL_AGENCY_AgencyOne_API_KEY=pit-aaa
GHL_AGENCY_AgencyOne_COMPANY_ID=company-id-one
GHL_AGENCY_AgencyTwo_API_KEY=pit-bbb
GHL_AGENCY_AgencyTwo_COMPANY_ID=company-id-two
```
Adding another agency later needs no code change, only these two variables and
a new name in `GHL_AGENCIES`.
**Agency credentials are ambient.** They sit alongside the sub-accounts rather
than inside them. You cannot switch to an agency, and `switch_subaccount` does
not list them. Agency tools pick their credentials from the `companyId` on the
call, so an agency call is never affected by which sub-account happens to be
active.
**`companyId` is required and never guessed.** If you leave it out, the call
fails and the error lists every configured agency with its company ID, so you
can retry straight from the error. The connector deliberately does not infer
the company from the active sub-account, because that would quietly run agency
calls against whichever company the last `switch_subaccount` happened to land
on.
Optionally record which agency owns each sub-account. This only labels
`list_subaccounts` output:
```bash
GHL_ClientA_COMPANY=company-id-one
GHL_ClientB_COMPANY=company-id-two
```
A sub-account may name a company that has no agency credentials configured.
That is supported and the server starts normally. Only agency-scoped calls for
that company fail, and they say which company is missing credentials.
### Troubleshooting Permission Errors
GoHighLevel returns a bare `Forbidden resource` on a 403 and does not say which
token it rejected, so a missing scope looks exactly like a real permissions
problem. This connector adds the missing context: a 403 now reports whether a
location or agency token was used and which location or company it was scoped
to, and says a scope or credential mismatch is the likely cause.
The two most common causes:
1. **Wrong kind of token.** Calling `search_locations` with a location token
returns 403. It needs an agency token.
2. **Missing scope.** Scopes are chosen when the Private Integration is created
in the GoHighLevel UI and cannot be added to the token later on some plans.
Reading sub-accounts needs `locations.readonly`. If `search_locations` still
returns 403 with a valid agency token, this is almost always the reason, and
the fix is to recreate the token with the scope ticked.
### Available Scripts
```bash
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
```
### Testing & Validation
```bash
# 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
```
## ๐ Deployment Guide
### ๐ข Vercel Deployment (Recommended)
**Option 1: One-Click Deploy**
[](https://vercel.com/new/clone?repository-url=https://github.com/mastanley13/GoHighLevel-MCP)
**Option 2: Manual Deploy**
```bash
# 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):
```json
{
"version": 2,
"builds": [
{
"src": "dist/http-server.js",
"use": "@vercel/node"
}
],
"routes": [
{
"src": "/(.*)",
"dest": "/dist/http-server.js"
}
]
}
```
### ๐ Railway Deployment
```bash
# Install Railway CLI
npm install -g @railway/cli
# Login and deploy
railway login
railway init
railway up
# Add environment variables via Railway dashboard
```
### ๐จ Render Deployment
1. Connect your GitHub repository
2. Configure build command: `npm run build`
3. Configure start command: `npm start`
4. Add environment variables in Render dashboard
### ๐ณ Docker Deployment
```bash
# 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
```
## ๐ Claude Desktop Integration
### MCP Configuration
Add to your Claude Desktop `mcp_settings.json`:
```json
{
"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"
}
}
}
}
```
### HTTP MCP Integration
For web-based MCP clients, use the HTTP endpoint:
```
https://your-deployment-url.vercel.app/sse
```
## ๐ Project Architecture
```
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 verification (1 tool)
โ โ โโโ 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 (1 tool)
โ โ โโโ survey-tools.ts # Surveys (2 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)
โ โโโ ๐ 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
```
## ๐ Security & Best Practices
### Environment Security
- โ
Never commit API keys to version control
- โ
Use environment variables for all sensitive data
- โ
Implement proper CORS policies
- โ
Regular API key rotation
- โ
Monitor API usage and rate limits
### Production Considerations
- โ
Implement proper error handling and logging
- โ
Set up monitoring and alerting
- โ
Use HTTPS for all deployments
- โ
Implement request rate limiting
- โ
Regular security updates
### API Rate Limiting
- GoHighLevel API has rate limits
- Implement exponential backoff
- Cache frequently requested data
- Use batch operations when available
## ๐จ Troubleshooting Guide
### Common Issues & Solutions
**Build Failures:**
```bash
# Clear cache and reinstall
rm -rf node_modules package-lock.json dist/
npm install
npm run build
```
**API Connection Issues:**
```bash
# 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:**
- โ
Using Private Integrations API key (not regular API key)
- โ
Required scopes enabled in Private Integration
- โ
Location ID matches your GHL account
- โ
Environment variables properly set
**Claude Desktop Integration:**
1. Verify MCP configuration syntax
2. Check file paths are absolute
3. Ensure environment variables are set
4. Restart Claude Desktop after changes
**Memory Issues:**
```bash
# Increase Node.js memory limit
node --max-old-space-size=8192 dist/server.js
```
**CORS Errors:**
- Configure CORS_ORIGINS environment variable
- Ensure proper HTTP headers
- Check domain whitelist
### Performance Optimization
- Enable response caching for read operations
- Use pagination for large data sets
- Implement connection pooling
- Monitor memory usage and optimize accordingly
## ๐ Technical Specifications
### System Requirements
- **Runtime**: Node.js 18+ (Latest LTS recommended)
- **Memory**: Minimum 512MB RAM, Recommended 1GB+
- **Storage**: 100MB for application, additional for logs
- **Network**: Stable internet connection for API calls
### Technology Stack
- **Backend**: Node.js + TypeScript
- **HTTP Framework**: Express.js 5.x
- **MCP SDK**: @modelcontextprotocol/sdk ^1.12.1
- **HTTP Client**: Axios ^1.9.0
- **Testing**: Jest with TypeScript support
- **Build System**: TypeScript compiler
### API Integration
- **GoHighLevel API**: v2021-07-28 (Contacts), v2021-04-15 (Conversations)
- **Authentication**: Bearer token
- **Rate Limiting**: Respects GHL API limits
- **Error Handling**: Comprehensive error recovery
### Performance Metrics
- **Cold Start**: < 2 seconds
- **API Response**: < 500ms average
- **Memory Usage**: ~50-100MB base
- **Tool Execution**: < 1 second average
## ๐ค Contributing
We welcome contributions from the GoHighLevel community!
### Development Workflow
```bash
# 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
```
### Contribution Guidelines
- โ
Add comprehensive tests for new tools
- โ
Follow TypeScript best practices
- โ
Update documentation for new features
- โ
Ensure all linting passes
- โ
Include examples in PR description
### Code Standards
- Use TypeScript strict mode
- Follow existing naming conventions
- Add JSDoc comments for all public methods
- Implement proper error handling
- Include integration tests
## ๐ License
This project is licensed under the **ISC License** - see the [LICENSE](LICENSE) file for details.
## ๐ Community & Support
### Documentation
- ๐ [Complete API Documentation](docs/)
- ๐ฅ [Video Tutorials](docs/videos/)
- ๐ [Tool Reference Guide](docs/tools/)
- ๐ง [Deployment Guides](docs/deployment/)
### Getting Help
- **Issues**: [GitHub Issues](https://github.com/mastanley13/GoHighLevel-MCP/issues)
- **Discussions**: [GitHub Discussions](https://github.com/mastanley13/GoHighLevel-MCP/discussions)
- **API Reference**: [GoHighLevel API Docs](https://highlevel.stoplight.io/)
- **MCP Protocol**: [Model Context Protocol](https://modelcontextprotocol.io/)
### Community Resources
- ๐ฌ Join our Discord community
- ๐บ Subscribe to our YouTube channel
- ๐ฐ Follow our development blog
- ๐ฆ Follow us on Twitter for updates
## ๐ Success Metrics
This comprehensive MCP server delivers:
### โ
**269 Operational Tools** across 19 categories
### โ
**Real-time GoHighLevel Integration** with full API coverage
### โ
**Production-Ready Deployment** on multiple platforms
### โ
**Enterprise-Grade Architecture** with comprehensive error handling
### โ
**Full TypeScript Support** with complete type definitions
### โ
**Extensive Test Coverage** ensuring reliability
### โ
**Multi-Platform Deployment** (Vercel, Railway, Render, Docker)
### โ
**Claude Desktop Integration** with MCP protocol compliance
### โ
**Community-Driven Development** with comprehensive documentation
---
## ๐ **Ready to revolutionize your GoHighLevel automation?**
**Deploy now and unlock the full potential of AI-powered CRM management!**
[](https://vercel.com/new/clone?repository-url=https://github.com/mastanley13/GoHighLevel-MCP) [](https://railway.app/new/template?template=https://github.com/mastanley13/GoHighLevel-MCP)
---
## ๐ Support This Project
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:
### ๐ Ways to Support:
- **โญ Star this repo** - Helps others discover the project
- **๐ Buy me a pizza** - [Donate via Stripe](https://buy.stripe.com/28E14o1hT7JAfstfvqdZ60y)
- **๐ Report bugs** - Help make it better for everyone
- **๐ก Suggest features** - Share your ideas for improvements
- **๐ค Contribute code** - Pull requests are always welcome!
### ๐ Recognition:
- Contributors will be listed in the project
- Significant contributions may get special recognition
- This project is community-driven and community-supported
**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.*