You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Three failure modes a user hits before they get any work done, fixed in one pass.
1. #3504 — `npx -y @leadbay/mcp` silently exits 0 on Node 25. The `isEntrypoint`
check compared `process.argv[1]` (the npx shim symlink) to `import.meta.url`
(the resolved `dist/bin.js`); they never match, so `main()` never runs and
the MCP host sees a dead connection with no diagnostic. Both sides now go
through `realpathSync` so the symlink collapses. Reproduce-then-fix verified
with a new `test/smoke/npx-entrypoint.test.ts` regression guard.
2. Dead `app.leadbay.ai` URLs in error strings and READMEs replaced with the
real recovery commands (`leadbay-mcp install`, `leadbay-mcp login`). Hints
now include `--region <us|fr>` because the CLI refuses without it (anti-
cross-region credential-leak guard) — earlier draft would have dead-ended
the user a second time.
3. `avg_score_0_to_10` on `pull_leads` / `bulk_qualify_leads` was lying: per-
question AI agent scores are discrete boosts (-10/0/10/20), not 0-10
averages. Renamed to `avg_qualification_boost` with JSDoc on the underlying
`AiAgentResponse.score` interface explaining the real contract. Documented
`score` (ICP similarity) vs `ai_agent_lead_score` (deep-AI qualification
boost) — they're combined and normalized server-side to 0-100.
Live smoke harness extended with composite-level checks + optional thinking-
model judge that writes a redacted report to `.context/`. Token-first via
`LEADBAY_TEST_TOKEN`; macOS Keychain fallback (refuses plaintext password env
var, on purpose). Versions: core 0.2.0→0.2.1 (private), leadclaw + mcp
0.2.1→0.2.2 (openclaw plugin manifest synced).
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
- Renamed misleading `avg_score_0_to_10` field on the `pull_leads` / `bulk_qualify_leads` qualification summaries to `avg_qualification_boost`. Per-question AI agent scores are discrete boosts (-10/0/10/20), not a 0-10 average — interface JSDoc now reflects the real contract.
8
+
- Replaced stale `app.leadbay.ai` URLs in client-side error strings with runnable recovery commands. Recovery hints now include `--region <us|fr>` because the CLI refuses without it (anti-cross-region credential-leak guard).
9
+
- README: stale `app.leadbay.ai` references swept.
7
10
- Plugin manifest description rewritten from "Leadbay lead discovery, qualification, and contact enrichment for AI agents" to a framing that names the inbox model, the two scoring layers, and on-demand deepening.
8
11
- Composite tool descriptions (`pull_leads`, `research_lead`, `bulk_qualify_leads`, `enrich_titles`, `account_status`) now teach the agent that Leadbay delivers a fresh batch per user login, paced by recent consumption; that roughly the top 10 are pre-AI-qualified while the rest are resource-saved (not worse); and that contacts are enriched on demand when the agent is ready to reach out.
9
-
-No new tools, no schema changes. Version kept in sync with `@leadbay/mcp@0.2.2`.
Copy file name to clipboardExpand all lines: packages/leadclaw/README.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -78,8 +78,8 @@ The canonical tool list + schemas live in [`openclaw.plugin.json`](./openclaw.pl
78
78
| Problem | Cause | Fix |
79
79
|---------|-------|-----|
80
80
| Plugin loads but agent sees no Leadbay tools |`token` missing and no login step taken | Have the agent call `leadbay_login`, or pre-set `token` in the plugin config |
81
-
|`Authentication token expired or invalid`| Token revoked or wrong region |Mint a new token at [app.leadbay.ai](https://app.leadbay.ai); verify `region` matches your account |
82
-
|`No enrichment credits remaining`| Out of quota |Buy credits at [app.leadbay.ai](https://app.leadbay.ai)|
81
+
|`Authentication token expired or invalid`| Token revoked or wrong region |Have the agent call `leadbay_login` to mint a fresh token; verify `region` matches your account |
82
+
|`No enrichment credits remaining`| Out of quota |Contact Leadbay support to extend quota|
83
83
| Agent keeps picking granular tools over composites |`exposeGranular: true` set | Flip to `false`; the composites are usually what you want |
84
84
| Write tool "not found" |`exposeWrite: false` (default) | Set `exposeWrite: true` after explicitly opting in |
Copy file name to clipboardExpand all lines: packages/mcp/CHANGELOG.md
+6-3Lines changed: 6 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,12 +2,15 @@
2
2
3
3
## 0.2.2 — 2026-04-21
4
4
5
-
Docs-only release. Teach the agent the Leadbay mentalmodel — agents were calling `pull_leads` like a generic query rather than as a daily inbox, missing that leads past the top ~10 still exist and can be deepened on demand.
-**Fix [product#3504](https://github.com/leadbay/product/issues/3504)**: `npx -y @leadbay/mcp` no longer exits silently on Node 25. The `isEntrypoint` check now resolves both sides through `realpathSync`, so the npx shim symlink path matches the real `dist/bin.js`. Previously `main()` never ran under npx and the MCP host saw a dead connection with no diagnostic.
8
+
- Replaced stale `app.leadbay.ai` URLs in error strings (NOT_AUTHENTICATED, AUTH_INVALID, BILLING_SUSPENDED, PERMISSION_DENIED) and CLI help text with runnable commands (`leadbay-mcp install`, `leadbay-mcp login`) or "contact support". Recovery hints include `--region <us|fr>` because the CLI refuses without it (anti-cross-region credential-leak guard).
9
+
- Renamed misleading `avg_score_0_to_10` field on `pull_leads` / `bulk_qualify_leads` qualification summaries to `avg_qualification_boost`. Per-question AI agent scores are discrete boosts (-10/0/10/20), not 0-10 averages — interface JSDoc now reflects the real contract.
7
10
-`SERVER_INSTRUCTIONS` gains three new paragraphs: "How Leadbay works" (inbox + consumption-based pacing), "Two scoring layers" (basic `score` vs AI-qualified top ~10 with `ai_agent_lead_score`), and "Suggested rhythm" (daily check-in + host-agnostic scheduling hint).
8
11
-`leadbay_pull_leads`, `leadbay_research_lead`, `leadbay_bulk_qualify_leads`, `leadbay_enrich_titles`, and `leadbay_account_status` descriptions updated to reinforce the same model so the agent sees it at both top level and per-tool.
9
-
- New non-regression test asserts the inbox/pace/scoring/daily language stays in `SERVER_INSTRUCTIONS`.
10
-
-No schema changes, no tool-shape changes — wire-compatible with 0.2.1.
12
+
- New regression test `test/smoke/npx-entrypoint.test.ts` guards the symlink invocation path. New non-regression test asserts the inbox/pace/scoring/daily language stays in `SERVER_INSTRUCTIONS`.
13
+
-Live smoke harness extended with composite-level checks + (optional) thinking-model judge that writes a redacted report to `.context/`.
0 commit comments