@clarvivo/mcp 0.1.1 → 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.
- package/README.md +49 -7
- package/dist/analytics.d.ts +67 -0
- package/dist/analytics.d.ts.map +1 -0
- package/dist/analytics.js +150 -0
- package/dist/analytics.js.map +1 -0
- package/dist/api.d.ts +88 -1
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +68 -5
- package/dist/api.js.map +1 -1
- package/dist/payments.d.ts +12 -0
- package/dist/payments.d.ts.map +1 -0
- package/dist/payments.js +131 -0
- package/dist/payments.js.map +1 -0
- package/dist/report.d.ts +3 -0
- package/dist/report.d.ts.map +1 -0
- package/dist/report.js +38 -0
- package/dist/report.js.map +1 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +92 -1
- package/dist/server.js.map +1 -1
- package/dist/tools.d.ts +51 -0
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +289 -8
- package/dist/tools.js.map +1 -1
- package/package.json +4 -4
package/dist/tools.js
CHANGED
|
@@ -1,17 +1,113 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
1
2
|
import path from "node:path";
|
|
2
|
-
import { HttpClarvivoApi, isAnalyticsLockout, isPlanLimit, payToReadMessage, planLimitMessage, requireToken, } from "./api.js";
|
|
3
|
+
import { ClarvivoApiError, HttpClarvivoApi, isAnalyticsLockout, isPlanLimit, exportPlanMessage, payToReadMessage, planLimitMessage, requireToken, } from "./api.js";
|
|
4
|
+
import { aggregateAudience, aggregatePages, aggregateTrafficSources } from "./analytics.js";
|
|
3
5
|
import { detectFramework, getInstallInstructions, normalizeFramework, } from "./frameworks.js";
|
|
6
|
+
import { detectRevenueProvider, normalizeProvider, revenueChecklist, signedRevenueSnippet, } from "./payments.js";
|
|
7
|
+
import { generateReportHtml } from "./report.js";
|
|
4
8
|
function success(data) {
|
|
5
9
|
return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }], structuredContent: data };
|
|
6
10
|
}
|
|
7
11
|
function failure(error, env, mode) {
|
|
8
|
-
const message =
|
|
9
|
-
?
|
|
10
|
-
: mode === "
|
|
11
|
-
?
|
|
12
|
-
:
|
|
12
|
+
const message = error instanceof ClarvivoApiError && error.code === "TOKEN_SCOPE_REQUIRED"
|
|
13
|
+
? `This tool needs the ${error.scope || "required"} scope. Open ${(env.CLARVIVO_BASE_URL || "https://app.clarvivo.com").replace(/\/$/, "")}/dashboard/settings?tab=api-tokens, add ${error.scope || "that scope"} to this API token (or create a token with it), then restart the MCP client and retry.`
|
|
14
|
+
: mode === "export" && error instanceof ClarvivoApiError && error.status === 403
|
|
15
|
+
? exportPlanMessage(env.CLARVIVO_BASE_URL)
|
|
16
|
+
: mode === "export" && isAnalyticsLockout(error)
|
|
17
|
+
? payToReadMessage(env.CLARVIVO_BASE_URL)
|
|
18
|
+
: mode === "project-limit" && isPlanLimit(error)
|
|
19
|
+
? planLimitMessage(env.CLARVIVO_BASE_URL)
|
|
20
|
+
: mode === "analytics-lockout" && isAnalyticsLockout(error)
|
|
21
|
+
? payToReadMessage(env.CLARVIVO_BASE_URL)
|
|
22
|
+
: error instanceof Error ? error.message : "Clarvivo request failed.";
|
|
13
23
|
return { content: [{ type: "text", text: message }], isError: true };
|
|
14
24
|
}
|
|
25
|
+
function reportingDays(input, fallback = 30) {
|
|
26
|
+
return Math.max(1, Math.min(90, Math.round(input ?? fallback)));
|
|
27
|
+
}
|
|
28
|
+
function exportPath(cwd, requested, projectId, extension) {
|
|
29
|
+
if (requested?.split(/[\\/]+/).includes("..")) {
|
|
30
|
+
throw new Error("Export path cannot contain '..' traversal.");
|
|
31
|
+
}
|
|
32
|
+
const safeProject = String(projectId).replace(/[^0-9A-Za-z_-]+/g, "-") || "project";
|
|
33
|
+
const date = new Date().toISOString().slice(0, 10);
|
|
34
|
+
let target = requested?.trim() || `clarvivo-export-${safeProject}-${date}.${extension}`;
|
|
35
|
+
if (extension === "html" && path.extname(target).toLowerCase() !== ".html") {
|
|
36
|
+
target = `${target.slice(0, target.length - path.extname(target).length)}.html`;
|
|
37
|
+
}
|
|
38
|
+
const resolvedCwd = path.resolve(cwd);
|
|
39
|
+
const resolved = path.resolve(resolvedCwd, target);
|
|
40
|
+
const relative = path.relative(resolvedCwd, resolved);
|
|
41
|
+
if (relative === ".." || relative.startsWith(`..${path.sep}`) || path.isAbsolute(relative)) {
|
|
42
|
+
throw new Error("Export path must stay inside the current working directory.");
|
|
43
|
+
}
|
|
44
|
+
return resolved;
|
|
45
|
+
}
|
|
46
|
+
function exportedRowCount(format, data) {
|
|
47
|
+
if (format === "csv") {
|
|
48
|
+
const lines = data.trimEnd().split(/\r?\n/);
|
|
49
|
+
return Math.max(0, lines.length - 1);
|
|
50
|
+
}
|
|
51
|
+
try {
|
|
52
|
+
const parsed = JSON.parse(data);
|
|
53
|
+
if (Array.isArray(parsed))
|
|
54
|
+
return parsed.length;
|
|
55
|
+
if (parsed && typeof parsed === "object") {
|
|
56
|
+
const record = parsed;
|
|
57
|
+
if (Number.isFinite(Number(record.rowCount)))
|
|
58
|
+
return Number(record.rowCount);
|
|
59
|
+
if (Array.isArray(record.rows))
|
|
60
|
+
return record.rows.length;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
catch {
|
|
64
|
+
// The successful HTTP response is still written verbatim; unknown shapes count as 0.
|
|
65
|
+
}
|
|
66
|
+
return 0;
|
|
67
|
+
}
|
|
68
|
+
function projectApiKey(projects, projectId) {
|
|
69
|
+
const project = projects.find((candidate) => String(candidate.id) === String(projectId));
|
|
70
|
+
if (!project)
|
|
71
|
+
throw new Error(`Project ${projectId} was not found.`);
|
|
72
|
+
return project.apiKey;
|
|
73
|
+
}
|
|
74
|
+
function relativeTime(value, now = Date.now()) {
|
|
75
|
+
if (!value)
|
|
76
|
+
return "never";
|
|
77
|
+
const elapsed = Math.max(0, now - new Date(value).getTime());
|
|
78
|
+
if (!Number.isFinite(elapsed))
|
|
79
|
+
return value;
|
|
80
|
+
const seconds = Math.round(elapsed / 1000);
|
|
81
|
+
if (seconds < 60)
|
|
82
|
+
return `${seconds}s ago`;
|
|
83
|
+
const minutes = Math.round(seconds / 60);
|
|
84
|
+
if (minutes < 60)
|
|
85
|
+
return `${minutes}m ago`;
|
|
86
|
+
const hours = Math.round(minutes / 60);
|
|
87
|
+
if (hours < 48)
|
|
88
|
+
return `${hours}h ago`;
|
|
89
|
+
return `${Math.round(hours / 24)}d ago`;
|
|
90
|
+
}
|
|
91
|
+
function knownPagePaths(rows) {
|
|
92
|
+
const paths = new Set();
|
|
93
|
+
for (const row of rows) {
|
|
94
|
+
for (const item of [...array(row.topPages), ...array(row.pageDetails)]) {
|
|
95
|
+
const value = item.path ?? item.page ?? item.url;
|
|
96
|
+
if (typeof value === "string")
|
|
97
|
+
paths.add(normalizePath(value));
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
return paths;
|
|
101
|
+
}
|
|
102
|
+
function normalizePath(value) {
|
|
103
|
+
try {
|
|
104
|
+
const parsed = new URL(value, "https://clarvivo.local");
|
|
105
|
+
return parsed.pathname.replace(/\/$/, "") || "/";
|
|
106
|
+
}
|
|
107
|
+
catch {
|
|
108
|
+
return value.trim().replace(/\/$/, "") || "/";
|
|
109
|
+
}
|
|
110
|
+
}
|
|
15
111
|
function canonicalDomain(input) {
|
|
16
112
|
const value = input.trim();
|
|
17
113
|
if (!value)
|
|
@@ -183,13 +279,198 @@ export function createToolHandlers(context = {}) {
|
|
|
183
279
|
try {
|
|
184
280
|
const api = resolveApi(context);
|
|
185
281
|
const days = Math.max(1, Math.min(90, Math.round(input.days ?? 7)));
|
|
186
|
-
const [rows, realtime] = await Promise.all([
|
|
187
|
-
|
|
282
|
+
const [rows, realtime, revenue] = await Promise.all([
|
|
283
|
+
api.getAnalytics(input.projectId, days),
|
|
284
|
+
api.getRealtime(input.projectId),
|
|
285
|
+
api.getRevenue(input.projectId),
|
|
286
|
+
]);
|
|
287
|
+
return success({
|
|
288
|
+
projectId: input.projectId,
|
|
289
|
+
...summarizeStats(rows, number(realtime.count), days),
|
|
290
|
+
revenue: {
|
|
291
|
+
total: number(revenue.totalRevenue),
|
|
292
|
+
events: number(revenue.eventCount),
|
|
293
|
+
average: number(revenue.averageAmount),
|
|
294
|
+
},
|
|
295
|
+
});
|
|
296
|
+
}
|
|
297
|
+
catch (error) {
|
|
298
|
+
return failure(error, env, "analytics-lockout");
|
|
299
|
+
}
|
|
300
|
+
},
|
|
301
|
+
getTrafficSources: async (input) => {
|
|
302
|
+
try {
|
|
303
|
+
const days = reportingDays(input.days);
|
|
304
|
+
const rows = await resolveApi(context).getAnalytics(input.projectId, days);
|
|
305
|
+
return success({ projectId: input.projectId, days, ...aggregateTrafficSources(rows) });
|
|
306
|
+
}
|
|
307
|
+
catch (error) {
|
|
308
|
+
return failure(error, env, "analytics-lockout");
|
|
309
|
+
}
|
|
310
|
+
},
|
|
311
|
+
getPages: async (input) => {
|
|
312
|
+
try {
|
|
313
|
+
const days = reportingDays(input.days);
|
|
314
|
+
const rows = await resolveApi(context).getAnalytics(input.projectId, days);
|
|
315
|
+
return success({ projectId: input.projectId, days, pages: aggregatePages(rows) });
|
|
188
316
|
}
|
|
189
317
|
catch (error) {
|
|
190
318
|
return failure(error, env, "analytics-lockout");
|
|
191
319
|
}
|
|
192
320
|
},
|
|
321
|
+
getAudience: async (input) => {
|
|
322
|
+
try {
|
|
323
|
+
const days = reportingDays(input.days);
|
|
324
|
+
const rows = await resolveApi(context).getAnalytics(input.projectId, days);
|
|
325
|
+
return success({ projectId: input.projectId, days, ...aggregateAudience(rows) });
|
|
326
|
+
}
|
|
327
|
+
catch (error) {
|
|
328
|
+
return failure(error, env, "analytics-lockout");
|
|
329
|
+
}
|
|
330
|
+
},
|
|
331
|
+
exportData: async (input) => {
|
|
332
|
+
try {
|
|
333
|
+
const api = resolveApi(context);
|
|
334
|
+
const days = reportingDays(input.days);
|
|
335
|
+
const extension = input.format === "pdf" ? "html" : input.format;
|
|
336
|
+
const writtenPath = exportPath(cwd, input.path, input.projectId, extension);
|
|
337
|
+
if (!input.overwrite && fs.existsSync(writtenPath)) {
|
|
338
|
+
throw new Error(`Refusing to overwrite existing file: ${writtenPath}. Pass overwrite: true to replace it.`);
|
|
339
|
+
}
|
|
340
|
+
let data;
|
|
341
|
+
let rowCount;
|
|
342
|
+
if (input.format === "pdf") {
|
|
343
|
+
const rows = await api.getAnalytics(input.projectId, days);
|
|
344
|
+
data = generateReportHtml(input.projectId, days, rows);
|
|
345
|
+
rowCount = rows.length;
|
|
346
|
+
}
|
|
347
|
+
else {
|
|
348
|
+
const download = await api.exportData(input.projectId, input.format, days);
|
|
349
|
+
data = download.data;
|
|
350
|
+
rowCount = exportedRowCount(input.format, data);
|
|
351
|
+
}
|
|
352
|
+
fs.writeFileSync(writtenPath, data, { encoding: "utf8", flag: input.overwrite ? "w" : "wx" });
|
|
353
|
+
const sizeBytes = Buffer.byteLength(data, "utf8");
|
|
354
|
+
return success({
|
|
355
|
+
projectId: input.projectId,
|
|
356
|
+
format: input.format,
|
|
357
|
+
path: writtenPath,
|
|
358
|
+
rowCount,
|
|
359
|
+
sizeBytes,
|
|
360
|
+
...(input.format === "pdf" ? { message: "Open this HTML report in a browser and use Print → Save as PDF." } : {}),
|
|
361
|
+
});
|
|
362
|
+
}
|
|
363
|
+
catch (error) {
|
|
364
|
+
return failure(error, env, "export");
|
|
365
|
+
}
|
|
366
|
+
},
|
|
367
|
+
connectRevenue: async (input) => {
|
|
368
|
+
try {
|
|
369
|
+
const api = resolveApi(context);
|
|
370
|
+
const detected = input.provider ? undefined : detectRevenueProvider(cwd);
|
|
371
|
+
const provider = input.provider ? normalizeProvider(input.provider) : detected?.provider;
|
|
372
|
+
if (!provider || provider === "custom") {
|
|
373
|
+
const apiKey = projectApiKey(await api.listProjects(), input.projectId);
|
|
374
|
+
return success({
|
|
375
|
+
projectId: input.projectId,
|
|
376
|
+
provider: "custom",
|
|
377
|
+
message: "No supported payment SDK was detected. Copy the ingest signing secret from Clarvivo Dashboard → Settings → Integrations into the server-only CLARVIVO_INGEST_SECRET environment variable, then use this signed revenue POST. Never run it in the browser or paste the secret into a tool call.",
|
|
378
|
+
snippet: signedRevenueSnippet(apiKey, baseUrl(context)),
|
|
379
|
+
attribution: "Pass clv_vid from browser localStorage to this server-side code as visitor_id. That is what makes revenue-by-channel work.",
|
|
380
|
+
});
|
|
381
|
+
}
|
|
382
|
+
const connection = await api.connectRevenue(input.projectId, provider);
|
|
383
|
+
const checklist = revenueChecklist(provider, connection.webhookUrl, cwd);
|
|
384
|
+
return success({
|
|
385
|
+
projectId: input.projectId,
|
|
386
|
+
provider,
|
|
387
|
+
detectedFrom: detected?.packageName,
|
|
388
|
+
connected: true,
|
|
389
|
+
secretConfigured: connection.secretConfigured,
|
|
390
|
+
checklist,
|
|
391
|
+
numberedChecklist: checklist.map((item, index) => `${index + 1}. ${item}`).join("\n\n"),
|
|
392
|
+
});
|
|
393
|
+
}
|
|
394
|
+
catch (error) {
|
|
395
|
+
return failure(error, env);
|
|
396
|
+
}
|
|
397
|
+
},
|
|
398
|
+
verifyRevenue: async (input) => {
|
|
399
|
+
try {
|
|
400
|
+
const status = await resolveApi(context).getRevenueStatus(input.projectId);
|
|
401
|
+
const share = status.attributedShare == null ? 0 : Math.round(status.attributedShare * 100);
|
|
402
|
+
const provider = status.lastSource || Object.entries(status.connected).find(([, connected]) => connected)?.[0] || "revenue";
|
|
403
|
+
const summary = `${status.eventsReceived.toLocaleString("en-US")} events from ${provider}, last ${relativeTime(status.lastEventAt)}, ${share}% attributed.`;
|
|
404
|
+
const warning = status.eventsReceived > 0 && share === 0
|
|
405
|
+
? "Revenue is arriving, but the attribution edit is missing. Add clv_vid and UTM fields to checkout creation so revenue-by-channel works."
|
|
406
|
+
: undefined;
|
|
407
|
+
return success({ projectId: input.projectId, ...status, attributedPercent: share, summary, ...(warning ? { warning } : {}) });
|
|
408
|
+
}
|
|
409
|
+
catch (error) {
|
|
410
|
+
return failure(error, env);
|
|
411
|
+
}
|
|
412
|
+
},
|
|
413
|
+
addEvent: async (input) => {
|
|
414
|
+
try {
|
|
415
|
+
const event = await resolveApi(context).createEvent(input.projectId, {
|
|
416
|
+
name: input.name,
|
|
417
|
+
type: input.type,
|
|
418
|
+
...(input.url ? { url: input.url } : {}),
|
|
419
|
+
...(input.value !== undefined ? { value: input.value } : {}),
|
|
420
|
+
});
|
|
421
|
+
const properties = input.value === undefined ? "{}" : `{ value: ${input.value} }`;
|
|
422
|
+
const where = input.where?.trim() || (input.type === "form_submit" || input.type === "signup"
|
|
423
|
+
? "the successful submit handler, after the server confirms success"
|
|
424
|
+
: input.type === "click" ? "the click handler for the intended control" : "the handler where this action succeeds");
|
|
425
|
+
return success({
|
|
426
|
+
projectId: input.projectId,
|
|
427
|
+
event,
|
|
428
|
+
proposedEdit: `window.clarvivo.trackEvent(${JSON.stringify(input.name)}, ${properties});`,
|
|
429
|
+
placement: `Add the proposed call in ${where}. This tool registered the event in Clarvivo; it did not edit your files.`,
|
|
430
|
+
sdk: "window.clarvivo also exposes trackConversion(value, currency) and trackPurchase(...).",
|
|
431
|
+
});
|
|
432
|
+
}
|
|
433
|
+
catch (error) {
|
|
434
|
+
return failure(error, env);
|
|
435
|
+
}
|
|
436
|
+
},
|
|
437
|
+
listFunnels: async (input) => {
|
|
438
|
+
try {
|
|
439
|
+
const funnels = await resolveApi(context).listFunnels(input.projectId);
|
|
440
|
+
return success({ projectId: input.projectId, funnels, count: funnels.length });
|
|
441
|
+
}
|
|
442
|
+
catch (error) {
|
|
443
|
+
return failure(error, env);
|
|
444
|
+
}
|
|
445
|
+
},
|
|
446
|
+
createFunnel: async (input) => {
|
|
447
|
+
try {
|
|
448
|
+
const api = resolveApi(context);
|
|
449
|
+
const existing = (await api.listFunnels(input.projectId)).find((funnel) => funnel.name.trim().toLowerCase() === input.name.trim().toLowerCase());
|
|
450
|
+
const ordered = input.steps.map((step, index) => ({ ...step, order: index + 1 }));
|
|
451
|
+
const funnel = existing ?? await api.createFunnel(input.projectId, { name: input.name, steps: ordered });
|
|
452
|
+
const rows = await api.getAnalytics(input.projectId, 90).catch(() => []);
|
|
453
|
+
const pages = knownPagePaths(rows);
|
|
454
|
+
const missingSteps = (existing?.steps ?? ordered)
|
|
455
|
+
.filter((step) => !pages.has(normalizePath(step.url)))
|
|
456
|
+
.map(({ name, url }) => ({ name, url, guidance: "No matching tracked page is visible yet; visit this deployed page or register a matching event." }));
|
|
457
|
+
return success({ projectId: input.projectId, funnel, reusedExistingFunnel: Boolean(existing), missingSteps });
|
|
458
|
+
}
|
|
459
|
+
catch (error) {
|
|
460
|
+
return failure(error, env);
|
|
461
|
+
}
|
|
462
|
+
},
|
|
463
|
+
createAlert: async (input) => {
|
|
464
|
+
try {
|
|
465
|
+
const api = resolveApi(context);
|
|
466
|
+
const existing = (await api.listAlerts(input.projectId)).find((alert) => alert.type === input.type);
|
|
467
|
+
const alert = existing ?? await api.createAlert(input.projectId, { type: input.type, threshold: input.threshold });
|
|
468
|
+
return success({ projectId: input.projectId, alert, reusedExistingAlert: Boolean(existing) });
|
|
469
|
+
}
|
|
470
|
+
catch (error) {
|
|
471
|
+
return failure(error, env);
|
|
472
|
+
}
|
|
473
|
+
},
|
|
193
474
|
};
|
|
194
475
|
}
|
|
195
476
|
export function workingDirectoryLabel(cwd = process.cwd()) {
|
package/dist/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@clarvivo/mcp",
|
|
3
|
-
"
|
|
4
|
-
"
|
|
3
|
+
"mcpName": "io.github.cracked-collective/clarvivo-mcp",
|
|
4
|
+
"version": "0.3.0",
|
|
5
|
+
"description": "Install Clarvivo analytics, connect payments, and manage events, funnels, and alerts from your coding agent.",
|
|
5
6
|
"type": "module",
|
|
6
7
|
"bin": {
|
|
7
8
|
"clarvivo-mcp": "dist/index.js"
|
|
@@ -40,6 +41,5 @@
|
|
|
40
41
|
"@types/node": "^22.18.0",
|
|
41
42
|
"typescript": "^5.9.2",
|
|
42
43
|
"vitest": "^3.2.4"
|
|
43
|
-
}
|
|
44
|
-
"mcpName": "io.github.cracked-collective/clarvivo-mcp"
|
|
44
|
+
}
|
|
45
45
|
}
|