@cognilead/mcp-server 0.1.0 → 0.3.0

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.
Files changed (105) hide show
  1. package/README.md +27 -15
  2. package/dist/api-client.d.ts +3 -1
  3. package/dist/api-client.d.ts.map +1 -1
  4. package/dist/api-client.js +8 -2
  5. package/dist/api-client.js.map +1 -1
  6. package/dist/auth.js +1 -1
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +127 -12
  9. package/dist/index.js.map +1 -1
  10. package/dist/prompts.d.ts +24 -0
  11. package/dist/prompts.d.ts.map +1 -0
  12. package/dist/prompts.js +99 -0
  13. package/dist/prompts.js.map +1 -0
  14. package/dist/rate-limit.d.ts.map +1 -1
  15. package/dist/rate-limit.js +0 -1
  16. package/dist/rate-limit.js.map +1 -1
  17. package/dist/resources.d.ts +15 -0
  18. package/dist/resources.d.ts.map +1 -0
  19. package/dist/resources.js +75 -0
  20. package/dist/resources.js.map +1 -0
  21. package/dist/schemas.d.ts +152 -49
  22. package/dist/schemas.d.ts.map +1 -1
  23. package/dist/schemas.js +98 -20
  24. package/dist/schemas.js.map +1 -1
  25. package/dist/tools/check-deliverability.d.ts +2 -0
  26. package/dist/tools/check-deliverability.d.ts.map +1 -0
  27. package/dist/tools/check-deliverability.js +165 -0
  28. package/dist/tools/check-deliverability.js.map +1 -0
  29. package/dist/tools/create-topup-link.d.ts +2 -0
  30. package/dist/tools/create-topup-link.d.ts.map +1 -0
  31. package/dist/tools/create-topup-link.js +15 -0
  32. package/dist/tools/create-topup-link.js.map +1 -0
  33. package/dist/tools/get-billing-usage.d.ts +2 -0
  34. package/dist/tools/get-billing-usage.d.ts.map +1 -0
  35. package/dist/tools/get-billing-usage.js +12 -0
  36. package/dist/tools/get-billing-usage.js.map +1 -0
  37. package/dist/tools/get-deliverability.d.ts +2 -0
  38. package/dist/tools/get-deliverability.d.ts.map +1 -0
  39. package/dist/tools/get-deliverability.js +12 -0
  40. package/dist/tools/get-deliverability.js.map +1 -0
  41. package/dist/tools/get-subscription.d.ts +2 -0
  42. package/dist/tools/get-subscription.d.ts.map +1 -0
  43. package/dist/tools/get-subscription.js +12 -0
  44. package/dist/tools/get-subscription.js.map +1 -0
  45. package/dist/tools/health.d.ts +2 -0
  46. package/dist/tools/health.d.ts.map +1 -0
  47. package/dist/tools/health.js +12 -0
  48. package/dist/tools/health.js.map +1 -0
  49. package/dist/tools/ingest-lead.js +1 -1
  50. package/dist/tools/ingest-lead.js.map +1 -1
  51. package/dist/tools/list-api-keys.d.ts +2 -0
  52. package/dist/tools/list-api-keys.d.ts.map +1 -0
  53. package/dist/tools/list-api-keys.js +13 -0
  54. package/dist/tools/list-api-keys.js.map +1 -0
  55. package/dist/tools/list-leads.d.ts +2 -0
  56. package/dist/tools/list-leads.d.ts.map +1 -0
  57. package/dist/tools/list-leads.js +19 -0
  58. package/dist/tools/list-leads.js.map +1 -0
  59. package/dist/tools/list-sends.d.ts +2 -0
  60. package/dist/tools/list-sends.d.ts.map +1 -0
  61. package/dist/tools/list-sends.js +18 -0
  62. package/dist/tools/list-sends.js.map +1 -0
  63. package/dist/tools/list-suppressions.d.ts +2 -0
  64. package/dist/tools/list-suppressions.d.ts.map +1 -0
  65. package/dist/tools/list-suppressions.js +19 -0
  66. package/dist/tools/list-suppressions.js.map +1 -0
  67. package/dist/tools/list-webhooks.d.ts +2 -0
  68. package/dist/tools/list-webhooks.d.ts.map +1 -0
  69. package/dist/tools/list-webhooks.js +12 -0
  70. package/dist/tools/list-webhooks.js.map +1 -0
  71. package/dist/tools/run-campaign.d.ts.map +1 -1
  72. package/dist/tools/run-campaign.js +8 -2
  73. package/dist/tools/run-campaign.js.map +1 -1
  74. package/dist/tools/score-signal.d.ts.map +1 -1
  75. package/dist/tools/score-signal.js +0 -1
  76. package/dist/tools/score-signal.js.map +1 -1
  77. package/package.json +4 -3
  78. package/dist/tools/check-registry-flags.d.ts +0 -2
  79. package/dist/tools/check-registry-flags.d.ts.map +0 -1
  80. package/dist/tools/check-registry-flags.js +0 -31
  81. package/dist/tools/check-registry-flags.js.map +0 -1
  82. package/dist/tools/evidence-export.d.ts +0 -7
  83. package/dist/tools/evidence-export.d.ts.map +0 -1
  84. package/dist/tools/evidence-export.js +0 -42
  85. package/dist/tools/evidence-export.js.map +0 -1
  86. package/dist/tools/find-companies-with-triggers.d.ts +0 -2
  87. package/dist/tools/find-companies-with-triggers.d.ts.map +0 -1
  88. package/dist/tools/find-companies-with-triggers.js +0 -29
  89. package/dist/tools/find-companies-with-triggers.js.map +0 -1
  90. package/dist/tools/generate-seo-content.d.ts +0 -2
  91. package/dist/tools/generate-seo-content.d.ts.map +0 -1
  92. package/dist/tools/generate-seo-content.js +0 -14
  93. package/dist/tools/generate-seo-content.js.map +0 -1
  94. package/dist/tools/get-business-sheet.d.ts +0 -2
  95. package/dist/tools/get-business-sheet.d.ts.map +0 -1
  96. package/dist/tools/get-business-sheet.js +0 -24
  97. package/dist/tools/get-business-sheet.js.map +0 -1
  98. package/dist/tools/rank-companies-in-vertical.d.ts +0 -2
  99. package/dist/tools/rank-companies-in-vertical.d.ts.map +0 -1
  100. package/dist/tools/rank-companies-in-vertical.js +0 -33
  101. package/dist/tools/rank-companies-in-vertical.js.map +0 -1
  102. package/dist/tools/score-dd-risk.d.ts +0 -2
  103. package/dist/tools/score-dd-risk.d.ts.map +0 -1
  104. package/dist/tools/score-dd-risk.js +0 -22
  105. package/dist/tools/score-dd-risk.js.map +0 -1
@@ -1,31 +0,0 @@
1
- // cognilead.check_registry_flags — free, 50/day.
2
- //
3
- // Cross-jurisdiction registry lookup waterfall: Zefix (CH) →
4
- // Companies House (UK) → OpenCorporates (everywhere else). Returns the
5
- // first match. No personal data — only company-level corporate records.
6
- import { consumeFreeQuota } from '../rate-limit.js';
7
- import { lookupAny } from '../../../../lib/pipeline/ingestion/universe/registries.js';
8
- const TOOL = 'cognilead.check_registry_flags';
9
- export async function checkRegistryFlags(input) {
10
- consumeFreeQuota(TOOL);
11
- const { company_name, jurisdictions } = (input ?? {});
12
- if (!company_name)
13
- throw new Error('company_name is required');
14
- const jurs = Array.isArray(jurisdictions) && jurisdictions.length > 0 ? jurisdictions : ['CH', 'GB'];
15
- const record = await lookupAny(company_name, jurs);
16
- if (!record) {
17
- return { found: false, company_name, tried_jurisdictions: jurs };
18
- }
19
- return {
20
- found: true,
21
- company_name: record.company_name,
22
- jurisdiction: record.jurisdiction,
23
- status: record.status,
24
- registered_at: record.registered_at,
25
- registration_number: record.registration_number,
26
- officers: record.officers.slice(0, 10),
27
- insolvency_flag: record.insolvency_flag,
28
- source: record.source,
29
- };
30
- }
31
- //# sourceMappingURL=check-registry-flags.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"check-registry-flags.js","sourceRoot":"","sources":["../../src/tools/check-registry-flags.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,EAAE;AACF,6DAA6D;AAC7D,uEAAuE;AACvE,wEAAwE;AAExE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,2DAA2D,CAAA;AAErF,MAAM,IAAI,GAAG,gCAAgC,CAAA;AAE7C,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,KAAc;IACrD,gBAAgB,CAAC,IAAI,CAAC,CAAA;IACtB,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE,CAGnD,CAAA;IACD,IAAI,CAAC,YAAY;QAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;IAC9D,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IACpG,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;IAClD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAA;IAClE,CAAC;IACD,OAAO;QACL,KAAK,EAAE,IAAI;QACX,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;QAC/C,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QACtC,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,MAAM,EAAE,MAAM,CAAC,MAAM;KACtB,CAAA;AACH,CAAC"}
@@ -1,7 +0,0 @@
1
- export interface EvidencePdfResult {
2
- format: 'pdf';
3
- download_url: string;
4
- expires_at: string;
5
- }
6
- export declare function evidenceExport(rawInput: unknown): Promise<unknown | EvidencePdfResult>;
7
- //# sourceMappingURL=evidence-export.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"evidence-export.d.ts","sourceRoot":"","sources":["../../src/tools/evidence-export.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,KAAK,CAAA;IACb,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,wBAAsB,cAAc,CAClC,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,OAAO,GAAG,iBAAiB,CAAC,CAgCtC"}
@@ -1,42 +0,0 @@
1
- // cognilead.evidence_export — gated, Growth+ tier.
2
- //
3
- // GET ${COGNILEAD_API_URL}/api/v1/evidence/:lead_id (json)
4
- // GET ${COGNILEAD_API_URL}/api/v1/evidence/:lead_id/pdf (pdf)
5
- //
6
- // For format=pdf the API responds with a signed S3-style download URL +
7
- // expiry. We never stream raw PDF bytes back over MCP — they'd blow up
8
- // the IDE transcript and bypass the audit log on the customer side.
9
- import { EvidenceExportInput } from '../schemas.js';
10
- import { apiGet } from '../api-client.js';
11
- import { assertGatedAccess } from '../auth.js';
12
- export async function evidenceExport(rawInput) {
13
- assertGatedAccess();
14
- const input = EvidenceExportInput.parse(rawInput);
15
- const base = `/api/v1/evidence/${encodeURIComponent(input.lead_id)}`;
16
- const path = input.format === 'pdf' ? `${base}/pdf` : base;
17
- try {
18
- const data = (await apiGet(path));
19
- if (input.format === 'pdf' && data && typeof data === 'object') {
20
- // Force-shape the response so the IDE sees the canonical fields even
21
- // if the API adds extra metadata.
22
- const result = {
23
- format: 'pdf',
24
- download_url: String(data.download_url ?? data.url ?? ''),
25
- expires_at: String(data.expires_at ?? ''),
26
- };
27
- if (!result.download_url) {
28
- throw new Error('API did not return a download_url for the PDF export');
29
- }
30
- return result;
31
- }
32
- return data;
33
- }
34
- catch (e) {
35
- const err = e;
36
- if (err.status === 402 || err.status === 403) {
37
- throw new Error(`evidence_export requires the Growth tier or higher. ${err.message ?? ''}`.trim());
38
- }
39
- throw e;
40
- }
41
- }
42
- //# sourceMappingURL=evidence-export.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"evidence-export.js","sourceRoot":"","sources":["../../src/tools/evidence-export.ts"],"names":[],"mappings":"AAAA,mDAAmD;AACnD,EAAE;AACF,kEAAkE;AAClE,iEAAiE;AACjE,EAAE;AACF,wEAAwE;AACxE,uEAAuE;AACvE,oEAAoE;AAEpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAQ9C,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,QAAiB;IAEjB,iBAAiB,EAAE,CAAA;IACnB,MAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IAEjD,MAAM,IAAI,GAAG,oBAAoB,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAA;IACpE,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA;IAE1D,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,CAAmC,CAAA;QACnE,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC/D,qEAAqE;YACrE,kCAAkC;YAClC,MAAM,MAAM,GAAsB;gBAChC,MAAM,EAAE,KAAK;gBACb,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;gBACzD,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;aAC1C,CAAA;YACD,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;YACzE,CAAC;YACD,OAAO,MAAM,CAAA;QACf,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,GAAG,GAAG,CAA0C,CAAA;QACtD,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CACb,uDAAuD,GAAG,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAClF,CAAA;QACH,CAAC;QACD,MAAM,CAAC,CAAA;IACT,CAAC;AACH,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare function findCompaniesWithTriggers(input: unknown): Promise<unknown>;
2
- //# sourceMappingURL=find-companies-with-triggers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"find-companies-with-triggers.d.ts","sourceRoot":"","sources":["../../src/tools/find-companies-with-triggers.ts"],"names":[],"mappings":"AAYA,wBAAsB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAmBhF"}
@@ -1,29 +0,0 @@
1
- // cognilead.find_companies_with_triggers — gated.
2
- //
3
- // Compound trigger query: companies that have ≥ min_distinct_classes of
4
- // the requested signal classes within a recency window, scoped to a list
5
- // of geographies and (optionally) ICP keywords.
6
- //
7
- // Calls the hosted API which runs the SQL over the companies + signals
8
- // tables. The query plan lives at /app/api/v1/intel/triggers/route.ts.
9
- import { McpAuthError } from '../auth.js';
10
- import { loadConfig } from '../config.js';
11
- export async function findCompaniesWithTriggers(input) {
12
- const cfg = loadConfig();
13
- if (!cfg.apiKey) {
14
- throw new McpAuthError('cognilead.find_companies_with_triggers requires a CogniLead API key.');
15
- }
16
- const res = await fetch(`${cfg.apiUrl}/v1/intel/triggers`, {
17
- method: 'POST',
18
- headers: {
19
- authorization: `Bearer ${cfg.apiKey}`,
20
- 'content-type': 'application/json',
21
- },
22
- body: JSON.stringify(input ?? {}),
23
- });
24
- if (!res.ok) {
25
- throw new Error(`triggers ${res.status}: ${await res.text().catch(() => '')}`);
26
- }
27
- return res.json();
28
- }
29
- //# sourceMappingURL=find-companies-with-triggers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"find-companies-with-triggers.js","sourceRoot":"","sources":["../../src/tools/find-companies-with-triggers.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,EAAE;AACF,wEAAwE;AACxE,yEAAyE;AACzE,gDAAgD;AAChD,EAAE;AACF,uEAAuE;AACvE,uEAAuE;AAEvE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,KAAc;IAC5D,MAAM,GAAG,GAAG,UAAU,EAAE,CAAA;IACxB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QAChB,MAAM,IAAI,YAAY,CACpB,sEAAsE,CACvE,CAAA;IACH,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,GAAG,CAAC,MAAM,oBAAoB,EAAE;QACzD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,GAAG,CAAC,MAAM,EAAE;YACrC,cAAc,EAAE,kBAAkB;SACnC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;KAClC,CAAC,CAAA;IACF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,YAAY,GAAG,CAAC,MAAM,KAAK,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;IAChF,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,EAAE,CAAA;AACnB,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare function generateSeoContent(rawInput: unknown): Promise<unknown>;
2
- //# sourceMappingURL=generate-seo-content.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate-seo-content.d.ts","sourceRoot":"","sources":["../../src/tools/generate-seo-content.ts"],"names":[],"mappings":"AAUA,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAI5E"}
@@ -1,14 +0,0 @@
1
- // cognilead.generate_seo_content — gated.
2
- //
3
- // POSTs to ${COGNILEAD_API_URL}/api/v1/seo/generate with Bearer auth.
4
- // Generates an SEO blog/landing page or on-page recommendations via
5
- // phi-cloud. Returns the API response verbatim.
6
- import { GenerateSeoContentInput } from '../schemas.js';
7
- import { apiPost } from '../api-client.js';
8
- import { assertGatedAccess } from '../auth.js';
9
- export async function generateSeoContent(rawInput) {
10
- assertGatedAccess();
11
- const input = GenerateSeoContentInput.parse(rawInput);
12
- return apiPost('/api/v1/seo/generate', input);
13
- }
14
- //# sourceMappingURL=generate-seo-content.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate-seo-content.js","sourceRoot":"","sources":["../../src/tools/generate-seo-content.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,gDAAgD;AAEhD,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAA;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAE9C,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,QAAiB;IACxD,iBAAiB,EAAE,CAAA;IACnB,MAAM,KAAK,GAAG,uBAAuB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IACrD,OAAO,OAAO,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAA;AAC/C,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare function getBusinessSheet(input: unknown): Promise<unknown>;
2
- //# sourceMappingURL=get-business-sheet.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-business-sheet.d.ts","sourceRoot":"","sources":["../../src/tools/get-business-sheet.ts"],"names":[],"mappings":"AAQA,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAiBvE"}
@@ -1,24 +0,0 @@
1
- // cognilead.get_business_sheet — gated.
2
- //
3
- // Returns the cached business sheet for a domain, or triggers a fresh
4
- // build (Tier-2 scrape) when none exists / cache expired.
5
- import { McpAuthError } from '../auth.js';
6
- import { loadConfig } from '../config.js';
7
- export async function getBusinessSheet(input) {
8
- const { domain, force_rebuild } = (input ?? {});
9
- if (!domain)
10
- throw new Error('domain is required');
11
- const cfg = loadConfig();
12
- if (!cfg.apiKey) {
13
- throw new McpAuthError('cognilead.get_business_sheet requires a CogniLead API key. Set COGNILEAD_API_KEY.');
14
- }
15
- const qs = force_rebuild ? '?force=1' : '';
16
- const res = await fetch(`${cfg.apiUrl}/v1/intel/business-sheet/${encodeURIComponent(domain)}${qs}`, {
17
- headers: { authorization: `Bearer ${cfg.apiKey}` },
18
- });
19
- if (!res.ok) {
20
- throw new Error(`business-sheet ${res.status}: ${await res.text().catch(() => '')}`);
21
- }
22
- return res.json();
23
- }
24
- //# sourceMappingURL=get-business-sheet.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-business-sheet.js","sourceRoot":"","sources":["../../src/tools/get-business-sheet.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,EAAE;AACF,sEAAsE;AACtE,0DAA0D;AAE1D,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAAc;IACnD,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE,CAAiD,CAAA;IAC/F,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;IAClD,MAAM,GAAG,GAAG,UAAU,EAAE,CAAA;IACxB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QAChB,MAAM,IAAI,YAAY,CACpB,mFAAmF,CACpF,CAAA;IACH,CAAC;IACD,MAAM,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAA;IAC1C,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,GAAG,CAAC,MAAM,4BAA4B,kBAAkB,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,EAAE;QAClG,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,GAAG,CAAC,MAAM,EAAE,EAAE;KACnD,CAAC,CAAA;IACF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,kBAAkB,GAAG,CAAC,MAAM,KAAK,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;IACtF,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,EAAE,CAAA;AACnB,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare function rankCompaniesInVertical(input: unknown): Promise<unknown>;
2
- //# sourceMappingURL=rank-companies-in-vertical.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rank-companies-in-vertical.d.ts","sourceRoot":"","sources":["../../src/tools/rank-companies-in-vertical.ts"],"names":[],"mappings":"AA+BA,wBAAsB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAoB9E"}
@@ -1,33 +0,0 @@
1
- // cognilead.rank_companies_in_vertical — gated.
2
- //
3
- // The keystone tool. Given a vertical description, geographies, and axis
4
- // weights, returns a ranked list of companies with per-axis evidence.
5
- //
6
- // Universe: ~8M global companies discovered via Common Crawl + HTTP Archive
7
- // + CT logs + national registries. Coverage skews US/UK/DACH (~85%) >
8
- // JP/KR (~60%) > CN/IN (~50%). Per-field confidence sourced from Mapr.
9
- //
10
- // Tier-2 business sheets (per-company structured profile) are built lazily
11
- // on first query and cached 90 days.
12
- import { McpAuthError } from '../auth.js';
13
- import { loadConfig } from '../config.js';
14
- export async function rankCompaniesInVertical(input) {
15
- const cfg = loadConfig();
16
- if (!cfg.apiKey) {
17
- throw new McpAuthError('cognilead.rank_companies_in_vertical requires a CogniLead API key. Set COGNILEAD_API_KEY.');
18
- }
19
- const body = JSON.stringify(input);
20
- const res = await fetch(`${cfg.apiUrl}/v1/intel/rank`, {
21
- method: 'POST',
22
- headers: {
23
- authorization: `Bearer ${cfg.apiKey}`,
24
- 'content-type': 'application/json',
25
- },
26
- body,
27
- });
28
- if (!res.ok) {
29
- throw new Error(`rank ${res.status}: ${await res.text().catch(() => '')}`);
30
- }
31
- return res.json();
32
- }
33
- //# sourceMappingURL=rank-companies-in-vertical.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rank-companies-in-vertical.js","sourceRoot":"","sources":["../../src/tools/rank-companies-in-vertical.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,EAAE;AACF,yEAAyE;AACzE,sEAAsE;AACtE,EAAE;AACF,4EAA4E;AAC5E,sEAAsE;AACtE,uEAAuE;AACvE,EAAE;AACF,2EAA2E;AAC3E,qCAAqC;AAErC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAkBzC,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,KAAc;IAC1D,MAAM,GAAG,GAAG,UAAU,EAAE,CAAA;IACxB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QAChB,MAAM,IAAI,YAAY,CACpB,2FAA2F,CAC5F,CAAA;IACH,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAkB,CAAC,CAAA;IAC/C,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,GAAG,CAAC,MAAM,gBAAgB,EAAE;QACrD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,GAAG,CAAC,MAAM,EAAE;YACrC,cAAc,EAAE,kBAAkB;SACnC;QACD,IAAI;KACL,CAAC,CAAA;IACF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,QAAQ,GAAG,CAAC,MAAM,KAAK,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;IAC5E,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,EAAE,CAAA;AACnB,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare function scoreDdRisk(input: unknown): Promise<unknown>;
2
- //# sourceMappingURL=score-dd-risk.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"score-dd-risk.d.ts","sourceRoot":"","sources":["../../src/tools/score-dd-risk.ts"],"names":[],"mappings":"AAQA,wBAAsB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAclE"}
@@ -1,22 +0,0 @@
1
- // cognilead.score_dd_risk — gated.
2
- //
3
- // Single-company structured DD risk score. Deterministic synthesis over
4
- // business sheet + registry + signals.
5
- import { McpAuthError } from '../auth.js';
6
- import { loadConfig } from '../config.js';
7
- export async function scoreDdRisk(input) {
8
- const { domain } = (input ?? {});
9
- if (!domain)
10
- throw new Error('domain is required');
11
- const cfg = loadConfig();
12
- if (!cfg.apiKey) {
13
- throw new McpAuthError('cognilead.score_dd_risk requires a CogniLead API key. Set COGNILEAD_API_KEY.');
14
- }
15
- const res = await fetch(`${cfg.apiUrl}/v1/intel/dd-risk/${encodeURIComponent(domain)}`, {
16
- headers: { authorization: `Bearer ${cfg.apiKey}` },
17
- });
18
- if (!res.ok)
19
- throw new Error(`dd-risk ${res.status}: ${await res.text().catch(() => '')}`);
20
- return res.json();
21
- }
22
- //# sourceMappingURL=score-dd-risk.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"score-dd-risk.js","sourceRoot":"","sources":["../../src/tools/score-dd-risk.ts"],"names":[],"mappings":"AAAA,mCAAmC;AACnC,EAAE;AACF,wEAAwE;AACxE,uCAAuC;AAEvC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAAc;IAC9C,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE,CAAwB,CAAA;IACvD,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;IAClD,MAAM,GAAG,GAAG,UAAU,EAAE,CAAA;IACxB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QAChB,MAAM,IAAI,YAAY,CACpB,8EAA8E,CAC/E,CAAA;IACH,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,GAAG,CAAC,MAAM,qBAAqB,kBAAkB,CAAC,MAAM,CAAC,EAAE,EAAE;QACtF,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,GAAG,CAAC,MAAM,EAAE,EAAE;KACnD,CAAC,CAAA;IACF,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,WAAW,GAAG,CAAC,MAAM,KAAK,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;IAC1F,OAAO,GAAG,CAAC,IAAI,EAAE,CAAA;AACnB,CAAC"}