Ghl Master MCP server
io.github.davidandradebar/ghl-master·v1.0.4The GoHighLevel MCP for Claude — 214 tools, programmatic workflow builder, multi-tenant.
45 downloads/wk
Reviews
Write oneNobody has reviewed Ghl Master yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Ghl Master tools (61, 27 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
auto_capture_firebase_scriptGet the browser-console script that auto-extracts the 3 Firebase fields needed to enable the Workflow Builder. Run this, copy the script, paste it into Chrome DevTools Console on a tab logged into GHL, press Enter, and the result lands in your clipboard. Then paste the JSON into setup_ghl_mcp's firebase_paste field (or enable_workflow_builder's). No manual IndexedDB digging.
build_goal_eventBuild a correctly-shaped GHL workflow goal-event node. Goal events sit inline in the action chain \u2014 when the goal condition fires during workflow execution, the configured action runs (default: exit the workflow). The previous action's `next` should point to the goal node's id; the goal node itself does not have a `next`. All 10 goal_condition values are catalogued (from GHL's workflow-builde
build_if_else_branchBuild a correctly-shaped GHL if/else branch node set for a tag-based condition (Build Your Own / CUSTOM recipe). Returns a condition-node, branch-yes, branch-no, and branch child actions with parent/parentKey/sibling/order links populated. Shape mirrors what GHL's UI saves so dropdowns render correctly.
bulk_add_tagsAdd tags to multiple contacts at once. Rate-limited to avoid API throttling. Returns a summary of successes and failures.
bulk_add_to_workflowEnroll multiple contacts into a workflow at once. Rate-limited.
bulk_delete_contactswrite actionDelete multiple contacts at once. IRREVERSIBLE. Rate-limited. Use with extreme caution.
bulk_remove_tagswrite actionRemove tags from multiple contacts at once. Rate-limited.
bulk_update_contactswrite actionUpdate the same field(s) on multiple contacts at once. Rate-limited. Example: set a custom field value, change source, update address for a batch of contacts.
clone_workflowDeep clone a workflow \u2014 creates an exact copy with new IDs for all actions, triggers, and references. The clone starts as a draft. Useful for creating templates or duplicating workflows across projects.
compare_locationsCompare two GHL sub-accounts side by side \u2014 shows differences in pipelines, workflows, custom fields, tags, forms, and funnels. Useful for ensuring consistency across locations or auditing before/after changes.
create_formwrite actionCreate a new form. Starts with a basic structure \u2014 use update_form to add fields and configure settings.
create_funnelwrite actionCreate a new funnel/website. Starts empty \u2014 add steps and pages after creation.
create_funnel_pagewrite actionCreate a new step (page entry) in a funnel. The client generates a step UUID locally and sends it in the request; GHL auto-creates a blank page inside the step on the server side. The response includes the new step's id and the page's Firestore reference, which you can then update via update_page_content.
create_pipelinewrite actionCreate a new pipeline with stages. Each stage needs a name and position (0-based).
create_smart_listwrite actionCreate a new smart list (dynamic filter list). Required: name + objectKey. Filters define the saved-search criteria \u2014 pass an empty array to create an empty list and add filters later via update_smart_list. The shape of filters/columns is opaque here; query an existing smart list with get_smart_list to see the format GHL expects.
create_workflowwrite actionCreate a new empty workflow (starts as draft). Requires Firebase auth. Flow: 1) create_workflow \u2192 2) update_workflow_actions (add triggers + steps) \u2192 3) publish_workflow (make it live).
delete_formwrite actionPermanently delete a form. IRREVERSIBLE.
delete_funnelwrite actionPermanently delete a funnel and all its steps/pages. IRREVERSIBLE.
delete_funnel_pagewrite actionPermanently delete a step (and all its pages) from a funnel. IRREVERSIBLE. SIGNATURE CHANGED in v3.7.0: was pageId, now requires funnelId + stepId to match GHL's actual delete-step endpoint.
delete_pipelinewrite actionPermanently delete a pipeline and all its stages. Opportunities become unassigned. IRREVERSIBLE.
delete_smart_listwrite actionPermanently delete a smart list. IRREVERSIBLE. The list configuration is removed but the contacts/opportunities themselves are NOT touched \u2014 smart lists are just saved filters. Any workflow trigger / dashboard / report that referenced this list by ID will stop working.
delete_workflow_fullwrite actionPermanently delete a workflow. IRREVERSIBLE.
deploy_templatewrite actionDeploy a template to set up a GHL sub-account. Creates tags, custom fields, pipelines with stages, calendars, workflows, and forms based on the template and the user's questionnaire answers. This is the main setup automation tool.
enable_workflow_builderAdd Firebase credentials to an existing GHL Master install to unlock 49 additional tools across the internal-API modules: workflow builder (create/edit/clone/delete/publish/validate workflows, build_if_else_branch, build_goal_event, get_trigger_registry), funnel + page builder, form builder, pipeline builder, workflow cloner, smart lists, reputation, email campaigns, email templates, and membershi
export_accountExport a complete inventory of the GHL sub-account: location info, contacts (count + sample), pipelines with stages, workflows (with full actions if builder auth is configured), funnels with pages, forms, custom fields, custom values, tags, calendars, and users. Returns a comprehensive JSON report for auditing or backup.
get_current_locationShow which GHL sub-account (location) is currently active, including API key status and installed MCP version. All tools use this location by default unless you specify a different one.
get_form_fullGet a form with full builder data: all fields (labels, types, IDs, validation), conditional logic, auto-responder config, email notification settings, styling, and version history. This is the internal API \u2014 it returns everything the form builder UI shows.
get_form_submissions_fullGet form submissions with full field data, contact info, and submission timestamps via the internal API. Offset-based pagination via skip/limit.
get_mcp_versionCheck the installed version of GHL Master (the GoHighLevel MCP server) against the latest version published to npm. Use this to confirm an upgrade landed after restarting Claude. Returns installed version, latest version, whether up-to-date, and the one-line restart instruction if not.
get_page_contentDownload the full page builder content from a page's data URL. Returns the complete page structure: sections, elements, settings, styles, tracking codes, and popups. Use get_page_full first to get the pageDataDownloadUrl.
get_page_fullGet a funnel/website page with full builder data: metadata, version, preview snapshot URL, and page data download URL. To get the actual page content (sections, elements, styles), use get_page_content with the pageDataDownloadUrl from this response.
get_pipeline_fullGet a single pipeline with complete stage configuration: IDs, names, positions, display settings.
get_smart_listGet a single smart list by ID with its full configuration: filters, columns, permissions, and metadata. The filters array is what defines who/what is in the list.
get_template_questionnaireGet the questionnaire for a specific template. Returns all the questions that need to be answered before deploying. Present these to the user one at a time in a conversational style.
get_trigger_registryReturn GHL's marketplace catalogue of workflow triggers from 3rd-party apps (Zoom, Shopify, WooCommerce, Monday, etc.). Each app exposes one or more trigger templates with custom variable mappings. Calls /marketplace/core/search/module?type=triggers. NOTE: This is the MARKETPLACE only. GHL's NATIVE trigger types (form_submission, contact_tag, payment_received, opportunity_*, inbound_webhook, etc.)
get_workflow_fullGet a workflow with full details including all actions (steps), triggers, conditions, if/else branches, and configuration. Requires Firebase auth. ALWAYS call this before update_workflow_actions to see the current state.
health_checkwrite actionRun a full health check of the GHL Master MCP install. Reports on: npm registry + version status, GHL API key validity, default location reachability, Firebase auth status (workflow builder), and token registry. Returns a structured pass/fail/warn list with detail per check. Use this when something feels broken or after credentials change.
list_available_locationsList all GHL sub-accounts (locations) accessible with the current or agency API key. Shows locations that exist in the GHL account \u2014 use register_location to add their tokens. Offset-based pagination via skip/limit.
list_funnels_fullList all funnels/websites with full details including steps, pages, and metadata. Uses the internal API for richer data than the public API.
list_pipelines_fullList all pipelines with full stage details including IDs, positions, funnel/pie chart visibility. Uses the internal API for richer data than the public API.
list_registered_locationsList all GHL sub-accounts in the token registry (names, IDs, owning company) plus any companies with registered Firebase credentials for multi-tenant workflow-builder access. These are locations switch_location can automatically authenticate to.
list_smart_listsList smart lists (dynamic / saved-filter lists) in a location. Smart Lists are saved searches over contacts or opportunities \u2014 agencies use them to segment by complex criteria. Filters and columns aren't returned in the list view; use get_smart_list for the full filter spec.
list_templatesList all available setup templates. Each template is a complete sub-account blueprint for a specific business type (clinic, med spa, dental, etc.).
list_workflows_fullList all workflows with full metadata including version, permissions, and timestamps. Requires Firebase auth. Use this instead of get_workflows when you need version numbers or internal IDs for update_workflow_actions.
publish_workflowwrite actionPublish a draft workflow, making it active and processing contacts.
register_company_firebaseRegister a GHL company's Firebase credentials so the workflow builder and all Firebase-gated tools work when you switch into THAT company's sub-accounts. Firebase refresh tokens are company-scoped, so managing a client's GHL (e.g. an account where you're an admin user) requires that company's own token. Capture the values from a browser session logged into the client's account and register them ke
register_locationAdd a GHL sub-account to the token registry so switch_location can automatically use its API key. Each sub-account needs its own Private Integration key created in GHL Settings > Integrations.
request_licenseGet a GHL Master license. Use this if you installed from npm but don't have a license yet (or setup_ghl_mcp says your license is missing/invalid). GHL Master is $97 one-time \u2014 212 tools across 43 modules, 3-machine activation, no subscription. Leave your email and we'll send the purchase link + setup help; the tool also returns where to buy right now.
setup_ghl_mcpFirst-run setup for GHL Master MCP. Validates your license and GHL credentials, then writes them to a per-user credentials file. Restart Claude after this completes to load all 212 tools (163 if you skip the optional Firebase fields; add Firebase later with enable_workflow_builder).
switch_locationSwitch the active GHL sub-account. Automatically swaps the API key from the token registry if available. After switching, all tools default to the new location.
unregister_company_firebasewrite actionRemove a company's Firebase credentials from the registry. Workflow-builder tools will stop working for that company's sub-accounts until re-registered.
unregister_locationwrite actionRemove a GHL sub-account from the token registry.
update_formwrite actionUpdate a form's structure \u2014 fields, labels, conditional logic, auto-responder, email notifications, styling. Use get_form_full first to read the current form, modify the formData object, then pass it here. If name is omitted, the current name is preserved (one extra GET).
update_funnelwrite actionUpdate a funnel's settings: name, path/slug, tracking codes, GDPR + payment + chat widget flags, etc. This is the 'save settings panel' endpoint \u2014 it sends the entire settings object, so the tool fetches current settings first, merges your overrides on top, then POSTs back. To rename a single step (page) inside a funnel, use update_funnel_step instead.
update_funnel_stepwrite actionUpdate a single step (page entry) inside a funnel \u2014 display name, URL slug, or attached domain. A step is GHL's container for one or more pages (multiple pages exist when split-testing). Use update_funnel for funnel-level settings instead.
update_page_contentwrite actionUpdate a page's builder content \u2014 sections, elements, settings, pageStyles, trackingCode, popups, popupsList, fontsForPreview. Use get_page_content first to see the current structure, modify it, then pass the full 8-field envelope here. GHL's UI fires three POSTs to this endpoint per save (one collaborative-edit broadcast + two commits); for MCP use, one POST with write=true is enough.
update_pipelinewrite actionUpdate a pipeline's name, stages, or display settings. You can add, remove, rename, or reorder stages. Pass the complete stages array \u2014 stages not included will be removed.
update_smart_listwrite actionUpdate an existing smart list's name, filters, or columns. The objectKey CANNOT be changed after creation (GHL rejects with 422 if you try). Use get_smart_list first to inspect the current filters; partial updates work \u2014 pass only the fields you want to change.
update_workflow_actionswrite actionUpdate a workflow's actions (steps), triggers, name, or status. IMPORTANT: Call get_workflow_full first to see the current state before updating. Handles version tracking automatically. Uses the internal builder API (requires Firebase auth). Action types: sms, email, add_contact_tag, remove_contact_tag, wait, webhook, internal_update_opportunity, custom_code, update_contact_field, add_notes, inter
validate_workflowPre-flight ID validation for a deployed GHL workflow. Scans every trigger and action for references to pipelines, pipeline stages, custom fields, users, workflows, forms, calendars, and surveys; verifies each ID exists in the current location. Use this BEFORE publish_workflow when a workflow has been edited, or whenever a published workflow stops behaving as expected. Catches the silent-failure bu
workflow_builder_statusCheck if the workflow builder (internal API) is configured. Needs Firebase credentials, added via enable_workflow_builder.
Public scan report
scanner v0.1.9 · 2026-09-27 · same rubric, same numbers if you re-run it
- Code scan5 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenanceno repository listed3/15
- Maintainer identityno repository or website to verify2/10
Findings (1)
- lowNo source repository listed
maint.no-repo
How Ghl Master compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 65/100
- higher than 20% of 48,255 servers
- Tools
- 61
- the typical server has 7
- Tools that change things
- 44%
- typical: 0%. Fewer write tools means less an agent can break
- Downloads a week
- 45
- more than 37% of 12,191 servers with a package
What its tools let an agent do: 29 read · 9 create · 15 change · 6 delete · 1 send or post · 1 run or deploy
Install Ghl Master in Claude Code, Cursor or VS Code
Runs npx -y ghl-master on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add ghl-master -- npx -y ghl-master
Ghl Master: common questions
- Is Ghl Master MCP server safe?
- With care: it is graded C, so read the findings first (65/100). Read the Ghl Master safety report
- How do I install Ghl Master?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Ghl Master need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is Ghl Master maintained?
- The latest release is v1.0.4.
- How does Ghl Master compare with other MCP servers?
- safety score 65/100 (higher than 20% of 48,255 servers); tools 61 (the typical server has 7); tools that change things 44% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.