@elitedcs/ghl-mcp 3.1.0 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +81 -0
- package/README.md +28 -11
- package/dist/index.js +990 -958
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,86 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 3.2.0 — Deep trigger typing
|
|
4
|
+
|
|
5
|
+
**173 tools across 36 modules. Bundle: 248.4 KB.**
|
|
6
|
+
|
|
7
|
+
v3.1.0 made all 57 native trigger types READ cleanly via a permissive fallback. v3.2.0 deeply types 9 more of the most common ones — `form_submission`, `opportunity_created`, `opportunity_changed`, `opportunity_status_changed`, `payment_received`, `inbound_webhook`, `mailgun_email_event`, `note_add`, `task_added` — bringing typed coverage from **4 / 57 (7%) to 13 / 57 (23%)**.
|
|
8
|
+
|
|
9
|
+
For Claude that means: when you ask it to read, build, or edit a workflow using one of these triggers, it now knows the discriminated trigger type AND the field paths each one supports (e.g., `opportunity.pipelineId`, `opportunity.monetaryValue`, `form.id`, `mailgun.event`, etc.). Less guessing, fewer rejected payloads.
|
|
10
|
+
|
|
11
|
+
### Shared trigger-schema module
|
|
12
|
+
- `src/trigger-schemas.ts` (NEW): single source of truth for `WorkflowTriggerSchema`. Both the read path (`workflow-builder-client.ts`) and the write path (`tools/workflow-builder.ts`) now import from this module instead of duplicating definitions.
|
|
13
|
+
- Bundle shrank from 249.7 KB → 248.4 KB thanks to the dedup.
|
|
14
|
+
|
|
15
|
+
### Field paths documented per trigger
|
|
16
|
+
- Each typed trigger's `field` is `z.string()` with a `.describe()` listing the known field paths (extracted from `templates/trigger-schemas.json`, captured 2026-05-14). Permissive enough that new GHL fields don't crash reads, structured enough that the LLM knows what fields exist.
|
|
17
|
+
|
|
18
|
+
### Coverage delta
|
|
19
|
+
| State | Typed | Reachable-but-untyped | Total |
|
|
20
|
+
|---|---:|---:|---:|
|
|
21
|
+
| Before v3.1.0 | 4 | 0 (reads crashed) | 57 |
|
|
22
|
+
| v3.1.0 | 4 | 53 | 57 |
|
|
23
|
+
| v3.2.0 | **13** | **44** | 57 |
|
|
24
|
+
|
|
25
|
+
### Round-trip verified
|
|
26
|
+
- Real `form_submission` workflow from QA Test Clinic v3 parses cleanly through the new typed variant.
|
|
27
|
+
- 8 synthetic typed-trigger samples match their respective variants and are correctly rejected by sibling variants (discrimination works as expected).
|
|
28
|
+
|
|
29
|
+
### Files changed
|
|
30
|
+
- `src/trigger-schemas.ts` — NEW: 13 typed trigger variants + `UnknownTriggerSchema` fallback in a single module.
|
|
31
|
+
- `src/workflow-builder-client.ts` — removed inline trigger schemas, imports from shared module.
|
|
32
|
+
- `src/tools/workflow-builder.ts` — removed inline trigger schemas, imports from shared module.
|
|
33
|
+
|
|
34
|
+
## 3.1.1 — Auto-update visibility
|
|
35
|
+
|
|
36
|
+
**173 tools across 36 modules. Bundle: 249.7 KB.**
|
|
37
|
+
|
|
38
|
+
The v3.0 install email promises the MCP auto-updates on Claude restart, and it does. But the old `checkForUpdates()` only worked for local git-checkout dev installs — for buyers running `npx -y @elitedcs/ghl-mcp@latest` it silently returned. This release makes the upgrade visible and verifiable.
|
|
39
|
+
|
|
40
|
+
### `checkForUpdates` rewritten for the npm install path
|
|
41
|
+
- Queries `registry.npmjs.org/@elitedcs/ghl-mcp/latest` instead of running `git fetch`.
|
|
42
|
+
- Writes a clear stderr line when a newer version is available: `Update available: vX → vY. Fully quit Claude (Cmd+Q on Mac) and reopen to upgrade.`
|
|
43
|
+
- 5 s timeout, non-blocking.
|
|
44
|
+
|
|
45
|
+
### `get_mcp_version` tool (NEW)
|
|
46
|
+
- Returns installed version, latest published version on npm, and the one-line restart instruction if not current.
|
|
47
|
+
- Registered in BOTH bootstrap and normal modes — buyers without configured GHL credentials can still verify their MCP version.
|
|
48
|
+
- Use case: "Hey Claude, check your version" → instant confirmation an upgrade landed.
|
|
49
|
+
|
|
50
|
+
### Version baked into `get_current_location`
|
|
51
|
+
- Adds `MCP version: vX.Y.Z` line to the response so the version surfaces naturally on the first GHL tool call of a session, no separate query needed.
|
|
52
|
+
|
|
53
|
+
### Files changed
|
|
54
|
+
- `src/index.ts` — replaced git-based update check with npm registry check; registers meta tools in both modes; threads version into `registerAllTools`.
|
|
55
|
+
- `src/version-check.ts` — NEW: shared `fetchLatestVersion()` + `getVersionStatus()` used by startup banner and the tool.
|
|
56
|
+
- `src/tools/meta.ts` — NEW: `get_mcp_version` tool.
|
|
57
|
+
- `src/tools/index.ts` — `registerAllTools` accepts optional `mcpVersion` and threads it to the location switcher.
|
|
58
|
+
- `src/tools/location-switcher.ts` — appends `MCP version: vX.Y.Z` to `get_current_location` response.
|
|
59
|
+
|
|
60
|
+
## 3.1.0 — Workflow trigger read-side coverage
|
|
61
|
+
|
|
62
|
+
**172 tools across 35 modules.**
|
|
63
|
+
|
|
64
|
+
GHL ships 57 native trigger types. The MCP previously typed only 4 (`customer_reply`, `appointment`, `contact_tag`, `pipeline_stage_updated`). Workflows using any of the other 53 — `form_submission`, `payment_received`, `opportunity_*`, `inbound_webhook`, etc. — threw Zod errors on `get_workflow_full`. This release unlocks all of them on the read side.
|
|
65
|
+
|
|
66
|
+
### Permissive `WorkflowTriggerSchema`
|
|
67
|
+
- `z.union` of the 4 typed variants plus an `UnknownTriggerSchema` fallback that accepts any string-keyed `type` and a `conditions` array of arbitrary records.
|
|
68
|
+
- Write side is unchanged — typed triggers still get their typed conditions; unknown triggers pass through untouched on save.
|
|
69
|
+
- Defined in BOTH `src/workflow-builder-client.ts` and `src/tools/workflow-builder.ts` (read path + tool input schema).
|
|
70
|
+
|
|
71
|
+
### `get_trigger_registry` tool (NEW)
|
|
72
|
+
- Calls GHL's marketplace endpoint `/marketplace/core/search/module?type=triggers` and returns ~85 third-party apps (Zoom, WooCommerce, Shopify, Monday, etc.) with their available triggers and `customVars`.
|
|
73
|
+
- Use case: discovering which marketplace triggers a sub-account can wire into workflows.
|
|
74
|
+
- `installedOnly` flag defaults to false (full catalogue).
|
|
75
|
+
|
|
76
|
+
### `templates/trigger-schemas.json` reference (dev-side)
|
|
77
|
+
- Full catalogue: 57 native trigger types + 85 marketplace apps + 434 marketplace trigger entries, captured from the workflow-builder JS bundle + the marketplace API.
|
|
78
|
+
- Not shipped to npm consumers (excluded from `package.json` `files[]`) — kept in-repo as the source of truth for future typed-trigger work.
|
|
79
|
+
|
|
80
|
+
### Coverage delta
|
|
81
|
+
- Before: 4 / 57 native trigger types typed (7%).
|
|
82
|
+
- After: 4 typed + 53 reachable via the permissive fallback (100% read coverage).
|
|
83
|
+
|
|
3
84
|
## 2.7.0 — Complete Type Safety (Boris Cherny A+)
|
|
4
85
|
|
|
5
86
|
**171 tools across 35 modules. Bundle: 214KB.**
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# GHL Command — GoHighLevel MCP Server
|
|
2
2
|
|
|
3
|
-
**Full GoHighLevel API access for Claude.**
|
|
3
|
+
**Full GoHighLevel API access for Claude.** 173 tools across 36 modules — manage contacts, conversations, pipelines, calendars, funnels, workflows, invoices, custom objects, webhooks, and more. **Includes full workflow builder, funnel/page editor, form builder, pipeline builder, bulk operations, account export, and workflow cloning** — capabilities no other GHL tool offers.
|
|
4
4
|
|
|
5
5
|
**Distributed via npm as [`@elitedcs/ghl-mcp`](https://www.npmjs.com/package/@elitedcs/ghl-mcp).** Buyers install with one config block — no git, no Node.js setup, no terminal commands. Updates flow automatically (`npx @latest` re-resolves on every Claude restart).
|
|
6
6
|
|
|
@@ -98,7 +98,7 @@ Run setup_ghl_mcp to activate GHL Command:
|
|
|
98
98
|
ghl_location_id: YOUR_LOCATION_ID
|
|
99
99
|
```
|
|
100
100
|
|
|
101
|
-
Approve the tool call. Server validates your license, verifies your GHL credentials, writes them to a per-user config file. **Quit Claude one more time and reopen** — all
|
|
101
|
+
Approve the tool call. Server validates your license, verifies your GHL credentials, writes them to a per-user config file. **Quit Claude one more time and reopen** — all 166 tools are now unlocked.
|
|
102
102
|
|
|
103
103
|
### 4. Try it
|
|
104
104
|
|
|
@@ -138,9 +138,19 @@ https://app.gohighlevel.com/v2/location/YOUR_LOCATION_ID/dashboard
|
|
|
138
138
|
|
|
139
139
|
## Enable Workflow Builder (Optional)
|
|
140
140
|
|
|
141
|
-
The
|
|
141
|
+
The 7 workflow builder tools use GHL'''s internal API and require Firebase credentials. Without them, the other 166 tools work fine — you just won'''t have workflow editing.
|
|
142
142
|
|
|
143
|
-
|
|
143
|
+
Grab the three values from your GHL browser session, then re-run `setup_ghl_mcp` with them:
|
|
144
|
+
|
|
145
|
+
1. Open `app.gohighlevel.com` in Chrome (or any Chromium browser), log in.
|
|
146
|
+
2. Open DevTools (Cmd+Opt+I on Mac, F12 on Windows) → **Application** tab → **IndexedDB** in the left panel.
|
|
147
|
+
3. Expand: `firebaseLocalStorageDb` → `firebaseLocalStorage`.
|
|
148
|
+
4. Find the row whose key starts with `firebase:authUser:`.
|
|
149
|
+
5. The part between `authUser:` and `:[DEFAULT]` is your **ghl_firebase_api_key** (starts with `AIza`).
|
|
150
|
+
6. Inside that row's value object: `uid` is your **ghl_user_id**.
|
|
151
|
+
7. Inside `value.stsTokenManager.refreshToken` is your **ghl_firebase_refresh_token**.
|
|
152
|
+
|
|
153
|
+
Then in Claude:
|
|
144
154
|
|
|
145
155
|
```
|
|
146
156
|
Re-run setup_ghl_mcp with workflow builder:
|
|
@@ -148,16 +158,16 @@ Re-run setup_ghl_mcp with workflow builder:
|
|
|
148
158
|
license_key: YOUR_LICENSE_KEY
|
|
149
159
|
ghl_api_key: YOUR_GHL_API_KEY
|
|
150
160
|
ghl_location_id: YOUR_LOCATION_ID
|
|
151
|
-
ghl_user_id:
|
|
152
|
-
ghl_firebase_api_key:
|
|
153
|
-
ghl_firebase_refresh_token:
|
|
161
|
+
ghl_user_id: FROM_STEP_6
|
|
162
|
+
ghl_firebase_api_key: FROM_STEP_5
|
|
163
|
+
ghl_firebase_refresh_token: FROM_STEP_7
|
|
154
164
|
```
|
|
155
165
|
|
|
156
|
-
> Firebase refresh tokens can rotate. If workflow tools stop working after a few weeks,
|
|
166
|
+
> Firebase refresh tokens can rotate. If workflow tools stop working after a few weeks, repeat steps 1–7 and re-run setup_ghl_mcp with fresh values.
|
|
157
167
|
|
|
158
168
|
---
|
|
159
169
|
|
|
160
|
-
## Tools (
|
|
170
|
+
## Tools (173)
|
|
161
171
|
|
|
162
172
|
### CRM & Contacts (15 tools)
|
|
163
173
|
|
|
@@ -322,7 +332,7 @@ Re-run setup_ghl_mcp with workflow builder:
|
|
|
322
332
|
| `get_subscriptions` | List active subscriptions |
|
|
323
333
|
| `get_transactions` | View transaction history |
|
|
324
334
|
|
|
325
|
-
### Workflow Builder (
|
|
335
|
+
### Workflow Builder (7 tools) — Internal API
|
|
326
336
|
|
|
327
337
|
> **This is the flagship feature.** GHL's public API has **zero** workflow write endpoints. These tools use GHL's internal backend API — the same API their own UI calls — reverse-engineered to give Claude full workflow CRUD. No other GHL integration, Zapier connector, or third-party tool can create or edit workflows programmatically. Requires additional Firebase auth setup (see "Enable Workflow Builder" in Quick Start above).
|
|
328
338
|
|
|
@@ -334,12 +344,13 @@ Re-run setup_ghl_mcp with workflow builder:
|
|
|
334
344
|
| `update_workflow_actions` | Add, edit, or remove actions, triggers, and branches in an existing workflow |
|
|
335
345
|
| `delete_workflow_full` | Permanently delete a workflow |
|
|
336
346
|
| `publish_workflow` | Publish a draft workflow to make it active |
|
|
347
|
+
| `get_trigger_registry` | Discover GHL's marketplace trigger apps (Zoom, WooCommerce, Shopify, etc.) and their available trigger templates |
|
|
337
348
|
|
|
338
349
|
**What you can build:** Complete automation sequences — lead nurture drip campaigns, appointment reminder sequences, onboarding flows, re-engagement workflows, internal notification chains. Tell Claude what you want and it builds the workflow action by action.
|
|
339
350
|
|
|
340
351
|
**Supported action types:** `sms`, `email`, `add_contact_tag`, `remove_contact_tag`, `update_contact_field`, `wait`, `if_else`, `webhook`, `create_opportunity`, `custom_code`, `add_notes`, `internal_notification`, `task-notification`, `remove_from_workflow`, and more.
|
|
341
352
|
|
|
342
|
-
**Supported trigger types:**
|
|
353
|
+
**Supported trigger types:** All 57 native GHL trigger types read cleanly. **13 are deeply typed** with documented field paths (contact_tag, customer_reply, appointment, pipeline_stage_updated, form_submission, opportunity_created, opportunity_changed, opportunity_status_changed, payment_received, inbound_webhook, mailgun_email_event, note_add, task_added). The other 44 pass through a permissive schema so workflows never fail to read regardless of trigger type. Plus 434 marketplace trigger entries across 85 third-party apps — query them via `get_trigger_registry`.
|
|
343
354
|
|
|
344
355
|
### Pipeline Builder (5 tools) — Internal API
|
|
345
356
|
|
|
@@ -399,6 +410,12 @@ Re-run setup_ghl_mcp with workflow builder:
|
|
|
399
410
|
| `get_template_questionnaire` | Get the questionnaire for a template — present to user conversationally |
|
|
400
411
|
| `deploy_template` | Deploy a complete sub-account setup from a template (tags, fields, pipelines, workflows, forms). Supports dry-run mode. |
|
|
401
412
|
|
|
413
|
+
### Meta (1 tool)
|
|
414
|
+
|
|
415
|
+
| Tool | What It Does |
|
|
416
|
+
|---|---|
|
|
417
|
+
| `get_mcp_version` | Check installed version against the latest published to npm. Confirms an upgrade landed after restarting Claude. Available even before GHL credentials are configured. |
|
|
418
|
+
|
|
402
419
|
### Other Modules
|
|
403
420
|
|
|
404
421
|
| Module | Tools | What It Does |
|