@sellable/mcp 0.1.222 → 0.1.224
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/dist/tools/leads.d.ts
CHANGED
|
@@ -1246,12 +1246,14 @@ export declare const leadToolDefinitions: ({
|
|
|
1246
1246
|
type: string;
|
|
1247
1247
|
items: {
|
|
1248
1248
|
type: string;
|
|
1249
|
+
minLength: number;
|
|
1249
1250
|
};
|
|
1250
1251
|
};
|
|
1251
1252
|
exclude: {
|
|
1252
1253
|
type: string;
|
|
1253
1254
|
items: {
|
|
1254
1255
|
type: string;
|
|
1256
|
+
minLength: number;
|
|
1255
1257
|
};
|
|
1256
1258
|
};
|
|
1257
1259
|
include_all: {
|
|
@@ -1613,6 +1615,7 @@ export declare const leadToolDefinitions: ({
|
|
|
1613
1615
|
type: string;
|
|
1614
1616
|
items: {
|
|
1615
1617
|
type: string;
|
|
1618
|
+
enum: string[];
|
|
1616
1619
|
};
|
|
1617
1620
|
};
|
|
1618
1621
|
other: {
|
|
@@ -1648,6 +1651,7 @@ export declare const leadToolDefinitions: ({
|
|
|
1648
1651
|
};
|
|
1649
1652
|
geographic_scope: {
|
|
1650
1653
|
type: string;
|
|
1654
|
+
enum: string[];
|
|
1651
1655
|
};
|
|
1652
1656
|
};
|
|
1653
1657
|
};
|
|
@@ -2384,12 +2388,14 @@ export declare const leadToolDefinitions: ({
|
|
|
2384
2388
|
type: string;
|
|
2385
2389
|
items: {
|
|
2386
2390
|
type: string;
|
|
2391
|
+
minLength: number;
|
|
2387
2392
|
};
|
|
2388
2393
|
};
|
|
2389
2394
|
exclude: {
|
|
2390
2395
|
type: string;
|
|
2391
2396
|
items: {
|
|
2392
2397
|
type: string;
|
|
2398
|
+
minLength: number;
|
|
2393
2399
|
};
|
|
2394
2400
|
};
|
|
2395
2401
|
include_all: {
|
|
@@ -2751,6 +2757,7 @@ export declare const leadToolDefinitions: ({
|
|
|
2751
2757
|
type: string;
|
|
2752
2758
|
items: {
|
|
2753
2759
|
type: string;
|
|
2760
|
+
enum: string[];
|
|
2754
2761
|
};
|
|
2755
2762
|
};
|
|
2756
2763
|
other: {
|
|
@@ -2786,6 +2793,7 @@ export declare const leadToolDefinitions: ({
|
|
|
2786
2793
|
};
|
|
2787
2794
|
geographic_scope: {
|
|
2788
2795
|
type: string;
|
|
2796
|
+
enum: string[];
|
|
2789
2797
|
};
|
|
2790
2798
|
};
|
|
2791
2799
|
};
|
package/dist/tools/leads.js
CHANGED
|
@@ -177,10 +177,10 @@ const prospeoFundingFilterSchema = {
|
|
|
177
177
|
};
|
|
178
178
|
const prospeoCompanyKeywordsSchema = {
|
|
179
179
|
type: "object",
|
|
180
|
-
description:
|
|
180
|
+
description: 'Company keyword search. Prospeo requires keyword values to be at least 3 characters; use "artificial intelligence" instead of "AI".',
|
|
181
181
|
properties: {
|
|
182
|
-
include: { type: "array", items: { type: "string" } },
|
|
183
|
-
exclude: { type: "array", items: { type: "string" } },
|
|
182
|
+
include: { type: "array", items: { type: "string", minLength: 3 } },
|
|
183
|
+
exclude: { type: "array", items: { type: "string", minLength: 3 } },
|
|
184
184
|
include_all: { type: "boolean" },
|
|
185
185
|
include_company_description: { type: "boolean" },
|
|
186
186
|
include_company_description_seo: { type: "boolean" },
|
|
@@ -375,14 +375,36 @@ const prospeoCompanyHeadcountByLocationSchema = {
|
|
|
375
375
|
};
|
|
376
376
|
const prospeoCompanyIcpSchema = {
|
|
377
377
|
type: "object",
|
|
378
|
-
description: "Structured company ICP filter.",
|
|
378
|
+
description: "Structured company ICP filter. Product is not a company_icp.departments value; use titles_include for product roles. geographic_scope only accepts single_country or multi_country.",
|
|
379
379
|
properties: {
|
|
380
380
|
titles_include: { type: "array", items: { type: "string" } },
|
|
381
381
|
titles_exclude: { type: "array", items: { type: "string" } },
|
|
382
382
|
departments: {
|
|
383
383
|
type: "object",
|
|
384
384
|
properties: {
|
|
385
|
-
include: {
|
|
385
|
+
include: {
|
|
386
|
+
type: "array",
|
|
387
|
+
items: {
|
|
388
|
+
type: "string",
|
|
389
|
+
enum: [
|
|
390
|
+
"Consumers",
|
|
391
|
+
"Customer Success",
|
|
392
|
+
"Data",
|
|
393
|
+
"Design",
|
|
394
|
+
"Engineering",
|
|
395
|
+
"Finance",
|
|
396
|
+
"HR",
|
|
397
|
+
"IT",
|
|
398
|
+
"Legal",
|
|
399
|
+
"Marketing",
|
|
400
|
+
"Operations",
|
|
401
|
+
"Procurement",
|
|
402
|
+
"SMB Owners",
|
|
403
|
+
"Sales",
|
|
404
|
+
"Security",
|
|
405
|
+
],
|
|
406
|
+
},
|
|
407
|
+
},
|
|
386
408
|
other: { type: "array", items: { type: "string" } },
|
|
387
409
|
match_mode: { type: "string", enum: ["ANY", "ALL"] },
|
|
388
410
|
},
|
|
@@ -396,7 +418,10 @@ const prospeoCompanyIcpSchema = {
|
|
|
396
418
|
},
|
|
397
419
|
industries: { type: "array", items: { type: "string" } },
|
|
398
420
|
geographic_markets: { type: "array", items: { type: "string" } },
|
|
399
|
-
geographic_scope: {
|
|
421
|
+
geographic_scope: {
|
|
422
|
+
type: "string",
|
|
423
|
+
enum: ["single_country", "multi_country"],
|
|
424
|
+
},
|
|
400
425
|
},
|
|
401
426
|
};
|
|
402
427
|
const prospeoCompanyWebsiteTrafficSchema = {
|
|
@@ -405,7 +430,10 @@ const prospeoCompanyWebsiteTrafficSchema = {
|
|
|
405
430
|
properties: {
|
|
406
431
|
min_monthly_visits: { type: "number" },
|
|
407
432
|
max_monthly_visits: { type: "number" },
|
|
408
|
-
visit_change: {
|
|
433
|
+
visit_change: {
|
|
434
|
+
type: "string",
|
|
435
|
+
enum: ["increased", "decreased", "stable"],
|
|
436
|
+
},
|
|
409
437
|
top_countries: { type: "array", items: { type: "string" } },
|
|
410
438
|
min_country_percentage: { type: "number" },
|
|
411
439
|
max_country_percentage: { type: "number" },
|
|
@@ -439,7 +467,7 @@ const prospeoCompanyAccountWorkflowGuidance = `Company account workflow: search_
|
|
|
439
467
|
search_prospeo_companies({
|
|
440
468
|
"seedDomains": ["tryredrover.com"],
|
|
441
469
|
"filters": {
|
|
442
|
-
"company_lookalike": { "
|
|
470
|
+
"company_lookalike": { "minimum_tier": "T1" },
|
|
443
471
|
"company_attributes": { "uses_ai": true, "has_api": true, "pricing": true },
|
|
444
472
|
"company_website_search": {
|
|
445
473
|
"include_keywords": ["pricing"],
|
|
@@ -448,12 +476,13 @@ search_prospeo_companies({
|
|
|
448
476
|
}
|
|
449
477
|
}
|
|
450
478
|
})
|
|
479
|
+
Do not invent company_oids. When seedCompanies or seedDomains are present, omit company_oids and let the backend resolve real Prospeo company IDs.
|
|
451
480
|
For accounts in the news: { "company_news": { "categories": ["Funding & Investment"], "timeframe_days": 90 } }.
|
|
452
481
|
For awards: { "company_awards": { "include": ["G2"], "match_mode": "CONTAINS" } }.
|
|
453
482
|
For website traffic: { "company_website_traffic": { "min_monthly_visits": 50000 } }.
|
|
454
483
|
For products/services, integrations, key customers, and Google discovery use "company_products_services", "company_integrations", "company_key_customers", and "company_google_discovery".
|
|
455
484
|
For headcount by location: { "company_headcount_by_location": { "entries": [{ "country": "United States", "city": "Austin", "min_headcount": 10 }] } }.
|
|
456
|
-
For structured ICP: { "company_icp": { "titles_include": ["Head of RevOps"], "company_sizes": ["midmarket"], "departments": { "include": ["Sales"], "match_mode": "ANY" } }, "company_headcount_range": ["101-200", "201-500", "501-1000"] }. Pair company_icp.company_sizes with company_headcount_range or rely on MCP normalization that derives the range; inspect the account sample for size drift.
|
|
485
|
+
For structured ICP: { "company_icp": { "titles_include": ["Head of RevOps"], "company_sizes": ["midmarket"], "departments": { "include": ["Sales"], "match_mode": "ANY" }, "geographic_scope": "multi_country", "geographic_markets": ["United States", "Canada"] }, "company_headcount_range": ["101-200", "201-500", "501-1000"] }. Pair company_icp.company_sizes with company_headcount_range or rely on MCP normalization that derives the range; inspect the account sample for size drift. Product is not a company_icp.departments value; use titles_include for product roles. geographic_scope only accepts single_country or multi_country.
|
|
457
486
|
company_intent is unsupported; support-channel AI Attribute guesses like phone/email/chat/ticket/social are not exposed. public API rows do not include lookalike tier/score/reason.`;
|
|
458
487
|
function loadSignalDiscoveryConfig() {
|
|
459
488
|
if (!existsSync(signalProviderConfigPath)) {
|
|
@@ -1421,7 +1450,7 @@ export const leadToolDefinitions = [
|
|
|
1421
1450
|
},
|
|
1422
1451
|
{
|
|
1423
1452
|
name: "search_prospeo_companies",
|
|
1424
|
-
description: 'Search Prospeo for company/account results through the public /search-company lane. Requires get_provider_prompt({ provider: "prospeo" }) first. Use this first for company lookalike/account asks such as "find companies like Red Rover that use AI and have an API", "find founders at companies like our best customers", or "find accounts in the news about funding or partnerships". Results are accounts, not finished people leads. Review the returned accounts with the user, then call confirm_prospeo_company_accounts with the companySearchToken to create a domainFilterId before using search_prospeo for people at those accounts. Supports company lookalike, confirmed AI Attributes including pricing, company news, awards, website search, products/services, integrations, key customers, operating languages, Google discovery, headcount by location, structured company ICP, and experimental website traffic/key executive filters. company_intent and support-channel guesses like phone/email/chat/ticket/social are unsupported. Public API rows do not include lookalike tier/score/reason. ' +
|
|
1453
|
+
description: 'Search Prospeo for company/account results through the public /search-company lane. Requires get_provider_prompt({ provider: "prospeo" }) first. Use this first for company lookalike/account asks such as "find companies like Red Rover that use AI and have an API", "find founders at companies like our best customers", or "find accounts in the news about funding or partnerships". Results are accounts, not finished people leads. Review the returned accounts with the user, then call confirm_prospeo_company_accounts with the companySearchToken to create a domainFilterId before using search_prospeo for people at those accounts. Supports company lookalike, confirmed AI Attributes including pricing, company news, awards, website search, products/services, integrations, key customers, operating languages, Google discovery, headcount by location, structured company ICP, and experimental website traffic/key executive filters. Do not invent company_oids; when seedCompanies or seedDomains are present, omit company_oids and let the backend resolve real Prospeo IDs. company_intent and support-channel guesses like phone/email/chat/ticket/social are unsupported. Public API rows do not include lookalike tier/score/reason. ' +
|
|
1425
1454
|
prospeoCompanyAccountWorkflowGuidance,
|
|
1426
1455
|
inputSchema: {
|
|
1427
1456
|
type: "object",
|
|
@@ -1442,11 +1471,14 @@ export const leadToolDefinitions = [
|
|
|
1442
1471
|
},
|
|
1443
1472
|
filters: {
|
|
1444
1473
|
type: "object",
|
|
1445
|
-
description: 'Company/account filters. For lookalikes, use company_lookalike.company_oids when you already have Prospeo IDs; otherwise pass seedCompanies/seedDomains and the backend resolves IDs. minimum_tier must be "T1", "T2", or "T3". Do not use company_intent.',
|
|
1474
|
+
description: 'Company/account filters. For lookalikes, use company_lookalike.company_oids only when you already have real Prospeo IDs; otherwise pass seedCompanies/seedDomains and omit company_oids so the backend resolves IDs. minimum_tier must be "T1", "T2", or "T3". Do not invent company_oids. Do not use company_intent.',
|
|
1446
1475
|
properties: {
|
|
1447
1476
|
company_industry: prospeoFilterValueSchema,
|
|
1448
1477
|
company_technology: prospeoFilterValueSchema,
|
|
1449
|
-
company_email_provider: {
|
|
1478
|
+
company_email_provider: {
|
|
1479
|
+
type: "array",
|
|
1480
|
+
items: { type: "string" },
|
|
1481
|
+
},
|
|
1450
1482
|
company_naics: prospeoFilterValueSchema,
|
|
1451
1483
|
company_sics: prospeoFilterValueSchema,
|
|
1452
1484
|
company_headcount_range: {
|
package/dist/tools/registry.d.ts
CHANGED
|
@@ -2585,12 +2585,14 @@ export declare const allTools: ({
|
|
|
2585
2585
|
type: string;
|
|
2586
2586
|
items: {
|
|
2587
2587
|
type: string;
|
|
2588
|
+
minLength: number;
|
|
2588
2589
|
};
|
|
2589
2590
|
};
|
|
2590
2591
|
exclude: {
|
|
2591
2592
|
type: string;
|
|
2592
2593
|
items: {
|
|
2593
2594
|
type: string;
|
|
2595
|
+
minLength: number;
|
|
2594
2596
|
};
|
|
2595
2597
|
};
|
|
2596
2598
|
include_all: {
|
|
@@ -2952,6 +2954,7 @@ export declare const allTools: ({
|
|
|
2952
2954
|
type: string;
|
|
2953
2955
|
items: {
|
|
2954
2956
|
type: string;
|
|
2957
|
+
enum: string[];
|
|
2955
2958
|
};
|
|
2956
2959
|
};
|
|
2957
2960
|
other: {
|
|
@@ -2987,6 +2990,7 @@ export declare const allTools: ({
|
|
|
2987
2990
|
};
|
|
2988
2991
|
geographic_scope: {
|
|
2989
2992
|
type: string;
|
|
2993
|
+
enum: string[];
|
|
2990
2994
|
};
|
|
2991
2995
|
};
|
|
2992
2996
|
};
|
|
@@ -3723,12 +3727,14 @@ export declare const allTools: ({
|
|
|
3723
3727
|
type: string;
|
|
3724
3728
|
items: {
|
|
3725
3729
|
type: string;
|
|
3730
|
+
minLength: number;
|
|
3726
3731
|
};
|
|
3727
3732
|
};
|
|
3728
3733
|
exclude: {
|
|
3729
3734
|
type: string;
|
|
3730
3735
|
items: {
|
|
3731
3736
|
type: string;
|
|
3737
|
+
minLength: number;
|
|
3732
3738
|
};
|
|
3733
3739
|
};
|
|
3734
3740
|
include_all: {
|
|
@@ -4090,6 +4096,7 @@ export declare const allTools: ({
|
|
|
4090
4096
|
type: string;
|
|
4091
4097
|
items: {
|
|
4092
4098
|
type: string;
|
|
4099
|
+
enum: string[];
|
|
4093
4100
|
};
|
|
4094
4101
|
};
|
|
4095
4102
|
other: {
|
|
@@ -4125,6 +4132,7 @@ export declare const allTools: ({
|
|
|
4125
4132
|
};
|
|
4126
4133
|
geographic_scope: {
|
|
4127
4134
|
type: string;
|
|
4135
|
+
enum: string[];
|
|
4128
4136
|
};
|
|
4129
4137
|
};
|
|
4130
4138
|
};
|
package/package.json
CHANGED
|
@@ -226,9 +226,18 @@ website traffic (`company_website_traffic`), confirmed AI Attributes including
|
|
|
226
226
|
integrations, key customers, Google discovery, location headcount, or
|
|
227
227
|
structured ICP. When using `company_icp.company_sizes` for micro/SMB/midmarket
|
|
228
228
|
or enterprise sizing, pair it with `company_headcount_range` or rely on the MCP
|
|
229
|
-
normalization that derives the range; inspect the sample for size drift.
|
|
230
|
-
|
|
231
|
-
|
|
229
|
+
normalization that derives the range; inspect the sample for size drift. For
|
|
230
|
+
lookalike seeds passed as `seedCompanies` or `seedDomains`, omit `company_oids`;
|
|
231
|
+
the MCP backend resolves real Prospeo company IDs. Do not invent company_oids.
|
|
232
|
+
For company ICP geography, `geographic_scope` only accepts `single_country` or
|
|
233
|
+
`multi_country`; put North America style regions in `geographic_markets` as
|
|
234
|
+
specific markets such as United States and Canada. Product is not a
|
|
235
|
+
company_icp.departments value; use `titles_include` for product roles.
|
|
236
|
+
`company_keywords.include/exclude` values must be at least 3 characters; use
|
|
237
|
+
`artificial intelligence` instead of `AI`, or use confirmed attributes such as
|
|
238
|
+
`uses_ai` when that is the actual signal. Do not use `company_intent`, and do
|
|
239
|
+
not invent unsupported support-channel filters or AI Attribute guesses like
|
|
240
|
+
phone/email/chat/ticket/social.
|
|
232
241
|
|
|
233
242
|
After scouting, ask for a second approval on Start Import. For
|
|
234
243
|
LinkedIn engagement (`signal-discovery` internally), name how many
|
|
@@ -401,6 +401,19 @@ Use first for broad persona expansion, ABM/domain targeting, hiring-led targetin
|
|
|
401
401
|
sizing, pair it with `company_headcount_range` or rely on MCP normalization
|
|
402
402
|
that derives the range; inspect the account sample for size drift before
|
|
403
403
|
approving accounts.
|
|
404
|
+
- For lookalike seeds passed as `seedCompanies` or `seedDomains`, omit
|
|
405
|
+
`company_oids`; the MCP backend resolves real Prospeo company IDs. Do not
|
|
406
|
+
invent company_oids.
|
|
407
|
+
- For company ICP geography, `geographic_scope` only accepts `single_country`
|
|
408
|
+
or `multi_country`; put North America style regions in `geographic_markets`
|
|
409
|
+
as specific markets such as United States and Canada.
|
|
410
|
+
- Product is not a company_icp.departments value; use `titles_include` for
|
|
411
|
+
product roles. Allowed company ICP departments include Consumers, Customer
|
|
412
|
+
Success, Data, Design, Engineering, Finance, HR, IT, Legal, Marketing,
|
|
413
|
+
Operations, Procurement, SMB Owners, Sales, and Security.
|
|
414
|
+
- `company_keywords.include/exclude` values must be at least 3 characters; use
|
|
415
|
+
`artificial intelligence` instead of `AI`, or use confirmed attributes such
|
|
416
|
+
as `uses_ai` when that is the actual signal.
|
|
404
417
|
- Do not use `company_intent`. Do not invent unsupported support-channel filters
|
|
405
418
|
or AI Attribute guesses like phone/email/chat/ticket/social.
|
|
406
419
|
- Company/account search returns an account sample only; account rows are not people leads yet. Ask the user to approve the account sample.
|
|
@@ -25,7 +25,7 @@ Example account discovery:
|
|
|
25
25
|
search_prospeo_companies({
|
|
26
26
|
"seedDomains": ["tryredrover.com"],
|
|
27
27
|
"filters": {
|
|
28
|
-
"company_lookalike": { "
|
|
28
|
+
"company_lookalike": { "minimum_tier": "T1" },
|
|
29
29
|
"company_attributes": {
|
|
30
30
|
"uses_ai": true,
|
|
31
31
|
"has_api": true,
|
|
@@ -56,7 +56,9 @@ search_prospeo_companies({
|
|
|
56
56
|
"company_icp": {
|
|
57
57
|
"titles_include": ["Head of RevOps"],
|
|
58
58
|
"company_sizes": ["midmarket"],
|
|
59
|
-
"departments": { "include": ["Sales"], "match_mode": "ANY" }
|
|
59
|
+
"departments": { "include": ["Sales"], "match_mode": "ANY" },
|
|
60
|
+
"geographic_scope": "multi_country",
|
|
61
|
+
"geographic_markets": ["United States", "Canada"]
|
|
60
62
|
},
|
|
61
63
|
"company_headcount_range": ["101-200", "201-500", "501-1000"],
|
|
62
64
|
"company_website_traffic": { "min_monthly_visits": 50000 },
|
|
@@ -80,11 +82,23 @@ confirm_prospeo_company_accounts({
|
|
|
80
82
|
|
|
81
83
|
Use the returned `domainFilterId` in `search_prospeo` with people filters. Do not reconstruct raw account rows or domains manually as Prospeo-sourced provenance.
|
|
82
84
|
|
|
85
|
+
When `seedDomains` or `seedCompanies` are present, omit `company_oids`; the MCP
|
|
86
|
+
backend resolves real Prospeo company IDs. Do not invent company_oids such as
|
|
87
|
+
placeholder IDs from examples. Only send `company_lookalike.company_oids` when
|
|
88
|
+
they are real Prospeo company IDs returned by a prior tool/search.
|
|
89
|
+
|
|
83
90
|
For structured ICP sizing, pair `company_icp.company_sizes` with
|
|
84
91
|
`company_headcount_range` when possible. The MCP normalizer derives headcount
|
|
85
92
|
ranges for `micro`, `smb`, `midmarket`, `enterprise`, and `large_enterprise`
|
|
86
93
|
when no explicit headcount range is supplied, but the sample should still be
|
|
87
94
|
checked for size drift before accounts are approved.
|
|
95
|
+
For company ICP geography, `geographic_scope` only accepts `single_country` or
|
|
96
|
+
`multi_country`; put "North America" style regions in `geographic_markets` as
|
|
97
|
+
specific markets such as `United States` and `Canada`. Product is not a
|
|
98
|
+
company_icp.departments value; use `titles_include` for product roles. Allowed
|
|
99
|
+
company ICP departments include Consumers, Customer Success, Data, Design,
|
|
100
|
+
Engineering, Finance, HR, IT, Legal, Marketing, Operations, Procurement, SMB
|
|
101
|
+
Owners, Sales, and Security.
|
|
88
102
|
|
|
89
103
|
Unsupported/caveats:
|
|
90
104
|
|
|
@@ -223,6 +237,7 @@ Preference rules:
|
|
|
223
237
|
- In security, AppSec, SOC, RevOps, Demand Gen, and similar function-specific lanes, do not rely on bare `Head` / `Director` / `VP` widening by itself. Pair seniority with explicit function keywords in `person_job_title` and verify the sample for off-function titles like `Head of Social Media`.
|
|
224
238
|
- Prefer `company_headcount_range` for most sizing; use `company_headcount_custom` for precise numeric bounds.
|
|
225
239
|
- Prefer `company_industry` before `company_keywords`; use keywords for refinement, not first-pass targeting.
|
|
240
|
+
- `company_keywords.include/exclude` values must be at least 3 characters; use `artificial intelligence` instead of `AI`, or use confirmed attributes such as `uses_ai` when that is the real signal.
|
|
226
241
|
|
|
227
242
|
### Person Filters
|
|
228
243
|
|