@coldiq/mcp 0.4.4 → 0.4.6

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.
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,WAAW;IAC1B,2EAA2E;IAC3E,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,CAAA;IACpC;;;;OAIG;IACH,cAAc,EAAE,MAAM,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC,CAAA;IACtD,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAA;IACjB,qCAAqC;IACrC,UAAU,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAA;IACtC,kDAAkD;IAClD,SAAS,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,MAAM,CAAA;CACzC;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,KAAK,GAAG,MAAM,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK;QAAE,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAA;IACvG,SAAS,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAA;IACrC,KAAK,CAAC,EAAE,WAAW,CAAA;IACnB;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAA;IAC1D;;;;;OAKG;IACH,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAA;CACxE;AAED,MAAM,MAAM,UAAU,GAClB,kBAAkB,GAClB,aAAa,GACb,YAAY,GACZ,cAAc,GACd,YAAY,GACZ,gBAAgB,GAChB,eAAe,GACf,YAAY,GACZ,aAAa,GACb,YAAY,GACZ,eAAe,GACf,mBAAmB,GACnB,kBAAkB,GAClB,eAAe,GACf,YAAY,GACZ,cAAc,GACd,oBAAoB,CAAA;AA4ExB,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE,CAIlG;AA0BD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAOrD;AAgCD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAclE;AAKD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,EAAE,CAGpF;AAs5GD;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,EAAE,CAE1E;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,MAAM,GACjB,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,GAAG,SAAS,CAE3D;AAKD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,UAAU,GAAG,aAAa,EAAE,CAS9E;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,UAAU,GAAG,aAAa,EAAE,CASpE;AAID;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,OAAO,GAAG,aAAa,EAAE,CAkB5E"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,WAAW;IAC1B,2EAA2E;IAC3E,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,CAAA;IACpC;;;;OAIG;IACH,cAAc,EAAE,MAAM,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC,CAAA;IACtD,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAA;IACjB,qCAAqC;IACrC,UAAU,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAA;IACtC,kDAAkD;IAClD,SAAS,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,MAAM,CAAA;CACzC;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,KAAK,GAAG,MAAM,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK;QAAE,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAA;IACvG,SAAS,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAA;IACrC,KAAK,CAAC,EAAE,WAAW,CAAA;IACnB;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAA;IAC1D;;;;;OAKG;IACH,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAA;CACxE;AAED,MAAM,MAAM,UAAU,GAClB,kBAAkB,GAClB,aAAa,GACb,YAAY,GACZ,cAAc,GACd,YAAY,GACZ,gBAAgB,GAChB,eAAe,GACf,YAAY,GACZ,aAAa,GACb,YAAY,GACZ,eAAe,GACf,mBAAmB,GACnB,kBAAkB,GAClB,eAAe,GACf,YAAY,GACZ,cAAc,GACd,oBAAoB,CAAA;AA4ExB,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE,CAIlG;AA0BD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAOrD;AAgCD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAclE;AAKD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,EAAE,CAGpF;AA+0GD;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,EAAE,CAE1E;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,MAAM,GACjB,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,GAAG,SAAS,CAE3D;AAKD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,UAAU,GAAG,aAAa,EAAE,CAS9E;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,UAAU,GAAG,aAAa,EAAE,CASpE;AAID;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,OAAO,GAAG,aAAa,EAAE,CAkB5E"}
package/dist/registry.js CHANGED
@@ -1495,7 +1495,7 @@ const findEmailProviders = [
1495
1495
  id: 'findymail',
1496
1496
  endpoint: '/findymail/search/name',
1497
1497
  method: 'POST',
1498
- priority: 7,
1498
+ priority: 1,
1499
1499
  isApplicable: (input) => typeof input.first_name === 'string' && input.first_name.length > 0 &&
1500
1500
  ((typeof input.domain === 'string' && input.domain.length > 0) ||
1501
1501
  (typeof input.company_name === 'string' && input.company_name.length > 0)),
@@ -1517,7 +1517,7 @@ const findEmailProviders = [
1517
1517
  id: 'icypeas',
1518
1518
  endpoint: '/icypeas/email-search',
1519
1519
  method: 'POST',
1520
- priority: 11,
1520
+ priority: 6,
1521
1521
  mapParams: (input) => ({
1522
1522
  body: {
1523
1523
  firstname: input.first_name,
@@ -1535,7 +1535,7 @@ const findEmailProviders = [
1535
1535
  id: 'limadata-work-email',
1536
1536
  endpoint: '/limadata/find/work-email',
1537
1537
  method: 'POST',
1538
- priority: 1,
1538
+ priority: 5,
1539
1539
  mapParams: (input) => {
1540
1540
  const fullName = [input.first_name, input.last_name].filter(Boolean).join(' ');
1541
1541
  return {
@@ -1588,96 +1588,43 @@ const findEmailProviders = [
1588
1588
  },
1589
1589
  },
1590
1590
  {
1591
- id: 'blitzapi',
1592
- endpoint: '/blitzapi/enrichment/find-work-email',
1593
- method: 'POST',
1594
- priority: 4,
1595
- mapParams: (input) => ({
1596
- body: { person_linkedin_url: input.linkedin_url },
1597
- }),
1598
- hasResult: (data) => {
1599
- const d = data;
1600
- return typeof d.email === 'string' && d.email.includes('@');
1601
- },
1602
- isApplicable: (input) => typeof input.linkedin_url === 'string' && input.linkedin_url.length > 0,
1603
- },
1604
- {
1605
- id: 'fullenrich',
1606
- endpoint: '/fullenrich/contact/enrich/bulk',
1591
+ // Premium slot: live SMTP-verified reveal (partial = email-only depth).
1592
+ id: 'wiza',
1593
+ endpoint: '/wiza/individual-reveals',
1607
1594
  method: 'POST',
1608
- priority: 8,
1595
+ priority: 7,
1596
+ isApplicable: (input) => (typeof input.linkedin_url === 'string' && input.linkedin_url.length > 0) ||
1597
+ (!!input.first_name && !!input.last_name && !!(input.domain || input.company_name)),
1609
1598
  mapParams: (input) => ({
1610
1599
  body: {
1611
- name: 'mcp-enrich',
1612
- data: [{
1613
- first_name: input.first_name,
1614
- last_name: input.last_name,
1615
- domain: input.domain,
1616
- company_name: input.company_name,
1617
- ...(input.linkedin_url ? { linkedin_url: input.linkedin_url } : {}),
1618
- enrich_fields: ['contact.emails'],
1619
- }],
1600
+ individual_reveal: input.linkedin_url
1601
+ ? { profile_url: input.linkedin_url }
1602
+ : {
1603
+ full_name: [input.first_name, input.last_name].filter(Boolean).join(' '),
1604
+ ...(input.domain ? { domain: input.domain } : { company: input.company_name }),
1605
+ },
1606
+ enrichment_level: 'partial',
1607
+ email_options: { accept_work: true, accept_personal: false },
1620
1608
  },
1621
1609
  }),
1622
1610
  hasResult: (data) => {
1623
- const d = data;
1624
- const items = d.data;
1625
- if (!Array.isArray(items) || items.length === 0)
1626
- return false;
1627
- const emails = items[0]?.emails;
1628
- return Array.isArray(emails) && emails.length > 0;
1611
+ const d = data.data;
1612
+ return typeof d?.email === 'string' && d.email.includes('@');
1629
1613
  },
1630
1614
  async: {
1631
1615
  extractId: (response) => {
1632
- const d = response;
1633
- return d.enrichment_id;
1616
+ const d = response.data;
1617
+ return d?.id !== undefined && d?.id !== null ? String(d.id) : '';
1634
1618
  },
1635
- pollEndpoint: (id) => `/fullenrich/contact/enrich/bulk/${id}`,
1619
+ pollEndpoint: (id) => `/wiza/individual-reveals/${id}`,
1636
1620
  pollIntervalMs: 2500,
1637
1621
  timeoutMs: 60_000,
1622
+ // The MCP AsyncConfig has no isFailed; a 'failed' reveal is terminal via
1623
+ // isComplete and then reads as a miss (no email in the payload).
1638
1624
  isComplete: (data) => {
1639
- const d = data;
1640
- const status = d.status;
1641
- return status === 'DONE' || status === 'FAILED';
1642
- },
1643
- },
1644
- },
1645
- {
1646
- id: 'limadata-work-email-linkedin',
1647
- endpoint: '/limadata/find/work-email-linkedin',
1648
- method: 'POST',
1649
- priority: 5,
1650
- mapParams: (input) => ({
1651
- body: { linkedin_url: input.linkedin_url },
1652
- }),
1653
- hasResult: (data) => {
1654
- const d = data;
1655
- if (typeof d.email === 'string' && d.email.includes('@'))
1656
- return true;
1657
- if (Array.isArray(d.emails) && typeof d.emails[0] === 'string' && d.emails[0].includes('@'))
1658
- return true;
1659
- const nested = d.data;
1660
- if (nested && typeof nested.email === 'string' && nested.email.includes('@'))
1661
- return true;
1662
- return false;
1663
- },
1664
- isApplicable: (input) => typeof input.linkedin_url === 'string' && input.linkedin_url.length > 0,
1665
- },
1666
- {
1667
- id: 'linkupapi',
1668
- endpoint: '/linkupapi/data/mail/finder',
1669
- method: 'POST',
1670
- priority: 10,
1671
- mapParams: (input) => ({
1672
- body: {
1673
- first_name: input.first_name,
1674
- last_name: input.last_name,
1675
- company_name: input.company_name || input.domain,
1625
+ const d = data.data;
1626
+ return d?.is_complete === true || d?.status === 'failed';
1676
1627
  },
1677
- }),
1678
- hasResult: (data) => {
1679
- const d = data;
1680
- return typeof d.email === 'string' && d.email.includes('@');
1681
1628
  },
1682
1629
  },
1683
1630
  // Mirror of the API registry additions (validation/listing only — execution order and
@@ -1686,7 +1633,7 @@ const findEmailProviders = [
1686
1633
  id: 'apollo-people-match',
1687
1634
  endpoint: '/apollo/people/match',
1688
1635
  method: 'POST',
1689
- priority: 6,
1636
+ priority: 4,
1690
1637
  isApplicable: (input) => (typeof input.linkedin_url === 'string' && input.linkedin_url.length > 0) ||
1691
1638
  (!!input.first_name && !!input.last_name && !!(input.domain || input.company_name)),
1692
1639
  mapParams: (input) => ({
@@ -1708,29 +1655,6 @@ const findEmailProviders = [
1708
1655
  person?.email_status !== 'unavailable');
1709
1656
  },
1710
1657
  },
1711
- {
1712
- id: 'pdl-person-enrich',
1713
- endpoint: '/pdl/person/enrich',
1714
- method: 'POST',
1715
- priority: 9,
1716
- isApplicable: (input) => (typeof input.linkedin_url === 'string' && input.linkedin_url.length > 0) ||
1717
- (!!input.first_name && !!input.last_name && !!(input.domain || input.company_name)),
1718
- mapParams: (input) => ({
1719
- body: {
1720
- profile: input.linkedin_url,
1721
- first_name: input.first_name,
1722
- last_name: input.last_name,
1723
- company: input.company_name ?? input.domain,
1724
- },
1725
- }),
1726
- hasResult: (data) => {
1727
- const d = data;
1728
- if (d.status !== 200)
1729
- return false;
1730
- const rec = d.data;
1731
- return !!rec && typeof rec.work_email === 'string' && rec.work_email.includes('@');
1732
- },
1733
- },
1734
1658
  {
1735
1659
  id: 'leadmagic',
1736
1660
  endpoint: '/leadmagic/people/email-finder',