1.0.0 • Published 8 months ago

@mastanley13/ghl-mcp-server v1.0.0

Weekly downloads
-
License
ISC
Repository
-
Last release
8 months ago

šŸš€ GoHighLevel MCP Server

Deploy with Vercel

Transform ChatGPT into a GoHighLevel CRM powerhouse with 21 powerful tools

šŸŽÆ What This Does

This MCP (Model Context Protocol) server connects ChatGPT directly to your GoHighLevel account, enabling you to:

  • šŸ‘„ Manage Contacts: Create, search, update, and organize contacts
  • šŸ’¬ Handle Communications: Send SMS and emails, manage conversations
  • šŸ“ Create Content: Manage blog posts, authors, and categories
  • šŸ”„ Automate Workflows: Combine multiple actions through ChatGPT

⚔ Quick Deploy to Vercel

1. One-Click Deploy

Click the button above or: Deploy with Vercel

2. Add Environment Variables

GHL_API_KEY=your_ghl_api_key_here
GHL_BASE_URL=https://services.leadconnectorhq.com
GHL_LOCATION_ID=your_location_id_here
NODE_ENV=production

3. Connect to ChatGPT

Use your deployed URL in ChatGPT:

https://your-app-name.vercel.app/sse

šŸ› ļø Available Tools (21 Total)

šŸŽÆ Contact Management (7 Tools)

  • create_contact - Create new contacts
  • search_contacts - Find contacts by criteria
  • get_contact - Retrieve contact details
  • update_contact - Modify contact information
  • add_contact_tags - Organize with tags
  • remove_contact_tags - Remove tags
  • delete_contact - Delete contacts

šŸ’¬ Messaging & Conversations (7 Tools)

  • send_sms - Send SMS messages
  • send_email - Send emails with HTML support
  • search_conversations - Find conversations
  • get_conversation - Get conversation details
  • create_conversation - Start new conversations
  • update_conversation - Modify conversations
  • get_recent_messages - Monitor recent activity

šŸ“ Blog Management (7 Tools)

  • create_blog_post - Create blog posts with SEO
  • update_blog_post - Edit existing posts
  • get_blog_posts - List and search posts
  • get_blog_sites - Manage blog sites
  • get_blog_authors - Handle authors
  • get_blog_categories - Organize categories
  • check_url_slug - Validate URL slugs

šŸŽ® ChatGPT Usage Examples

Contact Management

"Create a contact for John Smith with email john@company.com and add tags 'lead' and 'hot-prospect'"

Communication

"Send an SMS to contact ID abc123 saying 'Thanks for your interest! We'll call you within 24 hours.'"

Blog Content

"Create a blog post titled 'Insurance Tips for 2024' with SEO-optimized content about life insurance benefits"

Advanced Workflows

"Search for contacts tagged 'VIP', get their recent conversations, and send them a personalized email about our premium services"

šŸ”§ Local Development

Prerequisites

  • Node.js 18+
  • GoHighLevel API access
  • Valid API key and Location ID

Setup

# Clone repository
git clone https://github.com/your-username/ghl-mcp-server.git
cd ghl-mcp-server

# Install dependencies
npm install

# Create .env file
cp .env.example .env
# Add your GHL API credentials

# Build and start
npm run build
npm start

Testing

# Test health endpoint
curl http://localhost:8000/health

# Test tools endpoint  
curl http://localhost:8000/tools

# Test SSE endpoint
curl -H "Accept: text/event-stream" http://localhost:8000/sse

🌐 Deployment Options

Vercel (Recommended)

  • āœ… Free tier available
  • āœ… Automatic HTTPS
  • āœ… Global CDN
  • āœ… Easy GitHub integration

Railway

  • āœ… Free $5 credit
  • āœ… Simple deployment
  • āœ… Automatic scaling

Render

  • āœ… Free tier
  • āœ… Easy setup
  • āœ… Reliable hosting

šŸ“‹ Project Structure

ghl-mcp-server/
ā”œā”€ā”€ src/
│   ā”œā”€ā”€ clients/          # GHL API client
│   ā”œā”€ā”€ tools/           # MCP tool implementations
│   ā”œā”€ā”€ types/           # TypeScript interfaces
│   ā”œā”€ā”€ server.ts        # CLI MCP server
│   └── http-server.ts   # HTTP MCP server
ā”œā”€ā”€ tests/               # Comprehensive test suite
ā”œā”€ā”€ docs/                # Documentation
ā”œā”€ā”€ vercel.json         # Vercel configuration
ā”œā”€ā”€ Dockerfile          # Docker support
└── README.md           # This file

šŸ” Security & Environment

Required Environment Variables

GHL_API_KEY=your_api_key        # GoHighLevel API key
GHL_BASE_URL=https://services.leadconnectorhq.com
GHL_LOCATION_ID=your_location   # Your GHL location ID
NODE_ENV=production             # Environment mode

Security Features

  • āœ… Environment-based configuration
  • āœ… Input validation and sanitization
  • āœ… Comprehensive error handling
  • āœ… CORS protection for web deployment
  • āœ… No sensitive data in code

🚨 Troubleshooting

Common Issues

Build Failures:

npm run build  # Check TypeScript compilation
npm install    # Ensure dependencies installed

API Connection Issues:

  • Verify GHL API key is valid
  • Check location ID is correct
  • Ensure environment variables are set

ChatGPT Integration:

  • Confirm SSE endpoint is accessible
  • Check CORS configuration
  • Verify MCP protocol compatibility

šŸ“Š Technical Stack

  • Runtime: Node.js 18+ with TypeScript
  • Framework: Express.js for HTTP server
  • MCP SDK: @modelcontextprotocol/sdk
  • API Client: Axios with interceptors
  • Testing: Jest with comprehensive coverage
  • Deployment: Vercel, Railway, Render, Docker

šŸ¤ Contributing

  1. Fork the repository
  2. Create feature branch (git checkout -b feature/amazing-feature)
  3. Commit changes (git commit -m 'Add amazing feature')
  4. Push to branch (git push origin feature/amazing-feature)
  5. Open Pull Request

šŸ“ License

This project is licensed under the ISC License - see the LICENSE file for details.

šŸ†˜ Support

  • Documentation: Check the /docs folder
  • Issues: Open a GitHub issue
  • API Docs: GoHighLevel API documentation
  • MCP Protocol: Model Context Protocol specification

šŸŽ‰ Success Story

This server successfully connects ChatGPT to GoHighLevel with:

  • āœ… 21 operational tools
  • āœ… Real-time API integration
  • āœ… Production-ready deployment
  • āœ… Comprehensive error handling
  • āœ… Full TypeScript support

Ready to automate your GoHighLevel workflows through ChatGPT! šŸš€


Made with ā¤ļø for the GoHighLevel community