@elitedcs/ghl-mcp 3.48.0 → 3.48.2
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 +31 -0
- package/README.md +23 -21
- package/dist/index.js +11 -11
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,36 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 3.48.2 — Docs patch: tool-count claims corrected (the real number is 228)
|
|
4
|
+
|
|
5
|
+
No behavior changes; text only, plus one new test.
|
|
6
|
+
|
|
7
|
+
- **Tool counts reconciled everywhere.** The claims had drifted three ways (setup tool
|
|
8
|
+
said 212/163, README and package.json said 220, ghlcommand.com said 219). The real
|
|
9
|
+
numbers, enumerated from the registry itself: **228 tools across 48 modules** on a
|
|
10
|
+
fully configured install, **176** without the Firebase add-on, **+52** unlocked by
|
|
11
|
+
`enable_workflow_builder`. All copy in `setup_ghl_mcp`, `enable_workflow_builder`,
|
|
12
|
+
README, and package.json now states these.
|
|
13
|
+
- **Drift guard added.** `src/tools/tool-count.test.ts` computes the real count from
|
|
14
|
+
`registerAllTools` and fails the suite if package.json, README, or setup-tool copy
|
|
15
|
+
ever disagrees again.
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
## 3.48.1 — Docs patch: Firebase capture friction + live pricing copy
|
|
19
|
+
|
|
20
|
+
No behavior changes; text only.
|
|
21
|
+
|
|
22
|
+
- **Chrome "allow pasting" gotcha documented.** `auto_capture_firebase_script`'s steps now
|
|
23
|
+
tell buyers that when Chrome blocks the console paste, typing `allow pasting` in the
|
|
24
|
+
Console unblocks it. This was the single most common silent failure in the capture flow.
|
|
25
|
+
- **`request_license` copy corrected to the live offer.** Was "$97 one-time, no
|
|
26
|
+
subscription" pointing at the old elitedcs.com page; now "$97/mo, every sub-account you
|
|
27
|
+
manage" pointing at ghlcommand.com. The old copy misquoted the price to prospects
|
|
28
|
+
installing from npm.
|
|
29
|
+
- **README: one-paste capture is now the primary Workflow Builder path.** The manual
|
|
30
|
+
7-step IndexedDB walk is demoted to a collapsed fallback for locked-down browsers;
|
|
31
|
+
multi-tenant instructions reference the script instead of the manual steps.
|
|
32
|
+
|
|
33
|
+
|
|
3
34
|
## 3.48.0 — Blueprint: complete workflow-building (opportunities, branching, appointment timers, opt-in publish)
|
|
4
35
|
|
|
5
36
|
Completes the `apply_build_plan` executor so a Blueprint build produces workflows that
|
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.** 228 tools across 48 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. **Multi-tenant:** one install can run the workflow builder across multiple clients' GHL accounts.
|
|
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
|
|
|
@@ -116,7 +116,7 @@ Run setup_ghl_mcp to activate GHL Command:
|
|
|
116
116
|
ghl_location_id: YOUR_LOCATION_ID
|
|
117
117
|
```
|
|
118
118
|
|
|
119
|
-
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** — the full core toolset is now unlocked (
|
|
119
|
+
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** — the full core toolset is now unlocked (228 tools total with the optional Workflow Builder Firebase add-on).
|
|
120
120
|
|
|
121
121
|
### 4. Try it
|
|
122
122
|
|
|
@@ -154,11 +154,24 @@ Your Location ID (sub-account ID) is in the GHL URL when you'''re inside a sub-a
|
|
|
154
154
|
https://app.gohighlevel.com/v2/location/YOUR_LOCATION_ID/dashboard
|
|
155
155
|
```
|
|
156
156
|
|
|
157
|
-
## Enable Workflow Builder
|
|
157
|
+
## Enable the Workflow Builder
|
|
158
158
|
|
|
159
|
-
The builder + cloner + validator tools (workflow builder, funnel builder, form builder, pipeline builder, workflow cloner, validate_workflow) use GHL'
|
|
159
|
+
The builder + cloner + validator tools (workflow builder, funnel builder, form builder, pipeline builder, workflow cloner, validate_workflow) use GHL's internal API and require Firebase credentials. Without them, the other 176 tools work fine — you just won't have workflow/funnel/form/pipeline editing. This is the flagship feature: do this step.
|
|
160
160
|
|
|
161
|
-
|
|
161
|
+
**One-paste capture (the supported path):**
|
|
162
|
+
|
|
163
|
+
1. In Claude, ask: `Run auto_capture_firebase_script`. It returns a small browser-console script.
|
|
164
|
+
2. In Chrome, open a tab logged into your GHL account. Press **F12** (Windows) or **Cmd+Option+I** (Mac), click the **Console** tab, paste the script, press Enter. If Chrome blocks the paste, type `allow pasting` in the Console first, then paste again.
|
|
165
|
+
3. The script extracts the three Firebase values and copies them to your clipboard as JSON.
|
|
166
|
+
4. Back in Claude: `Run enable_workflow_builder` and paste the JSON into the `firebase_paste` field. (First-time setup? You can instead add `firebase_paste` as a fifth field on `setup_ghl_mcp`.)
|
|
167
|
+
5. Restart Claude. The Firebase-gated tools are live.
|
|
168
|
+
|
|
169
|
+
Screenshots and the same script behind a copy button: [elitedcs.com/ghl-mcp-firebase](https://elitedcs.com/ghl-mcp-firebase)
|
|
170
|
+
|
|
171
|
+
> Firebase refresh tokens can rotate. If workflow tools stop working after a few weeks (`health_check` shows Firebase auth: FAIL), re-run `auto_capture_firebase_script` for fresh values and pass them to `enable_workflow_builder` again.
|
|
172
|
+
|
|
173
|
+
<details>
|
|
174
|
+
<summary><strong>Manual fallback</strong> (locked-down browsers that block console pasting or clipboard access)</summary>
|
|
162
175
|
|
|
163
176
|
1. Open `app.gohighlevel.com` in Chrome (or any Chromium browser), log in.
|
|
164
177
|
2. Open DevTools (Cmd+Opt+I on Mac, F12 on Windows) → **Application** tab → **IndexedDB** in the left panel.
|
|
@@ -168,20 +181,9 @@ Grab the three values from your GHL browser session, then re-run `setup_ghl_mcp`
|
|
|
168
181
|
6. Inside that row's value object: `uid` is your **ghl_user_id**.
|
|
169
182
|
7. Inside `value.stsTokenManager.refreshToken` is your **ghl_firebase_refresh_token**.
|
|
170
183
|
|
|
171
|
-
Then in Claude
|
|
172
|
-
|
|
173
|
-
```
|
|
174
|
-
Re-run setup_ghl_mcp with workflow builder:
|
|
175
|
-
email: YOUR_PURCHASE_EMAIL
|
|
176
|
-
license_key: YOUR_LICENSE_KEY
|
|
177
|
-
ghl_api_key: YOUR_GHL_API_KEY
|
|
178
|
-
ghl_location_id: YOUR_LOCATION_ID
|
|
179
|
-
ghl_user_id: FROM_STEP_6
|
|
180
|
-
ghl_firebase_api_key: FROM_STEP_5
|
|
181
|
-
ghl_firebase_refresh_token: FROM_STEP_7
|
|
182
|
-
```
|
|
184
|
+
Then in Claude, run `enable_workflow_builder` (or re-run `setup_ghl_mcp` with your license fields) passing the three values individually as `ghl_user_id`, `ghl_firebase_api_key`, and `ghl_firebase_refresh_token`.
|
|
183
185
|
|
|
184
|
-
>
|
|
186
|
+
</details>
|
|
185
187
|
|
|
186
188
|
## Working in Clients' Accounts (Multi-Tenant)
|
|
187
189
|
|
|
@@ -198,7 +200,7 @@ To unlock full builder access across multiple clients from one install:
|
|
|
198
200
|
```
|
|
199
201
|
This auto-detects and stores the owning **companyId**.
|
|
200
202
|
|
|
201
|
-
2. **Capture the client's Firebase values** from a browser session logged into *their* account (same
|
|
203
|
+
2. **Capture the client's Firebase values** from a browser session logged into *their* account (run `auto_capture_firebase_script` the same way as above, but paste it into a tab logged into the client's GHL).
|
|
202
204
|
|
|
203
205
|
3. **Register the client's company Firebase:**
|
|
204
206
|
```
|
|
@@ -488,7 +490,7 @@ Highlights (full guide: [`docs/HEADLESS.md`](docs/HEADLESS.md)):
|
|
|
488
490
|
|---|---|
|
|
489
491
|
| `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. |
|
|
490
492
|
| `health_check` | Run a full health check: npm registry + version status, GHL API key validity, default location reachability, Firebase auth status, token registry presence. Use when something feels broken. |
|
|
491
|
-
| `enable_workflow_builder` | Add Firebase credentials to an existing install to unlock
|
|
493
|
+
| `enable_workflow_builder` | Add Firebase credentials to an existing install to unlock 52 additional Firebase-gated tools (workflow builder, funnel builder, form builder, pipeline builder, workflow cloner, smart lists, reputation, email campaigns, email templates, memberships, validate_workflow). No need to re-enter license / API key / location ID. Run this any time after the basic setup, on the buyer's schedule. |
|
|
492
494
|
|
|
493
495
|
### Other Modules
|
|
494
496
|
|
|
@@ -734,7 +736,7 @@ Source repo is private. Contributors need an invitation from `drjerryrelth`. The
|
|
|
734
736
|
|
|
735
737
|
### Reducing context / token usage
|
|
736
738
|
|
|
737
|
-
Every registered MCP tool's schema is shipped to the model on every message. With
|
|
739
|
+
Every registered MCP tool's schema is shipped to the model on every message. With 228 tools that's a meaningful per-message context cost even in chats that never touch GHL. If you only use a slice of GHL Command, restrict the tool surface with `GHL_ENABLED_MODULES` and/or `GHL_ENABLED_TOOLS`:
|
|
738
740
|
|
|
739
741
|
```jsonc
|
|
740
742
|
// Claude Desktop config — enable whole modules
|
package/dist/index.js
CHANGED
|
@@ -31,9 +31,9 @@ var require_package = __commonJS({
|
|
|
31
31
|
"package.json"(exports2, module2) {
|
|
32
32
|
module2.exports = {
|
|
33
33
|
name: "@elitedcs/ghl-mcp",
|
|
34
|
-
version: "3.48.
|
|
34
|
+
version: "3.48.2",
|
|
35
35
|
mcpName: "io.github.drjerryrelth/ghl-command",
|
|
36
|
-
description: "GoHighLevel MCP Server for Claude.
|
|
36
|
+
description: "GoHighLevel MCP Server for Claude. 228 tools \u2014 full CRM, automation, marketing control, account-wide workflow audit, live funnel-capture verification, and the only programmatic GHL workflow builder, now multi-tenant across client accounts.",
|
|
37
37
|
main: "dist/index.js",
|
|
38
38
|
bin: {
|
|
39
39
|
"ghl-mcp": "dist/index.js"
|
|
@@ -7055,7 +7055,7 @@ async function validateFirebase(firebaseKey, refreshToken) {
|
|
|
7055
7055
|
function registerSetupTool(server2) {
|
|
7056
7056
|
server2.tool(
|
|
7057
7057
|
"setup_ghl_mcp",
|
|
7058
|
-
"First-run setup for GHL Command MCP. Validates your license and GHL credentials, then writes them to a per-user credentials file. Restart Claude after this completes to load all
|
|
7058
|
+
"First-run setup for GHL Command MCP. Validates your license and GHL credentials, then writes them to a per-user credentials file. Restart Claude after this completes to load all 228 tools (176 if you skip the optional Firebase fields; add Firebase later with enable_workflow_builder).",
|
|
7059
7059
|
{
|
|
7060
7060
|
email: import_zod38.z.string().email().describe("Email used at purchase."),
|
|
7061
7061
|
license_key: import_zod38.z.string().min(20).describe("License key from your purchase email."),
|
|
@@ -7136,7 +7136,7 @@ Note: Firebase credentials rejected (${fb.error}). Saved without Workflow Builde
|
|
|
7136
7136
|
// verified on every MCP startup. Closes the hand-crafted creds bypass.
|
|
7137
7137
|
signed_attestation: lic.signedAttestation
|
|
7138
7138
|
});
|
|
7139
|
-
const toolCount = workflowBuilderEnabled ? "
|
|
7139
|
+
const toolCount = workflowBuilderEnabled ? "228" : "176";
|
|
7140
7140
|
const wfLine = workflowBuilderEnabled ? "Workflow Builder: enabled." : "Workflow Builder: not configured (optional).";
|
|
7141
7141
|
const wfTip = workflowBuilderEnabled ? "" : "\nTo enable Workflow Builder later (49 extra Firebase-gated tools): run enable_workflow_builder with your three Firebase values. No need to re-enter license/API key/location ID.";
|
|
7142
7142
|
return {
|
|
@@ -7164,7 +7164,7 @@ Note: Firebase credentials rejected (${fb.error}). Saved without Workflow Builde
|
|
|
7164
7164
|
function registerEnableWorkflowBuilderTool(server2) {
|
|
7165
7165
|
server2.tool(
|
|
7166
7166
|
"enable_workflow_builder",
|
|
7167
|
-
"Add Firebase credentials to an existing GHL Command install to unlock
|
|
7167
|
+
"Add Firebase credentials to an existing GHL Command install to unlock 52 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 memberships, plus the pre-deploy validator. Requires you've already run setup_ghl_mcp. EASIEST PATH: run `auto_capture_firebase_script` first, paste the JSON output into `firebase_paste` here. MANUAL PATH: capture the three Firebase fields via DevTools and pass them individually. Tool count goes from 176 to 228 after the next Claude restart.",
|
|
7168
7168
|
{
|
|
7169
7169
|
// v3.25.0: one-paste path. Tool runs `auto_capture_firebase_script` to
|
|
7170
7170
|
// get the console script; the script returns a JSON object that pastes
|
|
@@ -7245,7 +7245,7 @@ DevTools steps: https://elitedcs.com/ghl-mcp-firebase`
|
|
|
7245
7245
|
"",
|
|
7246
7246
|
"**You MUST restart Claude before using any workflow-builder tool.** Quit Claude completely (Cmd+Q on Mac, full exit on Windows) and reopen. Without a restart, the workflow builder tools will keep using the OLD Firebase auth from before this call and fail with 401 errors \u2014 even though this tool reported success.",
|
|
7247
7247
|
"",
|
|
7248
|
-
'After restart, all
|
|
7248
|
+
'After restart, all 228 tools load. Try: "List my workflows in full detail" or "Validate workflow <id>".',
|
|
7249
7249
|
"",
|
|
7250
7250
|
"Note: Firebase refresh tokens rotate every few weeks. If workflow tools stop working in a few weeks (run `health_check` to confirm Firebase auth: FAIL), run `auto_capture_firebase_script` for fresh values and re-run this tool with the new firebase_paste."
|
|
7251
7251
|
].join("\n")
|
|
@@ -7267,7 +7267,7 @@ function registerFirebaseCaptureScriptTool(server2) {
|
|
|
7267
7267
|
"",
|
|
7268
7268
|
"**Step 2.** Open DevTools \u2014 press `F12` on Windows / Linux, or `Cmd+Option+I` on Mac. Click the **Console** tab.",
|
|
7269
7269
|
"",
|
|
7270
|
-
"**Step 3.** Copy the script below, paste it into the Console, and press Enter:",
|
|
7270
|
+
"**Step 3.** Copy the script below, paste it into the Console, and press Enter. If Chrome blocks the paste with a warning, type `allow pasting` in the Console first, then paste again:",
|
|
7271
7271
|
"",
|
|
7272
7272
|
"```javascript",
|
|
7273
7273
|
FIREBASE_CAPTURE_SCRIPT,
|
|
@@ -7294,13 +7294,13 @@ function registerFirebaseCaptureScriptTool(server2) {
|
|
|
7294
7294
|
function registerLeadCaptureTool(server2) {
|
|
7295
7295
|
server2.tool(
|
|
7296
7296
|
"request_license",
|
|
7297
|
-
"Get a GHL Command 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 Command is $97
|
|
7297
|
+
"Get a GHL Command 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 Command is $97/mo \u2014 every sub-account you manage, 3-machine activation, includes the only programmatic GHL workflow builder. Leave your email and we'll send the purchase link + setup help; the tool also returns where to buy right now.",
|
|
7298
7298
|
{
|
|
7299
7299
|
email: import_zod38.z.string().email().describe("Your email \u2014 where to send the purchase link and setup help."),
|
|
7300
7300
|
name: import_zod38.z.string().optional().describe("Your name (optional).")
|
|
7301
7301
|
},
|
|
7302
7302
|
async (args) => {
|
|
7303
|
-
const buyUrl = "https://
|
|
7303
|
+
const buyUrl = "https://ghlcommand.com";
|
|
7304
7304
|
try {
|
|
7305
7305
|
const res = await fetch(CAPTURE_API, {
|
|
7306
7306
|
method: "POST",
|
|
@@ -7315,7 +7315,7 @@ function registerLeadCaptureTool(server2) {
|
|
|
7315
7315
|
text: [
|
|
7316
7316
|
data.message || "You're on the list.",
|
|
7317
7317
|
"",
|
|
7318
|
-
"GHL Command is $97
|
|
7318
|
+
"GHL Command is $97/mo: every sub-account you manage, 3 machines, including the only programmatic GHL workflow builder. Cancel anytime.",
|
|
7319
7319
|
"",
|
|
7320
7320
|
`Buy now: ${url}`,
|
|
7321
7321
|
"Your license key arrives by email within a couple minutes. Then run setup_ghl_mcp with your email + key."
|
|
@@ -7326,7 +7326,7 @@ function registerLeadCaptureTool(server2) {
|
|
|
7326
7326
|
return {
|
|
7327
7327
|
content: [{
|
|
7328
7328
|
type: "text",
|
|
7329
|
-
text: `Buy your GHL Command license ($97
|
|
7329
|
+
text: `Buy your GHL Command license ($97/mo) at ${buyUrl} \u2014 your key arrives by email within a couple minutes, then run setup_ghl_mcp with your email + key.`
|
|
7330
7330
|
}]
|
|
7331
7331
|
};
|
|
7332
7332
|
}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elitedcs/ghl-mcp",
|
|
3
|
-
"version": "3.48.
|
|
3
|
+
"version": "3.48.2",
|
|
4
4
|
"mcpName": "io.github.drjerryrelth/ghl-command",
|
|
5
|
-
"description": "GoHighLevel MCP Server for Claude.
|
|
5
|
+
"description": "GoHighLevel MCP Server for Claude. 228 tools — full CRM, automation, marketing control, account-wide workflow audit, live funnel-capture verification, and the only programmatic GHL workflow builder, now multi-tenant across client accounts.",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"bin": {
|
|
8
8
|
"ghl-mcp": "dist/index.js"
|