@sellable/mcp 0.1.252 → 0.1.254

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.
@@ -1897,6 +1897,9 @@ export declare const allTools: ({
1897
1897
  leadListId?: undefined;
1898
1898
  leadListName?: undefined;
1899
1899
  linkedInColumn?: undefined;
1900
+ csvText?: undefined;
1901
+ rawText?: undefined;
1902
+ name?: undefined;
1900
1903
  include?: undefined;
1901
1904
  exclude?: undefined;
1902
1905
  seedCompanies?: undefined;
@@ -1906,7 +1909,6 @@ export declare const allTools: ({
1906
1909
  previewOnly?: undefined;
1907
1910
  companySearchToken?: undefined;
1908
1911
  selectedCompanyIds?: undefined;
1909
- name?: undefined;
1910
1912
  domainFilterId?: undefined;
1911
1913
  type?: undefined;
1912
1914
  profileUrl?: undefined;
@@ -2083,6 +2085,9 @@ export declare const allTools: ({
2083
2085
  leadListId?: undefined;
2084
2086
  leadListName?: undefined;
2085
2087
  linkedInColumn?: undefined;
2088
+ csvText?: undefined;
2089
+ rawText?: undefined;
2090
+ name?: undefined;
2086
2091
  include?: undefined;
2087
2092
  exclude?: undefined;
2088
2093
  seedCompanies?: undefined;
@@ -2092,7 +2097,6 @@ export declare const allTools: ({
2092
2097
  previewOnly?: undefined;
2093
2098
  companySearchToken?: undefined;
2094
2099
  selectedCompanyIds?: undefined;
2095
- name?: undefined;
2096
2100
  domainFilterId?: undefined;
2097
2101
  type?: undefined;
2098
2102
  profileUrl?: undefined;
@@ -2168,6 +2172,9 @@ export declare const allTools: ({
2168
2172
  leadListId?: undefined;
2169
2173
  leadListName?: undefined;
2170
2174
  linkedInColumn?: undefined;
2175
+ csvText?: undefined;
2176
+ rawText?: undefined;
2177
+ name?: undefined;
2171
2178
  include?: undefined;
2172
2179
  exclude?: undefined;
2173
2180
  seedCompanies?: undefined;
@@ -2177,7 +2184,6 @@ export declare const allTools: ({
2177
2184
  previewOnly?: undefined;
2178
2185
  companySearchToken?: undefined;
2179
2186
  selectedCompanyIds?: undefined;
2180
- name?: undefined;
2181
2187
  domainFilterId?: undefined;
2182
2188
  type?: undefined;
2183
2189
  profileUrl?: undefined;
@@ -2325,6 +2331,9 @@ export declare const allTools: ({
2325
2331
  leadListId?: undefined;
2326
2332
  leadListName?: undefined;
2327
2333
  linkedInColumn?: undefined;
2334
+ csvText?: undefined;
2335
+ rawText?: undefined;
2336
+ name?: undefined;
2328
2337
  include?: undefined;
2329
2338
  exclude?: undefined;
2330
2339
  seedCompanies?: undefined;
@@ -2334,7 +2343,6 @@ export declare const allTools: ({
2334
2343
  previewOnly?: undefined;
2335
2344
  companySearchToken?: undefined;
2336
2345
  selectedCompanyIds?: undefined;
2337
- name?: undefined;
2338
2346
  domainFilterId?: undefined;
2339
2347
  type?: undefined;
2340
2348
  profileUrl?: undefined;
@@ -2424,6 +2432,9 @@ export declare const allTools: ({
2424
2432
  leadListId?: undefined;
2425
2433
  leadListName?: undefined;
2426
2434
  linkedInColumn?: undefined;
2435
+ csvText?: undefined;
2436
+ rawText?: undefined;
2437
+ name?: undefined;
2427
2438
  include?: undefined;
2428
2439
  exclude?: undefined;
2429
2440
  seedCompanies?: undefined;
@@ -2433,7 +2444,6 @@ export declare const allTools: ({
2433
2444
  previewOnly?: undefined;
2434
2445
  companySearchToken?: undefined;
2435
2446
  selectedCompanyIds?: undefined;
2436
- name?: undefined;
2437
2447
  domainFilterId?: undefined;
2438
2448
  type?: undefined;
2439
2449
  profileUrl?: undefined;
@@ -2532,6 +2542,9 @@ export declare const allTools: ({
2532
2542
  query?: undefined;
2533
2543
  keywords?: undefined;
2534
2544
  domainColumn?: undefined;
2545
+ csvText?: undefined;
2546
+ rawText?: undefined;
2547
+ name?: undefined;
2535
2548
  include?: undefined;
2536
2549
  exclude?: undefined;
2537
2550
  seedCompanies?: undefined;
@@ -2541,7 +2554,6 @@ export declare const allTools: ({
2541
2554
  previewOnly?: undefined;
2542
2555
  companySearchToken?: undefined;
2543
2556
  selectedCompanyIds?: undefined;
2544
- name?: undefined;
2545
2557
  domainFilterId?: undefined;
2546
2558
  type?: undefined;
2547
2559
  profileUrl?: undefined;
@@ -2567,6 +2579,110 @@ export declare const allTools: ({
2567
2579
  };
2568
2580
  required: string[];
2569
2581
  };
2582
+ } | {
2583
+ name: string;
2584
+ description: string;
2585
+ inputSchema: {
2586
+ type: string;
2587
+ properties: {
2588
+ filePath: {
2589
+ type: string;
2590
+ description: string;
2591
+ };
2592
+ csvText: {
2593
+ type: string;
2594
+ description: string;
2595
+ };
2596
+ rawText: {
2597
+ type: string;
2598
+ description: string;
2599
+ };
2600
+ name: {
2601
+ type: string;
2602
+ description: string;
2603
+ };
2604
+ domainColumn: {
2605
+ type: string;
2606
+ description: string;
2607
+ };
2608
+ linkedInColumn: {
2609
+ type: string;
2610
+ description: string;
2611
+ };
2612
+ confirmationToken: {
2613
+ type: string;
2614
+ description: string;
2615
+ };
2616
+ confirmed: {
2617
+ type: string;
2618
+ description: string;
2619
+ };
2620
+ provider?: undefined;
2621
+ campaignOfferId?: undefined;
2622
+ searchMode?: undefined;
2623
+ organization_num_employees_ranges?: undefined;
2624
+ organization_locations?: undefined;
2625
+ organization_not_locations?: undefined;
2626
+ q_organization_keyword_tags?: undefined;
2627
+ organization_industry_tag_ids?: undefined;
2628
+ latest_funding_amount_min?: undefined;
2629
+ latest_funding_amount_max?: undefined;
2630
+ organization_revenue_min?: undefined;
2631
+ organization_revenue_max?: undefined;
2632
+ person_titles?: undefined;
2633
+ person_seniorities?: undefined;
2634
+ person_locations?: undefined;
2635
+ include_similar_titles?: undefined;
2636
+ q_keywords?: undefined;
2637
+ filters?: undefined;
2638
+ companyFilters?: undefined;
2639
+ contactFilters?: undefined;
2640
+ page?: undefined;
2641
+ searchId?: undefined;
2642
+ searchName?: undefined;
2643
+ companySearchMode?: undefined;
2644
+ uploadedDomains?: undefined;
2645
+ currentStep?: undefined;
2646
+ filterType?: undefined;
2647
+ query?: undefined;
2648
+ keywords?: undefined;
2649
+ selectedColumns?: undefined;
2650
+ leadListId?: undefined;
2651
+ leadListName?: undefined;
2652
+ include?: undefined;
2653
+ exclude?: undefined;
2654
+ seedCompanies?: undefined;
2655
+ seedDomains?: undefined;
2656
+ limit?: undefined;
2657
+ sort?: undefined;
2658
+ previewOnly?: undefined;
2659
+ companySearchToken?: undefined;
2660
+ selectedCompanyIds?: undefined;
2661
+ domainFilterId?: undefined;
2662
+ type?: undefined;
2663
+ profileUrl?: undefined;
2664
+ postUrl?: undefined;
2665
+ companyUrl?: undefined;
2666
+ headlineICPCriteria?: undefined;
2667
+ rubricGuidelines?: undefined;
2668
+ sourceLeadListId?: undefined;
2669
+ targetLeadCount?: undefined;
2670
+ mode?: undefined;
2671
+ targetEngagerCount?: undefined;
2672
+ maxPostsToScrape?: undefined;
2673
+ tableId?: undefined;
2674
+ campaignName?: undefined;
2675
+ keepInSync?: undefined;
2676
+ jobId?: undefined;
2677
+ reviewBatchLimit?: undefined;
2678
+ allowPartialSourceList?: undefined;
2679
+ includeRawImportResult?: undefined;
2680
+ selections?: undefined;
2681
+ selectionMode?: undefined;
2682
+ scrapePlanMode?: undefined;
2683
+ };
2684
+ required: never[];
2685
+ };
2570
2686
  } | {
2571
2687
  name: string;
2572
2688
  description: string;
@@ -2624,6 +2740,9 @@ export declare const allTools: ({
2624
2740
  leadListId?: undefined;
2625
2741
  leadListName?: undefined;
2626
2742
  linkedInColumn?: undefined;
2743
+ csvText?: undefined;
2744
+ rawText?: undefined;
2745
+ name?: undefined;
2627
2746
  seedCompanies?: undefined;
2628
2747
  seedDomains?: undefined;
2629
2748
  limit?: undefined;
@@ -2631,7 +2750,6 @@ export declare const allTools: ({
2631
2750
  previewOnly?: undefined;
2632
2751
  companySearchToken?: undefined;
2633
2752
  selectedCompanyIds?: undefined;
2634
- name?: undefined;
2635
2753
  domainFilterId?: undefined;
2636
2754
  type?: undefined;
2637
2755
  profileUrl?: undefined;
@@ -3509,11 +3627,13 @@ export declare const allTools: ({
3509
3627
  leadListId?: undefined;
3510
3628
  leadListName?: undefined;
3511
3629
  linkedInColumn?: undefined;
3630
+ csvText?: undefined;
3631
+ rawText?: undefined;
3632
+ name?: undefined;
3512
3633
  include?: undefined;
3513
3634
  exclude?: undefined;
3514
3635
  companySearchToken?: undefined;
3515
3636
  selectedCompanyIds?: undefined;
3516
- name?: undefined;
3517
3637
  domainFilterId?: undefined;
3518
3638
  type?: undefined;
3519
3639
  profileUrl?: undefined;
@@ -3606,6 +3726,8 @@ export declare const allTools: ({
3606
3726
  leadListId?: undefined;
3607
3727
  leadListName?: undefined;
3608
3728
  linkedInColumn?: undefined;
3729
+ csvText?: undefined;
3730
+ rawText?: undefined;
3609
3731
  include?: undefined;
3610
3732
  exclude?: undefined;
3611
3733
  seedCompanies?: undefined;
@@ -4641,6 +4763,9 @@ export declare const allTools: ({
4641
4763
  leadListId?: undefined;
4642
4764
  leadListName?: undefined;
4643
4765
  linkedInColumn?: undefined;
4766
+ csvText?: undefined;
4767
+ rawText?: undefined;
4768
+ name?: undefined;
4644
4769
  include?: undefined;
4645
4770
  exclude?: undefined;
4646
4771
  seedCompanies?: undefined;
@@ -4650,7 +4775,6 @@ export declare const allTools: ({
4650
4775
  previewOnly?: undefined;
4651
4776
  companySearchToken?: undefined;
4652
4777
  selectedCompanyIds?: undefined;
4653
- name?: undefined;
4654
4778
  type?: undefined;
4655
4779
  profileUrl?: undefined;
4656
4780
  postUrl?: undefined;
@@ -4789,6 +4913,9 @@ export declare const allTools: ({
4789
4913
  leadListId?: undefined;
4790
4914
  leadListName?: undefined;
4791
4915
  linkedInColumn?: undefined;
4916
+ csvText?: undefined;
4917
+ rawText?: undefined;
4918
+ name?: undefined;
4792
4919
  include?: undefined;
4793
4920
  exclude?: undefined;
4794
4921
  seedCompanies?: undefined;
@@ -4797,7 +4924,6 @@ export declare const allTools: ({
4797
4924
  previewOnly?: undefined;
4798
4925
  companySearchToken?: undefined;
4799
4926
  selectedCompanyIds?: undefined;
4800
- name?: undefined;
4801
4927
  domainFilterId?: undefined;
4802
4928
  sourceLeadListId?: undefined;
4803
4929
  targetLeadCount?: undefined;
@@ -4919,6 +5045,9 @@ export declare const allTools: ({
4919
5045
  confirmationToken?: undefined;
4920
5046
  leadListId?: undefined;
4921
5047
  linkedInColumn?: undefined;
5048
+ csvText?: undefined;
5049
+ rawText?: undefined;
5050
+ name?: undefined;
4922
5051
  include?: undefined;
4923
5052
  exclude?: undefined;
4924
5053
  seedCompanies?: undefined;
@@ -4928,7 +5057,6 @@ export declare const allTools: ({
4928
5057
  previewOnly?: undefined;
4929
5058
  companySearchToken?: undefined;
4930
5059
  selectedCompanyIds?: undefined;
4931
- name?: undefined;
4932
5060
  domainFilterId?: undefined;
4933
5061
  type?: undefined;
4934
5062
  profileUrl?: undefined;
@@ -5001,6 +5129,9 @@ export declare const allTools: ({
5001
5129
  leadListId?: undefined;
5002
5130
  leadListName?: undefined;
5003
5131
  linkedInColumn?: undefined;
5132
+ csvText?: undefined;
5133
+ rawText?: undefined;
5134
+ name?: undefined;
5004
5135
  include?: undefined;
5005
5136
  exclude?: undefined;
5006
5137
  seedCompanies?: undefined;
@@ -5010,7 +5141,6 @@ export declare const allTools: ({
5010
5141
  previewOnly?: undefined;
5011
5142
  companySearchToken?: undefined;
5012
5143
  selectedCompanyIds?: undefined;
5013
- name?: undefined;
5014
5144
  domainFilterId?: undefined;
5015
5145
  type?: undefined;
5016
5146
  profileUrl?: undefined;
@@ -5119,6 +5249,9 @@ export declare const allTools: ({
5119
5249
  leadListId?: undefined;
5120
5250
  leadListName?: undefined;
5121
5251
  linkedInColumn?: undefined;
5252
+ csvText?: undefined;
5253
+ rawText?: undefined;
5254
+ name?: undefined;
5122
5255
  include?: undefined;
5123
5256
  exclude?: undefined;
5124
5257
  seedCompanies?: undefined;
@@ -5128,7 +5261,6 @@ export declare const allTools: ({
5128
5261
  previewOnly?: undefined;
5129
5262
  companySearchToken?: undefined;
5130
5263
  selectedCompanyIds?: undefined;
5131
- name?: undefined;
5132
5264
  domainFilterId?: undefined;
5133
5265
  type?: undefined;
5134
5266
  profileUrl?: undefined;
@@ -5242,6 +5374,9 @@ export declare const allTools: ({
5242
5374
  leadListId?: undefined;
5243
5375
  leadListName?: undefined;
5244
5376
  linkedInColumn?: undefined;
5377
+ csvText?: undefined;
5378
+ rawText?: undefined;
5379
+ name?: undefined;
5245
5380
  include?: undefined;
5246
5381
  exclude?: undefined;
5247
5382
  seedCompanies?: undefined;
@@ -5251,7 +5386,6 @@ export declare const allTools: ({
5251
5386
  previewOnly?: undefined;
5252
5387
  companySearchToken?: undefined;
5253
5388
  selectedCompanyIds?: undefined;
5254
- name?: undefined;
5255
5389
  domainFilterId?: undefined;
5256
5390
  type?: undefined;
5257
5391
  profileUrl?: undefined;
@@ -5329,6 +5463,9 @@ export declare const allTools: ({
5329
5463
  leadListId?: undefined;
5330
5464
  leadListName?: undefined;
5331
5465
  linkedInColumn?: undefined;
5466
+ csvText?: undefined;
5467
+ rawText?: undefined;
5468
+ name?: undefined;
5332
5469
  include?: undefined;
5333
5470
  exclude?: undefined;
5334
5471
  seedCompanies?: undefined;
@@ -5338,7 +5475,6 @@ export declare const allTools: ({
5338
5475
  previewOnly?: undefined;
5339
5476
  companySearchToken?: undefined;
5340
5477
  selectedCompanyIds?: undefined;
5341
- name?: undefined;
5342
5478
  domainFilterId?: undefined;
5343
5479
  type?: undefined;
5344
5480
  profileUrl?: undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sellable/mcp",
3
- "version": "0.1.252",
3
+ "version": "0.1.254",
4
4
  "type": "module",
5
5
  "description": "Sellable MCP server for Claude Code and Codex campaign workflows",
6
6
  "main": "dist/index.js",
@@ -14,6 +14,8 @@ allowed-tools:
14
14
  - mcp__sellable__get_source_scout_registry
15
15
  - mcp__sellable__get_post_find_leads_scout_registry
16
16
  - mcp__sellable__get_active_workspace
17
+ - mcp__sellable__list_workspaces
18
+ - mcp__sellable__set_active_workspace
17
19
  - mcp__sellable__list_senders
18
20
  - mcp__sellable__get_sender
19
21
  - mcp__sellable__complete_sender_research
@@ -56,6 +58,7 @@ allowed-tools:
56
58
  - mcp__sellable__get_rows
57
59
  - mcp__sellable__get_rows_minimal
58
60
  - mcp__sellable__get_table_rows
61
+ - mcp__sellable__load_csv_dnc_entries
59
62
  - mcp__sellable__load_csv_linkedin_leads
60
63
  - mcp__sellable__load_csv_domains
61
64
  - mcp__sellable__get_campaign_messages_preview
@@ -86,6 +89,18 @@ message approval` until the template is approved.
86
89
  Use Template is the default message path; AI Generated is only an explicit
87
90
  opt-out.
88
91
 
92
+ ## DNC And Blocklist Handling
93
+
94
+ If the user says blocklist, DNC, do-not-contact, suppression list, or "do not
95
+ import/message these", use `load_csv_dnc_entries` before sourcing or importing.
96
+ This writes to Sellable's workspace-level DNC list after previewing the exact
97
+ active workspace name and ID and getting confirmation. Do not route this to
98
+ provider search exclusions, source-list workarounds, Prospeo domain filters, or
99
+ `save_domain_filters`. `load_csv_domains` and `save_domain_filters`
100
+ are for known-account targeting only, not DNC. Campaign creation already
101
+ includes a `DNC Check` column that checks domain and LinkedIn profile before
102
+ message generation.
103
+
89
104
  ## Opening Turn Contract
90
105
 
91
106
  On the first visible response after this skill is invoked, do not narrate
@@ -624,8 +639,10 @@ researched recommendation; you can replace it with your current offer."
624
639
 
625
640
  If the invocation or any later user message explicitly asks for "yolo mode",
626
641
  "YOLO", `--yolo`, `mode=yolo`, "autopilot", "use best guesses", "answer for
627
- me", "use best estimates", or "just run it", enable YOLO mode for the rest of
628
- the run. Treat YOLO as `interactionMode: "autonomous"` plus an intake policy:
642
+ me", "use best estimates", "just run it", or the user selects or presses Enter
643
+ on `Approve brief + activate YOLO mode (Recommended)`, enable YOLO mode for the
644
+ rest of the run. Treat YOLO as `interactionMode: "autonomous"` plus an intake
645
+ policy:
629
646
 
630
647
  - If the campaign subject is missing, ask only for the LinkedIn profile URL or
631
648
  handle in normal chat; do not continue from a non-profile URL and do not ask
@@ -299,11 +299,10 @@ After filter choice, the only normal background worker is Message Drafting (`pos
299
299
 
300
300
  The parent thread is the orchestrator and the filter writer. On the filters path, start Message Drafting, then load `references/filter-leads.md`, save rubrics, and ask users to approve saved criteria. Keep `currentStep` on Filter Rules and show `Filters saved + waiting for message approval`; do not queue cells until message approval. Tell the user Message Drafting is preparing the template in the background.
301
301
 
302
- Message Drafting must not wait for `save_rubrics` or require
303
- `leadScoringRubrics` to be visible before returning a reusable template. The
304
- parent waits for both saved-filter approval and the message recommendation
305
- before review, so missing saved rubrics in the branch read means "filters still
306
- owned by parent," not `blocked`.
302
+ Message Drafting must not wait for `save_rubrics` or require visible
303
+ `leadScoringRubrics` before returning a reusable template. The parent waits for
304
+ saved-filter approval plus the message recommendation, so missing saved rubrics
305
+ in the branch read means "filters still owned by parent," not `blocked`.
307
306
 
308
307
  Keep the handoff lean: `campaignId`, `workflowTableId`, concise brief/source summary, source-use rule, and 3-5 sample rows (`rowId`, name, title, company, signal). Do not paste copied row counts, hashes, full row IDs, broad row data, or local debug artifacts.
309
308