@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 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.** 220 tools across 43 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.
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 (220 tools total with the optional Workflow Builder Firebase add-on).
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 (Optional)
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'''s internal API and require Firebase credentials. Without them, the other 163 tools work fine — you just won'''t have workflow/funnel/form/pipeline editing.
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
- Grab the three values from your GHL browser session, then re-run `setup_ghl_mcp` with them:
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
- > 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.
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 DevTools steps 1–7 above, but while viewing the client's GHL).
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 49 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. |
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 220 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`:
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.0",
34
+ version: "3.48.2",
35
35
  mcpName: "io.github.drjerryrelth/ghl-command",
36
- description: "GoHighLevel MCP Server for Claude. 220 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.",
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 212 tools (163 if you skip the optional Firebase fields; add Firebase later with enable_workflow_builder).",
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 ? "212" : "163";
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 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 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 163 to 212 after the next Claude restart.",
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 212 tools load. Try: "List my workflows in full detail" or "Validate workflow <id>".',
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 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.",
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://elitedcs.com/ghl-mcp-server";
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 one-time: 212 tools across 43 modules, including the only programmatic GHL workflow builder. 3 machines, no subscription.",
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 one-time) at ${buyUrl} \u2014 your key arrives by email within a couple minutes, then run setup_ghl_mcp with your email + key.`
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.0",
3
+ "version": "3.48.2",
4
4
  "mcpName": "io.github.drjerryrelth/ghl-command",
5
- "description": "GoHighLevel MCP Server for Claude. 220 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.",
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"