MCP Server · Remote · Read-only CRM access
GoHighLevel MCP Server
NotFair's GoHighLevel MCP exposes your CRM as a typed tool surface for AI agents. Built on the Model Context Protocol. Connect Claude, Codex, or any compliant client at https://notfair.co/api/mcp/gohighlevel and ask questions over live HighLevel data — contacts, conversations, opportunities, calendars.
OAuth 2.0 with PKCE for Claude · Bearer-token PATs for CLI clients · Typed HighLevel read/write tools.
Tool surface
What Claude can do with HighLevel
Broad read tools plus bounded CRM write tools scoped to the locations you connect.
| Tool | What it does |
|---|---|
listLocations | List HighLevel locations the connection can see. Returns the full set under the parent agency, or just the bound location for sub-account tokens. |
listContacts | Paginate contacts in a location. Supports limit, startAfterId cursor, and a substring query against name/email/phone. |
listConversations | Paginate conversations in a location. Filter by lastMessageType (TYPE_SMS, TYPE_EMAIL, TYPE_CALL, ...) when you want a single channel. |
listOpportunities | Paginate opportunities in a location. Optionally filter by pipelineId to scope to a single sales funnel. |
listCalendarEvents | Date-bounded calendar events for a location. Pass startDate / endDate (ISO 8601) and optionally a calendarId. |
listUsers / listPipelines / listCalendars | Read team members, opportunity pipeline stages, and calendar configuration so Claude can explain ownership, routing, and booking context. |
listCustomFields / listTags / listTasks / listCampaigns | Read location metadata, task queues, campaign metadata, trigger links, and media files so Claude can interpret custom field ids, segmentation, follow-up load, and tagging conventions. |
listForms / listSurveys / listWorkflows | Read intake assets, submissions, and workflow metadata to understand lead sources and automation coverage. |
listInvoices / listTransactions / listProducts | Read commerce context attached to the CRM so Claude can connect pipeline state to orders, invoices, payments, and products. |
createContact / upsertContact / updateContact | Write contact records with typed fields, tags, assignment, and custom fields. Upsert follows HighLevel's duplicate/contact matching rules. |
createOpportunity / updateOpportunity | Create and update pipeline opportunities after resolving contact, pipeline, and stage ids from the read tools. |
createCalendarAppointment / updateCalendarAppointment / deleteCalendarEvent | Book, revise, or remove calendar events using HighLevel calendar and contact ids. Deletion is marked destructive. |
createTag / createContactTask | Create location tags and contact-attached tasks for follow-up workflows. |
request | Generic read-only GET against the HighLevel API for endpoints not yet wrapped — custom objects, associations, prices, and other read endpoints. |
Connector name in Claude / Codex configs: NotFair-GoHighLevel
Connect HighLevel and try it in Claude
Authorize NotFair to read your HighLevel CRM, then add the MCP server to Claude. The first prompt to try: “summarize my last 50 conversations and flag the unanswered ones.”
FAQ — GoHighLevel MCP Server
Everything you need to know about the NotFair GoHighLevel MCP server, its auth model, and the tool surface.
What is the NotFair GoHighLevel MCP server?
It's a remote MCP (Model Context Protocol) server at https://notfair.co/api/mcp/gohighlevel that exposes your HighLevel CRM as typed read and write tools for AI agents. Claude Desktop, Claude.ai Web, Claude Cowork, Claude Code, and Codex can all connect to it and work with live CRM data.
How does authentication work?
Two paths. Claude.ai's Add custom connector flow uses OAuth 2.0 with PKCE — no Client ID or Secret to copy. CLI clients (Claude Code, Codex, custom) use a personal access token (PAT) you mint from the connect page; pass it as `Authorization: Bearer ghl_pat_*`. Tokens are scoped to a single HighLevel connection (Company or Location) and are revocable.
Does it support agency installs?
Yes. When an agency installs the app via the Marketplace flow with bulk installation enabled, NotFair fans out per-location tokens automatically and exposes each location as its own MCP connection. PATs and Claude OAuth tokens scope to a single connection so you can keep agency-wide and per-location access separate.
What HighLevel data is exposed?
Locations, contacts, conversations and message history, opportunities by pipeline, calendars and events, users, custom fields, tags, tasks, forms, surveys, workflows, invoices, payments, products, custom objects, and related CRM metadata. Tokens are encrypted at rest and refreshed server-side via HighLevel's standard refresh flow.
Are there mutation tools?
Yes. The GoHighLevel connector exposes bounded mutation tools for contacts, opportunities, calendar appointments/events, tags, and contact tasks. The generic `request` escape hatch remains read-only.
How do I disconnect?
From /connect/gohighlevel: each connection has a Disconnect button that removes the local row and revokes both Claude OAuth tokens and personal access tokens. HighLevel's UNINSTALL webhook does the same automatically if you remove the app from inside HighLevel.
Related guides
Explore the rest of the NotFair MCP ecosystem.
Add the GoHighLevel connector to Claude
Step-by-step guide to install the NotFair GoHighLevel connector in Claude Desktop, Web, or Cowork in under 2 minutes.
Connect a HighLevel account
Authorize NotFair to read your HighLevel CRM, mint a personal access token, or wire the MCP server into Claude.
NotFair Meta Ads MCP
The same shape for Meta — a remote MCP server that exposes Facebook + Instagram ad accounts to AI agents.