{
  "markdown": "# GHL MCP Server\n\n> GoHighLevel MCP Server for Claude, N8N, and Custom AI Agents\n> Built by Saurabh K Shah (https://saurabhshah.com)\n\nA comprehensive Model Context Protocol (MCP) server that connects AI assistants directly to your GoHighLevel CRM. Supports **60+ tools** across contacts, conversations, calendars, pipelines, payments, invoices, workflows, custom fields, social media, and more.\n\n## Features\n\n- **Contacts**: Search, create, update, delete, upsert, tags, notes, tasks, workflow management\n- **Conversations & Messaging**: SMS, Email, WhatsApp, search threads, send messages, schedule sends\n- **Calendars & Appointments**: List calendars, get free slots, create/update/delete events\n- **Opportunities & Pipelines**: Full deal management, stage transitions, pipeline listing\n- **Payments & Invoices**: Orders, transactions, subscriptions, create/send/void invoices\n- **Workflows**: List all workflows, add/remove contacts from workflows\n- **Custom Fields**: List, create custom fields for contacts\n- **Locations**: Sub-account details, tags management\n- **Users**: Search team members\n- **Forms & Surveys**: List forms/surveys, get submissions\n- **Campaigns**: List all campaigns\n- **Social Media**: List/create posts, view connected accounts\n- **Funnels & Blogs**: List funnels, blogs\n- **Products**: List products and prices\n\n## Quick Start\n\n### 1. Get Your GHL Credentials\n\n1. Log into GoHighLevel → **Settings** → **Private Integrations**\n2. Click **Create New Integration**\n3. Name it (e.g., \"Claude MCP Server\")\n4. Select all scopes you need (contacts, conversations, calendars, payments, etc.)\n5. Copy the **Private Integration Token**\n6. Note your **Location ID** (visible in the URL when viewing any sub-account)\n\n### 2. Install & Configure\n\n```bash\ngit clone https://github.com/northrosetech/ghl-mcp-server.git\ncd ghl-mcp-server\nnpm install\ncp .env.example .env\n```\n\nEdit `.env`:\n```env\nGHL_API_KEY=your_private_integration_token_here\nGHL_LOCATION_ID=your_location_id_here\n```\n\nBuild:\n```bash\nnpm run build\n```\n\n### 3. Connect to Claude Desktop\n\nAdd to your Claude Desktop config (`~/Library/Application Support/Claude/claude_desktop_config.json` on Mac):\n\n```json\n{\n  \"mcpServers\": {\n    \"ghl\": {\n      \"command\": \"node\",\n      \"args\": [\"/absolute/path/to/ghl-mcp-server/dist/index.js\"],\n      \"env\": {\n        \"GHL_API_KEY\": \"your_private_integration_token\",\n        \"GHL_LOCATION_ID\": \"your_location_id\",\n        \"TRANSPORT\": \"stdio\"\n      }\n    }\n  }\n}\n```\n\nRestart Claude Desktop. You should see GHL tools available.\n\n### 4. Connect to N8N (HTTP Mode)\n\nStart the server in HTTP mode:\n```bash\nTRANSPORT=http PORT=3001 GHL_API_KEY=your_token GHL_LOCATION_ID=your_id node dist/index.js\n```\n\nIn N8N:\n1. Add an **MCP Client** node\n2. Set URL to `http://localhost:3001/mcp`\n3. Set transport to **HTTP Streamable**\n4. Use the GHL tools in your workflows\n\n### 5. Connect to Claude Code\n\nAdd to your project's `.mcp.json`:\n```json\n{\n  \"mcpServers\": {\n    \"ghl\": {\n      \"command\": \"node\",\n      \"args\": [\"./ghl-mcp-server/dist/index.js\"],\n      \"env\": {\n        \"GHL_API_KEY\": \"your_token\",\n        \"GHL_LOCATION_ID\": \"your_id\"\n      }\n    }\n  }\n}\n```\n\n## Available Tools (60+)\n\n### Contacts (15 tools)\n| Tool | Description |\n|------|-------------|\n| `ghl_search_contacts` | Search contacts by query, tags, filters |\n| `ghl_get_contact` | Get contact by ID |\n| `ghl_create_contact` | Create new contact |\n| `ghl_update_contact` | Update existing contact |\n| `ghl_delete_contact` | Delete contact |\n| `ghl_upsert_contact` | Create or update by email/phone |\n| `ghl_add_contact_tags` | Add tags to contact |\n| `ghl_remove_contact_tags` | Remove tags from contact |\n| `ghl_get_contact_notes` | Get contact notes |\n| `ghl_create_contact_note` | Add note to contact |\n| `ghl_delete_contact_note` | Delete a note |\n| `ghl_get_contact_tasks` | Get contact tasks |\n| `ghl_create_contact_task` | Create task for contact |\n| `ghl_update_contact_task` | Update task |\n| `ghl_add_contact_to_workflow` | Add contact to workflow |\n| `ghl_remove_contact_from_workflow` | Remove from workflow |\n\n### Conversations & Messaging (6 tools)\n| Tool | Description |\n|------|-------------|\n| `ghl_search_conversations` | Search conversation threads |\n| `ghl_get_conversation` | Get conversation details |\n| `ghl_get_messages` | Get messages in a thread |\n| `ghl_send_message` | Send SMS/Email/WhatsApp/etc. |\n| `ghl_cancel_scheduled_message` | Cancel scheduled message |\n| `ghl_update_conversation` | Update conversation status |\n\n### Calendars & Appointments (8 tools)\n| Tool | Description |\n|------|-------------|\n| `ghl_list_calendars` | List all calendars |\n| `ghl_get_calendar` | Get calendar details |\n| `ghl_get_free_slots` | Get available booking slots |\n| `ghl_get_events` | Get appointments/events |\n| `ghl_create_event` | Create appointment |\n| `ghl_update_event` | Update appointment |\n| `ghl_delete_event` | Delete appointment |\n| `ghl_create_calendar` | Create new calendar |\n\n### Opportunities & Pipelines (7 tools)\n| Tool | Description |\n|------|-------------|\n| `ghl_search_opportunities` | Search deals |\n| `ghl_get_opportunity` | Get deal details |\n| `ghl_create_opportunity` | Create new deal |\n| `ghl_update_opportunity` | Update deal / move stages |\n| `ghl_delete_opportunity` | Delete deal |\n| `ghl_update_opportunity_status` | Change deal status |\n| `ghl_list_pipelines` | List pipelines & stages |\n\n### Payments & Invoices (9 tools)\n| Tool | Description |\n|------|-------------|\n| `ghl_list_orders` | List payment orders |\n| `ghl_get_order` | Get order details |\n| `ghl_list_transactions` | List transactions |\n| `ghl_list_subscriptions` | List subscriptions |\n| `ghl_list_invoices` | List invoices |\n| `ghl_get_invoice` | Get invoice details |\n| `ghl_create_invoice` | Create invoice |\n| `ghl_send_invoice` | Email invoice to contact |\n| `ghl_void_invoice` | Void an invoice |\n\n### Other Tools (15+ tools)\n| Tool | Description |\n|------|-------------|\n| `ghl_list_workflows` | List all workflows |\n| `ghl_list_custom_fields` | List custom fields |\n| `ghl_create_custom_field` | Create custom field |\n| `ghl_get_location` | Get location details |\n| `ghl_get_location_tags` | Get location tags |\n| `ghl_create_location_tag` | Create new tag |\n| `ghl_search_users` | Search team members |\n| `ghl_list_forms` | List forms |\n| `ghl_get_form_submissions` | Get form submissions |\n| `ghl_list_surveys` | List surveys |\n| `ghl_list_campaigns` | List campaigns |\n| `ghl_list_social_posts` | List social posts |\n| `ghl_create_social_post` | Create/schedule social post |\n| `ghl_list_social_accounts` | List connected social accounts |\n| `ghl_list_funnels` | List funnels/websites |\n| `ghl_list_products` | List products |\n| `ghl_list_blogs` | List blogs |\n| `ghl_list_links` | List trigger links |\n\n## Architecture\n\n```\nghl-mcp-server/\n├── src/\n│   ├── index.ts              # Entry point (stdio + HTTP transport)\n│   ├── constants.ts          # All GHL API endpoints & config\n│   ├── types.ts              # TypeScript interfaces\n│   ├── services/\n│   │   └── api-client.ts     # Auth, rate limiting, error handling\n│   └── tools/\n│       ├── contacts.ts       # Contact management tools\n│       ├── conversations.ts  # Messaging tools\n│       ├── calendars.ts      # Calendar & appointment tools\n│       ├── opportunities.ts  # Pipeline & deal tools\n│       └── business.ts       # Payments, invoices, workflows, etc.\n├── dist/                     # Compiled JS\n├── package.json\n├── tsconfig.json\n└── .env.example\n```\n\n## Rate Limits\n\nThe server includes built-in rate limiting matching GHL's limits:\n- **Burst**: 100 requests per 10 seconds\n- **Daily**: 200,000 requests per day\n\nThe server automatically queues and retries when limits are approached.\n\n## Error Handling\n\nAll tools return actionable error messages with hints:\n- **401**: Check your API key (must be Private Integration Token)\n- **403**: Missing scopes — edit your Private Integration in GHL Settings\n- **404**: Resource not found — check the ID\n- **422**: Validation error with details\n- **429**: Rate limit — automatic retry\n\n## License\n\nMIT — Built by Saurabh K Shah (https://saurabhshah.com)\n",
  "bytes": 8177,
  "sha": "32da61b55fc537a87c5ffa8cd99d0690278d778dd63595a289ac084133328dd3",
  "repo_slug": "northrosetech/ghl-mcp-server",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_northrosetech_ghl_mcp_server_c4bf37f3/readme"
}