@barivia/barsom-mcp 0.2.5 → 0.2.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.
- package/README.md +8 -6
- package/dist/index.d.ts +1 -1
- package/dist/index.js +331 -204
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @barivia/barsom-mcp
|
|
2
2
|
|
|
3
|
-
MCP proxy for the Barivia Analytics Engine -- connects any stdio MCP client (Cursor, Claude Desktop, etc.) to the barSOM cloud API.
|
|
3
|
+
MCP proxy for the Barivia Analytics Engine -- connects any stdio MCP client (Cursor, Claude Desktop, etc.) to the barSOM cloud API. 13 tools covering the full data analysis lifecycle: upload, preview, train, analyze, compare, and export.
|
|
4
4
|
|
|
5
5
|
## Installation
|
|
6
6
|
|
|
@@ -32,16 +32,14 @@ This is the standard pattern for MCP servers distributed as npm packages (same a
|
|
|
32
32
|
|
|
33
33
|
Legacy `BARSOM_API_KEY` / `BARSOM_API_URL` are also accepted as fallbacks.
|
|
34
34
|
|
|
35
|
-
## Tools (
|
|
35
|
+
## Tools (13)
|
|
36
36
|
|
|
37
37
|
### Data Management
|
|
38
38
|
|
|
39
39
|
| Tool | Description |
|
|
40
40
|
|---|---|
|
|
41
|
-
| `
|
|
41
|
+
| `datasets` | upload: add CSV; preview: inspect columns/stats/samples before train_som; subset: create subset by row_range or filter; delete: remove dataset |
|
|
42
42
|
| `list` | List datasets (type=datasets) or jobs (type=jobs; optional dataset_id filter) |
|
|
43
|
-
| `preview_dataset` | Inspect columns, statistics, sample rows, detect datetime columns, suggest temporal features |
|
|
44
|
-
| `delete_dataset` | Delete dataset and S3 artifacts |
|
|
45
43
|
|
|
46
44
|
### Training Lifecycle
|
|
47
45
|
|
|
@@ -55,7 +53,7 @@ Legacy `BARSOM_API_KEY` / `BARSOM_API_URL` are also accepted as fallbacks.
|
|
|
55
53
|
|
|
56
54
|
| Tool | Description |
|
|
57
55
|
|---|---|
|
|
58
|
-
| `get_results` | Download results with inline images and quality metrics |
|
|
56
|
+
| `get_results` | Download results with inline images and quality metrics; use figures to request specific plots (e.g. figures: ["umatrix"] or figures: "all") |
|
|
59
57
|
| `get_job_export` | Export training_log (learning curves), weights (weight matrix + node_coords), or nodes (per-node statistics) |
|
|
60
58
|
|
|
61
59
|
### Analysis (10 types via `analyze`)
|
|
@@ -96,6 +94,10 @@ When adding or refining tools, follow [MCP best practices](https://modelcontextp
|
|
|
96
94
|
- **Explicit parameter descriptions** — Each parameter should describe format, constraints, and when to use it
|
|
97
95
|
- **Bounded capability** — Focused tools with specific contracts; prefer narrow, testable actions over broad ones
|
|
98
96
|
|
|
97
|
+
## Data preparation
|
|
98
|
+
|
|
99
|
+
To train on a subset of your data (e.g. first 2000 rows, or rows where region=Europe) without re-uploading: use **datasets(action=subset)** with `row_range` and/or `filter` to create a new dataset, then **train_som** on the new dataset_id; or pass **row_range** in **train_som** params for a one-off training slice.
|
|
100
|
+
|
|
99
101
|
## How It Works
|
|
100
102
|
|
|
101
103
|
The proxy implements the MCP stdio transport locally and translates tool calls into REST API requests to the Barivia backend. Results are returned as rich MCP content with text summaries, inline base64 images, and resource links.
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* BARIVIA_API_URL as environment variables.
|
|
8
8
|
*
|
|
9
9
|
* Usage (in MCP client config, e.g. Cursor / Claude Desktop):
|
|
10
|
-
|
|
10
|
+
|
|
11
11
|
* {
|
|
12
12
|
* "mcpServers": {
|
|
13
13
|
* "analytics-engine": {
|
|
@@ -263,64 +263,142 @@ registerAppTool(server, "explore_som", {
|
|
|
263
263
|
await tryAttachImage(content, job_id, `combined.${imgExt}`);
|
|
264
264
|
return { content };
|
|
265
265
|
});
|
|
266
|
-
// ----
|
|
267
|
-
server.tool("
|
|
268
|
-
|
|
269
|
-
PREFER file_path over csv_data: when the user points to a local file, use file_path.
|
|
270
|
-
The MCP reads the file directly — no need to pass large CSV strings through the LLM.
|
|
271
|
-
|
|
272
|
-
BEST FOR: Tabular data with numeric columns (sensor readings, financial data, process
|
|
273
|
-
measurements, survey results). CSV with header row required.
|
|
274
|
-
NOT FOR: Images, text documents, or pre-trained embeddings.
|
|
266
|
+
// ---- datasets ----
|
|
267
|
+
server.tool("datasets", `Manage datasets: upload, preview, subset, or delete.
|
|
275
268
|
|
|
276
|
-
|
|
269
|
+
action=upload: Upload a CSV for SOM analysis. Prefer file_path over csv_data so the MCP reads the file directly. Returns dataset ID and metadata. Then use datasets(action=preview) before train_som.
|
|
270
|
+
action=preview: Show columns, stats, sample rows, cyclic/datetime detections. ALWAYS preview before train_som on an unfamiliar dataset.
|
|
271
|
+
action=subset: Create a new dataset from a subset of an existing one (by row range and/or column filter). Use to train on a slice (e.g. first 2000 rows, or region=Europe) without re-uploading. Requires name and at least one of row_range or filter. row_range: [start, end] 1-based inclusive. filter: { column, op, value } with op in eq, in, gt, lt, gte, lte.
|
|
272
|
+
action=delete: Remove a dataset and free the slot.
|
|
277
273
|
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
Show the column names from the response so the user can identify features.
|
|
291
|
-
TIP: Use the prepare_training prompt for a structured preprocessing checklist.`, {
|
|
292
|
-
name: z.string().describe("Human-readable dataset name"),
|
|
293
|
-
file_path: z
|
|
294
|
-
.string()
|
|
274
|
+
BEST FOR: Tabular numeric data. CSV with header required. Use list(type=datasets) to see existing datasets. To train on a subset, use datasets(action=subset) then train_som on the new dataset_id, or pass row_range in train_som params.`, {
|
|
275
|
+
action: z
|
|
276
|
+
.enum(["upload", "preview", "subset", "delete"])
|
|
277
|
+
.describe("upload: add a CSV; preview: inspect before training; subset: create subset dataset; delete: remove dataset"),
|
|
278
|
+
name: z.string().optional().describe("Dataset name (required for action=upload and subset)"),
|
|
279
|
+
file_path: z.string().optional().describe("Path to local CSV (for upload; prefer over csv_data)"),
|
|
280
|
+
csv_data: z.string().optional().describe("Inline CSV string (for upload; use for small data)"),
|
|
281
|
+
dataset_id: z.string().optional().describe("Dataset ID (required for preview, subset, and delete)"),
|
|
282
|
+
n_rows: z.number().int().optional().default(5).describe("Sample rows to return (preview only)"),
|
|
283
|
+
row_range: z
|
|
284
|
+
.tuple([z.number().int(), z.number().int()])
|
|
295
285
|
.optional()
|
|
296
|
-
.describe("
|
|
297
|
-
|
|
298
|
-
.
|
|
286
|
+
.describe("For subset: [start, end] 1-based inclusive row range (e.g. [1, 2000])"),
|
|
287
|
+
filter: z
|
|
288
|
+
.object({
|
|
289
|
+
column: z.string(),
|
|
290
|
+
op: z.enum(["eq", "in", "gt", "lt", "gte", "lte"]),
|
|
291
|
+
value: z.union([z.string(), z.number(), z.array(z.union([z.string(), z.number()]))]),
|
|
292
|
+
})
|
|
299
293
|
.optional()
|
|
300
|
-
.describe("
|
|
301
|
-
}, async ({ name, file_path, csv_data }) => {
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
294
|
+
.describe("For subset: filter rows by column value (e.g. { column: 'region', op: 'eq', value: 'Europe' })"),
|
|
295
|
+
}, async ({ action, name, file_path, csv_data, dataset_id, n_rows, row_range, filter }) => {
|
|
296
|
+
if (action === "upload") {
|
|
297
|
+
if (!name)
|
|
298
|
+
throw new Error("datasets(upload) requires name");
|
|
299
|
+
let body;
|
|
300
|
+
if (file_path) {
|
|
301
|
+
const resolved = path.resolve(file_path);
|
|
302
|
+
try {
|
|
303
|
+
body = await fs.readFile(resolved, "utf-8");
|
|
304
|
+
}
|
|
305
|
+
catch (err) {
|
|
306
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
307
|
+
throw new Error(`Cannot read file "${resolved}": ${msg}`);
|
|
308
|
+
}
|
|
307
309
|
}
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
310
|
+
else if (csv_data && csv_data.length > 0) {
|
|
311
|
+
body = csv_data;
|
|
312
|
+
}
|
|
313
|
+
else {
|
|
314
|
+
throw new Error("datasets(upload) requires file_path or csv_data");
|
|
311
315
|
}
|
|
316
|
+
const data = await apiCall("POST", "/v1/datasets", body, {
|
|
317
|
+
"X-Dataset-Name": name,
|
|
318
|
+
"Content-Type": "text/csv",
|
|
319
|
+
});
|
|
320
|
+
return textResult(data);
|
|
312
321
|
}
|
|
313
|
-
|
|
314
|
-
|
|
322
|
+
if (action === "preview") {
|
|
323
|
+
if (!dataset_id)
|
|
324
|
+
throw new Error("datasets(preview) requires dataset_id");
|
|
325
|
+
const data = (await apiCall("GET", `/v1/datasets/${dataset_id}/preview?n_rows=${n_rows ?? 5}`));
|
|
326
|
+
const cols = data.columns ?? [];
|
|
327
|
+
const stats = data.column_stats ?? [];
|
|
328
|
+
const hints = data.cyclic_hints ?? [];
|
|
329
|
+
const samples = data.sample_rows ?? [];
|
|
330
|
+
const dtCols = data.datetime_columns ?? [];
|
|
331
|
+
const temporalSugg = data.temporal_suggestions ?? [];
|
|
332
|
+
const fmt = (v) => v === null || v === undefined ? "—" : Number(v).toFixed(3);
|
|
333
|
+
const lines = [
|
|
334
|
+
`Dataset: ${data.name} (${data.dataset_id})`,
|
|
335
|
+
`${data.total_rows} rows × ${data.total_cols} columns`,
|
|
336
|
+
``,
|
|
337
|
+
`Column Statistics:`,
|
|
338
|
+
`| Column | Min | Max | Mean | Std | Nulls | Numeric |`,
|
|
339
|
+
`|--------|-----|-----|------|-----|-------|---------|`,
|
|
340
|
+
];
|
|
341
|
+
for (const s of stats) {
|
|
342
|
+
lines.push(`| ${s.column} | ${fmt(s.min)} | ${fmt(s.max)} | ${fmt(s.mean)} | ${fmt(s.std)} | ${s.null_count ?? 0} | ${s.is_numeric !== false ? "yes" : "no"} |`);
|
|
343
|
+
}
|
|
344
|
+
if (hints.length > 0) {
|
|
345
|
+
lines.push(``, `Detected Cyclic Feature Hints:`);
|
|
346
|
+
for (const h of hints) {
|
|
347
|
+
lines.push(` • ${h.column} — period=${h.period} (${h.reason})`);
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
if (dtCols.length > 0) {
|
|
351
|
+
lines.push(``, `Detected Datetime Columns:`);
|
|
352
|
+
for (const dc of dtCols) {
|
|
353
|
+
const formats = dc.detected_formats ?? [];
|
|
354
|
+
const fmtStrs = formats
|
|
355
|
+
.map((f) => `${f.format} — ${f.description} (${(f.match_rate * 100).toFixed(0)}% match)`)
|
|
356
|
+
.join("; ");
|
|
357
|
+
lines.push(` • ${dc.column}: sample="${dc.sample}" → ${fmtStrs}`);
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
if (temporalSugg.length > 0) {
|
|
361
|
+
lines.push(``, `Temporal Feature Suggestions (require user approval):`);
|
|
362
|
+
for (const ts of temporalSugg) {
|
|
363
|
+
lines.push(` • Columns: ${ts.columns.join(" + ")} → format: "${ts.format}"`);
|
|
364
|
+
lines.push(` Available components: ${ts.available_components.join(", ")}`);
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
if (samples.length > 0) {
|
|
368
|
+
lines.push(``, `Sample Rows (first ${samples.length}):`);
|
|
369
|
+
lines.push(`| ${cols.join(" | ")} |`);
|
|
370
|
+
lines.push(`| ${cols.map(() => "---").join(" | ")} |`);
|
|
371
|
+
for (const row of samples) {
|
|
372
|
+
lines.push(`| ${cols.map((c) => String(row[c] ?? "")).join(" | ")} |`);
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
return { content: [{ type: "text", text: lines.join("\n") }] };
|
|
376
|
+
}
|
|
377
|
+
if (action === "subset") {
|
|
378
|
+
if (!dataset_id)
|
|
379
|
+
throw new Error("datasets(subset) requires dataset_id");
|
|
380
|
+
if (!name)
|
|
381
|
+
throw new Error("datasets(subset) requires name");
|
|
382
|
+
if (row_range === undefined && filter === undefined) {
|
|
383
|
+
throw new Error("datasets(subset) requires at least one of row_range or filter");
|
|
384
|
+
}
|
|
385
|
+
const body = { name };
|
|
386
|
+
if (row_range !== undefined)
|
|
387
|
+
body.row_range = row_range;
|
|
388
|
+
if (filter !== undefined)
|
|
389
|
+
body.filter = filter;
|
|
390
|
+
const data = await apiCall("POST", `/v1/datasets/${dataset_id}/subset`, JSON.stringify(body), {
|
|
391
|
+
"Content-Type": "application/json",
|
|
392
|
+
});
|
|
393
|
+
return textResult(data);
|
|
315
394
|
}
|
|
316
|
-
|
|
317
|
-
|
|
395
|
+
if (action === "delete") {
|
|
396
|
+
if (!dataset_id)
|
|
397
|
+
throw new Error("datasets(delete) requires dataset_id");
|
|
398
|
+
const data = await apiCall("DELETE", `/v1/datasets/${dataset_id}`);
|
|
399
|
+
return textResult(data);
|
|
318
400
|
}
|
|
319
|
-
|
|
320
|
-
"X-Dataset-Name": name,
|
|
321
|
-
"Content-Type": "text/csv",
|
|
322
|
-
});
|
|
323
|
-
return textResult(data);
|
|
401
|
+
throw new Error("Invalid action");
|
|
324
402
|
});
|
|
325
403
|
// ---- train_som ----
|
|
326
404
|
server.tool("train_som", `Train a Self-Organizing Map on the dataset. Returns a job_id for polling.
|
|
@@ -343,11 +421,11 @@ BEFORE calling, ask the user:
|
|
|
343
421
|
5. Quick exploration or refined map?
|
|
344
422
|
|
|
345
423
|
PRESET TABLE:
|
|
346
|
-
| preset | grid | epochs
|
|
347
|
-
| quick | 15x15 | [
|
|
348
|
-
| standard | 25x25 | [
|
|
349
|
-
| refined | 40x40 | [
|
|
350
|
-
| high_res | 60x60 | [
|
|
424
|
+
| preset | grid | epochs | batch_size |
|
|
425
|
+
| quick | 15x15 | [15, 5] | 48 |
|
|
426
|
+
| standard | 25x25 | [30, 15] | 48 |
|
|
427
|
+
| refined | 40x40 | [50, 25] | 32 |
|
|
428
|
+
| high_res | 60x60 | [60, 40] | 32 |
|
|
351
429
|
|
|
352
430
|
TRAINING PHASES:
|
|
353
431
|
- Ordering: large neighborhoods → global structure. sigma_f controls end-radius (default 1.0).
|
|
@@ -356,7 +434,7 @@ TRAINING PHASES:
|
|
|
356
434
|
|
|
357
435
|
TRANSFORMS: Per-column preprocessing before normalization.
|
|
358
436
|
transforms: {revenue: "log", volume: "log1p", pressure: "sqrt"}
|
|
359
|
-
Suggest when
|
|
437
|
+
Suggest when datasets(action=preview) shows large value ranges or right-skewed distributions.
|
|
360
438
|
|
|
361
439
|
TEMPORAL FEATURES: NEVER auto-apply. Always ask which components to extract.
|
|
362
440
|
temporal_features: [{columns: ['Date'], format: 'dd.mm.yyyy', extract: ['day_of_year'], cyclic: true}]
|
|
@@ -375,20 +453,20 @@ COMMON MISTAKES:
|
|
|
375
453
|
QUALITY TARGETS: QE < 1.5 good, TE < 0.05 good, explained variance > 0.8 good.
|
|
376
454
|
If QE > 2 → more epochs or larger grid. If TE > 0.15 → larger grid or periodic=true.
|
|
377
455
|
|
|
378
|
-
OUTPUT: format (png/pdf/svg), dpi (standard/retina/print), colormap (viridis
|
|
456
|
+
OUTPUT: format (png/pdf/svg), dpi (standard/retina/print), colormap (e.g. viridis, plasma, inferno, magma, cividis, turbo, coolwarm, RdBu, Spectral).
|
|
379
457
|
|
|
380
458
|
After training, use get_results → analyze(clusters) → component_planes → feature_correlation.
|
|
381
459
|
See docs/SOM_PROCESS_AND_BEST_PRACTICES.md for detailed processual knowledge.`, {
|
|
382
|
-
dataset_id: z.string().describe("Dataset ID from
|
|
460
|
+
dataset_id: z.string().describe("Dataset ID from datasets(action=upload) or list(type=datasets)"),
|
|
383
461
|
preset: z
|
|
384
462
|
.enum(["quick", "standard", "refined", "high_res"])
|
|
385
463
|
.optional()
|
|
386
464
|
.describe("Training preset — sets sensible defaults for grid, epochs, and batch_size. " +
|
|
387
465
|
"Explicit params override preset values. " +
|
|
388
|
-
"quick: 15×15, [
|
|
389
|
-
"standard: 25×25, [
|
|
390
|
-
"refined: 40×40, [
|
|
391
|
-
"high_res: 60×60, [
|
|
466
|
+
"quick: 15×15, [15,5], batch=48. " +
|
|
467
|
+
"standard: 25×25, [30,15], batch=48, best with GPU. " +
|
|
468
|
+
"refined: 40×40, [50,25], batch=32, best with GPU. " +
|
|
469
|
+
"high_res: 60×60, [60,40], batch=32, best with GPU."),
|
|
392
470
|
grid_x: z
|
|
393
471
|
.number()
|
|
394
472
|
.int()
|
|
@@ -529,13 +607,17 @@ See docs/SOM_PROCESS_AND_BEST_PRACTICES.md for detailed processual knowledge.`,
|
|
|
529
607
|
colormap: z
|
|
530
608
|
.string()
|
|
531
609
|
.optional()
|
|
532
|
-
.describe("Override default colormap for component planes
|
|
533
|
-
|
|
610
|
+
.describe("Override default colormap for component planes and hit histogram. Examples: viridis, plasma, inferno, magma, cividis, turbo, thermal, hot, coolwarm, balance, RdBu, Spectral. U-matrix always uses grays, cyclic features use twilight."),
|
|
611
|
+
row_range: z
|
|
612
|
+
.tuple([z.number().int().min(1), z.number().int().min(1)])
|
|
613
|
+
.optional()
|
|
614
|
+
.describe("Train on a subset of rows only: [start, end] 1-based inclusive. Alternative to creating a subset dataset with datasets(action=subset)."),
|
|
615
|
+
}, async ({ dataset_id, preset, grid_x, grid_y, epochs, model, periodic, columns, transforms, cyclic_features, temporal_features, feature_weights, normalize, sigma_f, learning_rate, batch_size, backend, output_format, output_dpi, colormap, row_range, }) => {
|
|
534
616
|
const PRESETS = {
|
|
535
|
-
quick: { grid: [15, 15], epochs: [
|
|
536
|
-
standard: { grid: [25, 25], epochs: [
|
|
537
|
-
refined: { grid: [40, 40], epochs: [
|
|
538
|
-
high_res: { grid: [60, 60], epochs: [
|
|
617
|
+
quick: { grid: [15, 15], epochs: [15, 5], batch_size: 48 },
|
|
618
|
+
standard: { grid: [25, 25], epochs: [30, 15], batch_size: 48, backend: "cuda" },
|
|
619
|
+
refined: { grid: [40, 40], epochs: [50, 25], batch_size: 32, backend: "cuda" },
|
|
620
|
+
high_res: { grid: [60, 60], epochs: [60, 40], batch_size: 32, backend: "cuda" },
|
|
539
621
|
};
|
|
540
622
|
const p = preset ? PRESETS[preset] : undefined;
|
|
541
623
|
const params = {
|
|
@@ -598,6 +680,9 @@ See docs/SOM_PROCESS_AND_BEST_PRACTICES.md for detailed processual knowledge.`,
|
|
|
598
680
|
if (colormap) {
|
|
599
681
|
params.colormap = colormap;
|
|
600
682
|
}
|
|
683
|
+
if (row_range && row_range.length >= 2 && row_range[0] <= row_range[1]) {
|
|
684
|
+
params.row_range = row_range;
|
|
685
|
+
}
|
|
601
686
|
const data = await apiCall("POST", "/v1/jobs", { dataset_id, params });
|
|
602
687
|
return textResult(data);
|
|
603
688
|
});
|
|
@@ -624,6 +709,59 @@ When status is 'failed', show the error to the user and suggest parameter adjust
|
|
|
624
709
|
}
|
|
625
710
|
return { content: [{ type: "text", text }] };
|
|
626
711
|
});
|
|
712
|
+
/** Resolve get_results figures param to list of image filenames to fetch. */
|
|
713
|
+
function getResultsImagesToFetch(jobType, summary, figures, includeIndividual) {
|
|
714
|
+
const ext = summary.output_format ?? "png";
|
|
715
|
+
if (jobType === "transition_flow") {
|
|
716
|
+
const lag = summary.lag ?? 1;
|
|
717
|
+
return [`transition_flow_lag${lag}.${ext}`];
|
|
718
|
+
}
|
|
719
|
+
if (jobType === "project_variable") {
|
|
720
|
+
const varName = summary.variable_name ?? "variable";
|
|
721
|
+
const safe = String(varName).replace(/[^a-zA-Z0-9_]/g, "_");
|
|
722
|
+
return [`projected_${safe}.${ext}`];
|
|
723
|
+
}
|
|
724
|
+
if (jobType === "derive_variable") {
|
|
725
|
+
const varName = summary.variable_name ?? "variable";
|
|
726
|
+
const safe = String(varName).replace(/[^a-zA-Z0-9_]/g, "_");
|
|
727
|
+
return [`projected_${safe}.${ext}`];
|
|
728
|
+
}
|
|
729
|
+
// train_som
|
|
730
|
+
const features = summary.features ?? [];
|
|
731
|
+
const combinedName = `combined.${ext}`;
|
|
732
|
+
const umatrixName = `umatrix.${ext}`;
|
|
733
|
+
const hitHistName = `hit_histogram.${ext}`;
|
|
734
|
+
const componentNames = features.map((f, i) => `component_${i + 1}_${f.replace(/[^a-zA-Z0-9_]/g, "_")}.${ext}`);
|
|
735
|
+
const allList = [combinedName, umatrixName, hitHistName, ...componentNames];
|
|
736
|
+
if (figures === undefined || figures === "default") {
|
|
737
|
+
return includeIndividual ? allList : [combinedName];
|
|
738
|
+
}
|
|
739
|
+
if (figures === "combined_only")
|
|
740
|
+
return [combinedName];
|
|
741
|
+
if (figures === "all")
|
|
742
|
+
return allList;
|
|
743
|
+
if (Array.isArray(figures)) {
|
|
744
|
+
const nameToFile = {
|
|
745
|
+
combined: combinedName,
|
|
746
|
+
umatrix: umatrixName,
|
|
747
|
+
hit_histogram: hitHistName,
|
|
748
|
+
};
|
|
749
|
+
features.forEach((_, i) => {
|
|
750
|
+
nameToFile[`component_${i + 1}`] = componentNames[i];
|
|
751
|
+
});
|
|
752
|
+
return figures
|
|
753
|
+
.map((key) => {
|
|
754
|
+
const k = key.trim().toLowerCase();
|
|
755
|
+
if (nameToFile[k])
|
|
756
|
+
return nameToFile[k];
|
|
757
|
+
if (key.includes("."))
|
|
758
|
+
return key;
|
|
759
|
+
return null;
|
|
760
|
+
})
|
|
761
|
+
.filter((f) => f != null);
|
|
762
|
+
}
|
|
763
|
+
return [combinedName];
|
|
764
|
+
}
|
|
627
765
|
// ---- get_results ----
|
|
628
766
|
server.tool("get_results", `Retrieve results of a completed SOM training, projection, or derived variable job.
|
|
629
767
|
|
|
@@ -635,8 +773,12 @@ Returns: text summary with metrics and inline images (combined view and all plot
|
|
|
635
773
|
DOWNLOAD LINKS: Links to API-domain or presigned URLs may not work when clicked (MCP holds the API key, not the browser). Images are inlined. For weights use get_job_export(export="weights"); for node stats use get_job_export(export="nodes"). If the user wants to save a file, offer to fetch via the appropriate tool.
|
|
636
774
|
|
|
637
775
|
OPTIONS:
|
|
638
|
-
-
|
|
639
|
-
|
|
776
|
+
- figures: request specific plots only. Omit for default (combined only; or all if include_individual=true).
|
|
777
|
+
- "combined_only": only the combined view.
|
|
778
|
+
- "all": combined + umatrix + hit_histogram + all component planes.
|
|
779
|
+
- Array of logical names: e.g. figures: ["umatrix"] for just the U-matrix, or figures: ["combined","hit_histogram"] or ["combined","umatrix","component_1","component_2"]. Logical names: combined, umatrix, hit_histogram, component_1, component_2, ... (component_N = Nth feature).
|
|
780
|
+
- include_individual=true: when figures is omitted, shows each component plane, U-matrix, and hit histogram
|
|
781
|
+
as separate inline images. Ignored when figures is set.
|
|
640
782
|
|
|
641
783
|
AFTER showing results, guide the user:
|
|
642
784
|
1. "The U-matrix shows [N] distinct regions. Does this match expected groupings?"
|
|
@@ -647,6 +789,7 @@ AFTER showing results, guide the user:
|
|
|
647
789
|
6. If explained variance < 0.7: suggest transforms, feature selection, or more training
|
|
648
790
|
|
|
649
791
|
WORKFLOW: get_results → analyze(clusters) → component_planes → feature_correlation.
|
|
792
|
+
Request specific figures with get_results(job_id, figures=[...]) (e.g. figures: ["umatrix"] or figures: ["combined","hit_histogram"]) or run analyze(job_id, analysis_type) for a single view.
|
|
650
793
|
Use get_job_export(export="training_log") for the learning curve (QE vs epoch — healthy=steady decline then plateau).
|
|
651
794
|
Use analyze(job_id, "quality_report") for extended metrics (trustworthiness, neighborhood preservation).
|
|
652
795
|
|
|
@@ -655,12 +798,19 @@ METRIC INTERPRETATION:
|
|
|
655
798
|
- TE < 0.05: good topology. TE > 0.15: grid too small.
|
|
656
799
|
- Explained variance > 0.8: good. < 0.7: try transforms, fewer features, or more training.`, {
|
|
657
800
|
job_id: z.string().describe("Job ID of a completed job"),
|
|
801
|
+
figures: z
|
|
802
|
+
.union([
|
|
803
|
+
z.enum(["default", "combined_only", "all"]),
|
|
804
|
+
z.array(z.string()),
|
|
805
|
+
])
|
|
806
|
+
.optional()
|
|
807
|
+
.describe("Which figures to return. Omit or 'default' for combined only (or all if include_individual=true). 'combined_only': just combined view. 'all': combined + umatrix + hit_histogram + all component planes. Or array of logical names: combined, umatrix, hit_histogram, component_1, component_2, ..."),
|
|
658
808
|
include_individual: z
|
|
659
809
|
.boolean()
|
|
660
810
|
.optional()
|
|
661
811
|
.default(false)
|
|
662
|
-
.describe("If true, inline each individual plot (component planes, u-matrix, hit histogram)
|
|
663
|
-
}, async ({ job_id, include_individual }) => {
|
|
812
|
+
.describe("If true and figures is omitted, inline each individual plot (component planes, u-matrix, hit histogram). Ignored when figures is set."),
|
|
813
|
+
}, async ({ job_id, figures, include_individual }) => {
|
|
664
814
|
const data = (await apiCall("GET", `/v1/results/${job_id}`));
|
|
665
815
|
const summary = (data.summary ?? {});
|
|
666
816
|
const downloadUrls = (data.download_urls ?? {});
|
|
@@ -691,8 +841,10 @@ METRIC INTERPRETATION:
|
|
|
691
841
|
`Use transition_flow(lag=N) with larger N to reveal longer-term temporal structure.`,
|
|
692
842
|
].join("\n"),
|
|
693
843
|
});
|
|
694
|
-
|
|
695
|
-
|
|
844
|
+
for (const name of getResultsImagesToFetch(jobType, summary, figures, include_individual)) {
|
|
845
|
+
await tryAttachImage(content, job_id, name);
|
|
846
|
+
inlinedImages.add(name);
|
|
847
|
+
}
|
|
696
848
|
}
|
|
697
849
|
else if (jobType === "project_variable") {
|
|
698
850
|
const varName = summary.variable_name ?? "variable";
|
|
@@ -715,8 +867,10 @@ METRIC INTERPRETATION:
|
|
|
715
867
|
`learned feature space, even if it wasn't used in training.`,
|
|
716
868
|
].join("\n"),
|
|
717
869
|
});
|
|
718
|
-
|
|
719
|
-
|
|
870
|
+
for (const name of getResultsImagesToFetch(jobType, summary, figures, include_individual)) {
|
|
871
|
+
await tryAttachImage(content, job_id, name);
|
|
872
|
+
inlinedImages.add(name);
|
|
873
|
+
}
|
|
720
874
|
}
|
|
721
875
|
else {
|
|
722
876
|
// ── Default: train_som results ──────────────────────────────────────────
|
|
@@ -764,28 +918,10 @@ METRIC INTERPRETATION:
|
|
|
764
918
|
.join("\n");
|
|
765
919
|
content.push({ type: "text", text: textSummary });
|
|
766
920
|
const imgExt = summary.output_format ?? "png";
|
|
767
|
-
const
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
const feats = summary.features ?? [];
|
|
772
|
-
const imageNames = [
|
|
773
|
-
`umatrix.${imgExt}`,
|
|
774
|
-
`hit_histogram.${imgExt}`,
|
|
775
|
-
...feats.map((f, i) => `component_${i + 1}_${f.replace(/[^a-zA-Z0-9_]/g, "_")}.${imgExt}`),
|
|
776
|
-
];
|
|
777
|
-
const results = await Promise.allSettled(imageNames.map((name) => apiRawCall(`/v1/results/${job_id}/image/${name}`).then((r) => ({ name, ...r }))));
|
|
778
|
-
for (const r of results) {
|
|
779
|
-
if (r.status === "fulfilled") {
|
|
780
|
-
content.push({
|
|
781
|
-
type: "image",
|
|
782
|
-
data: r.value.data.toString("base64"),
|
|
783
|
-
mimeType: mimeForFilename(r.value.name),
|
|
784
|
-
annotations: { audience: ["user"], priority: 0.8 },
|
|
785
|
-
});
|
|
786
|
-
inlinedImages.add(r.value.name);
|
|
787
|
-
}
|
|
788
|
-
}
|
|
921
|
+
const imagesToFetch = getResultsImagesToFetch(jobType, summary, figures, include_individual);
|
|
922
|
+
for (const name of imagesToFetch) {
|
|
923
|
+
await tryAttachImage(content, job_id, name);
|
|
924
|
+
inlinedImages.add(name);
|
|
789
925
|
}
|
|
790
926
|
}
|
|
791
927
|
// Inline remaining image files; for JSON provide tool hints (no clickable URLs — auth required)
|
|
@@ -808,10 +944,103 @@ METRIC INTERPRETATION:
|
|
|
808
944
|
}
|
|
809
945
|
}
|
|
810
946
|
}
|
|
947
|
+
// List available artifacts so the LLM can offer to fetch specific views
|
|
948
|
+
if (files.length > 0) {
|
|
949
|
+
const features = summary.features ?? [];
|
|
950
|
+
const logicalNames = jobType === "train_som"
|
|
951
|
+
? `Logical names: combined, umatrix, hit_histogram, ${features.map((_, i) => `component_${i + 1}`).join(", ")}. `
|
|
952
|
+
: "";
|
|
953
|
+
content.push({
|
|
954
|
+
type: "text",
|
|
955
|
+
text: `Available to fetch individually: ${files.join(", ")}. ${logicalNames}Use get_results(job_id, figures=[...]) to request specific plots, get_results(job_id, include_individual=true) or figures="all" to inline all plots, or analyze(job_id, analysis_type) for a specific view (u_matrix, component_planes, bmu_hits, clusters, quality_report, etc.).`,
|
|
956
|
+
});
|
|
957
|
+
}
|
|
958
|
+
return { content };
|
|
959
|
+
});
|
|
960
|
+
// ---- recolor_som ----
|
|
961
|
+
server.tool("recolor_som", `Re-render a completed SOM result with a different colormap — no retraining.
|
|
962
|
+
|
|
963
|
+
Use when the user wants to see the same combined (or other) plot with another color scheme (e.g. plasma, inferno, coolwarm). Submits a short render job; when complete, use get_results(new_job_id) or get_result_image to retrieve the recolored figure(s).
|
|
964
|
+
|
|
965
|
+
Colormaps: e.g. viridis, plasma, inferno, magma, cividis, turbo, thermal, hot, coolwarm, balance, RdBu, Spectral. U-matrix and cyclic panels keep fixed colormaps (grays, twilight).`, {
|
|
966
|
+
job_id: z.string().describe("Job ID of a completed SOM training job (parent)"),
|
|
967
|
+
colormap: z.string().describe("Colormap name (e.g. viridis, plasma, inferno, magma, coolwarm)"),
|
|
968
|
+
figures: z
|
|
969
|
+
.array(z.string())
|
|
970
|
+
.optional()
|
|
971
|
+
.default(["combined"])
|
|
972
|
+
.describe("Which figures to re-render: combined (default), umatrix, hit_histogram, component_1, component_2, ..."),
|
|
973
|
+
output_format: z.enum(["png", "pdf", "svg"]).optional().default("png"),
|
|
974
|
+
output_dpi: z.number().int().min(1).max(4).optional().default(2),
|
|
975
|
+
}, async ({ job_id, colormap, figures, output_format, output_dpi }) => {
|
|
976
|
+
const body = { colormap, figures, output_format, output_dpi };
|
|
977
|
+
const data = (await apiCall("POST", `/v1/results/${job_id}/render`, JSON.stringify(body), {
|
|
978
|
+
"Content-Type": "application/json",
|
|
979
|
+
}));
|
|
980
|
+
const newJobId = data.id;
|
|
981
|
+
const content = [
|
|
982
|
+
{
|
|
983
|
+
type: "text",
|
|
984
|
+
text: [
|
|
985
|
+
`Re-render job submitted with colormap "${colormap}".`,
|
|
986
|
+
`New job_id: ${newJobId}. Poll get_job_status(job_id="${newJobId}") until status is 'completed', then use get_results(job_id="${newJobId}") or get_result_image to retrieve the recolored plot(s). No retraining was performed.`,
|
|
987
|
+
].join("\n"),
|
|
988
|
+
},
|
|
989
|
+
];
|
|
811
990
|
return { content };
|
|
812
991
|
});
|
|
992
|
+
// ---- download_results ----
|
|
993
|
+
server.tool("download_results", `Save result figures (and optionally JSON) to a folder on disk. Use so the user can open, share, or version files locally without writing their own download script.
|
|
994
|
+
|
|
995
|
+
folder: path to the directory (e.g. "." for current/workspace, "./results", or absolute path). In Cursor, the process cwd is typically the project root.
|
|
996
|
+
figures: "all" (default) = all image files from the job; "images" = same; or an array of filenames e.g. ["combined.png", "umatrix.png"].
|
|
997
|
+
include_json: if true, also save summary.json (and other JSON artifacts) into the same folder.`, {
|
|
998
|
+
job_id: z.string().describe("Job ID of a completed job"),
|
|
999
|
+
folder: z.string().describe("Directory path to save files (e.g. '.' or './results'). Relative paths are relative to process cwd (usually project root)."),
|
|
1000
|
+
figures: z
|
|
1001
|
+
.union([z.enum(["all", "images"]), z.array(z.string())])
|
|
1002
|
+
.optional()
|
|
1003
|
+
.default("all")
|
|
1004
|
+
.describe("Which files to download: 'all' (default) or 'images' for all image files, or array of filenames e.g. ['combined.png', 'umatrix.png']"),
|
|
1005
|
+
include_json: z.boolean().optional().default(false).describe("If true, also download summary.json and other JSON files"),
|
|
1006
|
+
}, async ({ job_id, folder, figures, include_json }) => {
|
|
1007
|
+
const data = (await apiCall("GET", `/v1/results/${job_id}`));
|
|
1008
|
+
const summary = (data.summary ?? {});
|
|
1009
|
+
const files = summary.files ?? [];
|
|
1010
|
+
const isImage = (f) => f.endsWith(".png") || f.endsWith(".svg") || f.endsWith(".pdf");
|
|
1011
|
+
const isJson = (f) => f.endsWith(".json");
|
|
1012
|
+
let toDownload;
|
|
1013
|
+
if (figures === "all" || figures === "images") {
|
|
1014
|
+
toDownload = include_json ? files : files.filter(isImage);
|
|
1015
|
+
}
|
|
1016
|
+
else {
|
|
1017
|
+
toDownload = figures;
|
|
1018
|
+
if (include_json && !toDownload.includes("summary.json")) {
|
|
1019
|
+
toDownload = [...toDownload, "summary.json"];
|
|
1020
|
+
}
|
|
1021
|
+
}
|
|
1022
|
+
const resolvedDir = path.resolve(folder);
|
|
1023
|
+
await fs.mkdir(resolvedDir, { recursive: true });
|
|
1024
|
+
const saved = [];
|
|
1025
|
+
for (const filename of toDownload) {
|
|
1026
|
+
try {
|
|
1027
|
+
const { data: buf } = await apiRawCall(`/v1/results/${job_id}/image/${filename}`);
|
|
1028
|
+
const outPath = path.join(resolvedDir, filename);
|
|
1029
|
+
await fs.writeFile(outPath, buf);
|
|
1030
|
+
saved.push(filename);
|
|
1031
|
+
}
|
|
1032
|
+
catch {
|
|
1033
|
+
// Skip missing or failed files
|
|
1034
|
+
}
|
|
1035
|
+
}
|
|
1036
|
+
const text = saved.length > 0
|
|
1037
|
+
? `Saved ${saved.length} file(s) to ${resolvedDir}: ${saved.join(", ")}`
|
|
1038
|
+
: `No files saved (job may have no matching files or download failed). Check job_id and that the job is completed.`;
|
|
1039
|
+
return { content: [{ type: "text", text }] };
|
|
1040
|
+
});
|
|
813
1041
|
// ---- analyze ----
|
|
814
1042
|
server.tool("analyze", `Run a specific analysis on SOM results. Use after get_results to drill into aspects.
|
|
1043
|
+
Request specific plots: get_results(job_id, figures=[...]) for chosen figures (e.g. figures: ["umatrix"]) or analyze(job_id, analysis_type) for a single analysis view.
|
|
815
1044
|
|
|
816
1045
|
Available analysis types and when to use them:
|
|
817
1046
|
|
|
@@ -1211,108 +1440,6 @@ action=delete: Permanently delete a job and all S3 result files. Use to free sto
|
|
|
1211
1440
|
const data = await apiCall("DELETE", `/v1/jobs/${job_id}`);
|
|
1212
1441
|
return textResult(data);
|
|
1213
1442
|
});
|
|
1214
|
-
// ---- preview_dataset ----
|
|
1215
|
-
server.tool("preview_dataset", `Preview a dataset before training — shows columns, statistics, sample rows, and detections.
|
|
1216
|
-
|
|
1217
|
-
BEST FOR: Understanding data structure before training. ALWAYS call this before train_som
|
|
1218
|
-
on an unfamiliar dataset.
|
|
1219
|
-
NOT FOR: Large data exploration (returns only sample rows). Use derive_variable for computations.
|
|
1220
|
-
|
|
1221
|
-
TIMING: Near-instant (reads only header + sample rows from S3).
|
|
1222
|
-
|
|
1223
|
-
This tool detects:
|
|
1224
|
-
1. Column types (numeric vs string) and basic stats (min/max/mean/std)
|
|
1225
|
-
2. Cyclic feature candidates (columns named hour, weekday, angle, direction, etc.)
|
|
1226
|
-
3. Datetime columns with format auto-detection
|
|
1227
|
-
4. Skewed distributions (large max/min ratios suggest log transforms)
|
|
1228
|
-
|
|
1229
|
-
AFTER previewing, ask the user:
|
|
1230
|
-
- "Which columns are relevant?" → columns parameter in train_som
|
|
1231
|
-
- "I see cyclic candidates: [list]. Encode cyclically?" → cyclic_features
|
|
1232
|
-
- "Column X ranges 0.01–50,000. Log-transform?" → transforms: {X: "log"}
|
|
1233
|
-
- "Datetime columns found. Extract temporal features?" → temporal_features (NEVER auto-apply)
|
|
1234
|
-
- "Are any features more important than others?" → feature_weights
|
|
1235
|
-
|
|
1236
|
-
COMMON MISTAKES:
|
|
1237
|
-
- Skipping preview and training on all columns (including IDs, timestamps, irrelevant features)
|
|
1238
|
-
- Not checking for datetime columns that could provide valuable cyclic features
|
|
1239
|
-
- Ignoring skewed distributions that will dominate normalization
|
|
1240
|
-
|
|
1241
|
-
TIP: Use the prepare_training prompt for a structured walkthrough of all decisions.`, {
|
|
1242
|
-
dataset_id: z.string().describe("Dataset ID to preview"),
|
|
1243
|
-
n_rows: z
|
|
1244
|
-
.number()
|
|
1245
|
-
.int()
|
|
1246
|
-
.optional()
|
|
1247
|
-
.default(5)
|
|
1248
|
-
.describe("Number of sample rows to return (default 5)"),
|
|
1249
|
-
}, async ({ dataset_id, n_rows }) => {
|
|
1250
|
-
const data = (await apiCall("GET", `/v1/datasets/${dataset_id}/preview?n_rows=${n_rows ?? 5}`));
|
|
1251
|
-
const cols = data.columns ?? [];
|
|
1252
|
-
const stats = data.column_stats ?? [];
|
|
1253
|
-
const hints = data.cyclic_hints ?? [];
|
|
1254
|
-
const samples = data.sample_rows ?? [];
|
|
1255
|
-
const dtCols = data.datetime_columns ?? [];
|
|
1256
|
-
const temporalSugg = data.temporal_suggestions ?? [];
|
|
1257
|
-
const fmt = (v) => v === null || v === undefined ? "—" : Number(v).toFixed(3);
|
|
1258
|
-
const lines = [
|
|
1259
|
-
`Dataset: ${data.name} (${data.dataset_id})`,
|
|
1260
|
-
`${data.total_rows} rows × ${data.total_cols} columns`,
|
|
1261
|
-
``,
|
|
1262
|
-
`Column Statistics:`,
|
|
1263
|
-
`| Column | Min | Max | Mean | Std | Nulls | Numeric |`,
|
|
1264
|
-
`|--------|-----|-----|------|-----|-------|---------|`,
|
|
1265
|
-
];
|
|
1266
|
-
for (const s of stats) {
|
|
1267
|
-
lines.push(`| ${s.column} | ${fmt(s.min)} | ${fmt(s.max)} | ${fmt(s.mean)} | ${fmt(s.std)} | ${s.null_count ?? 0} | ${s.is_numeric !== false ? "yes" : "no"} |`);
|
|
1268
|
-
}
|
|
1269
|
-
if (hints.length > 0) {
|
|
1270
|
-
lines.push(``, `Detected Cyclic Feature Hints:`);
|
|
1271
|
-
for (const h of hints) {
|
|
1272
|
-
lines.push(` • ${h.column} — period=${h.period} (${h.reason})`);
|
|
1273
|
-
}
|
|
1274
|
-
}
|
|
1275
|
-
if (dtCols.length > 0) {
|
|
1276
|
-
lines.push(``, `Detected Datetime Columns:`);
|
|
1277
|
-
for (const dc of dtCols) {
|
|
1278
|
-
const formats = dc.detected_formats ?? [];
|
|
1279
|
-
const fmtStrs = formats
|
|
1280
|
-
.map((f) => `${f.format} — ${f.description} (${(f.match_rate * 100).toFixed(0)}% match)`)
|
|
1281
|
-
.join("; ");
|
|
1282
|
-
lines.push(` • ${dc.column}: sample="${dc.sample}" → ${fmtStrs}`);
|
|
1283
|
-
if (formats.length > 1) {
|
|
1284
|
-
lines.push(` ⚠ AMBIGUOUS: multiple formats match. Ask user to clarify.`);
|
|
1285
|
-
}
|
|
1286
|
-
}
|
|
1287
|
-
}
|
|
1288
|
-
if (temporalSugg.length > 0) {
|
|
1289
|
-
lines.push(``, `Temporal Feature Suggestions (require user approval):`);
|
|
1290
|
-
for (const ts of temporalSugg) {
|
|
1291
|
-
lines.push(` • Columns: ${ts.columns.join(" + ")} → format: "${ts.format}"`);
|
|
1292
|
-
lines.push(` Available components: ${ts.available_components.join(", ")}`);
|
|
1293
|
-
lines.push(` ${ts.note}`);
|
|
1294
|
-
}
|
|
1295
|
-
lines.push(``, `To use temporal features in train_som, add:`, ` temporal_features: [{columns: [...], format: "...", extract: [...], cyclic: true}]`);
|
|
1296
|
-
}
|
|
1297
|
-
if (samples.length > 0) {
|
|
1298
|
-
lines.push(``, `Sample Rows (first ${samples.length}):`);
|
|
1299
|
-
lines.push(`| ${cols.join(" | ")} |`);
|
|
1300
|
-
lines.push(`| ${cols.map(() => "---").join(" | ")} |`);
|
|
1301
|
-
for (const row of samples) {
|
|
1302
|
-
lines.push(`| ${cols.map((c) => String(row[c] ?? "")).join(" | ")} |`);
|
|
1303
|
-
}
|
|
1304
|
-
}
|
|
1305
|
-
return {
|
|
1306
|
-
content: [{ type: "text", text: lines.join("\n") }],
|
|
1307
|
-
};
|
|
1308
|
-
});
|
|
1309
|
-
// ---- delete_dataset ----
|
|
1310
|
-
server.tool("delete_dataset", "Delete a dataset and its stored data. Frees a dataset slot for new uploads.", {
|
|
1311
|
-
dataset_id: z.string().describe("Dataset ID to delete"),
|
|
1312
|
-
}, async ({ dataset_id }) => {
|
|
1313
|
-
const data = await apiCall("DELETE", `/v1/datasets/${dataset_id}`);
|
|
1314
|
-
return textResult(data);
|
|
1315
|
-
});
|
|
1316
1443
|
// ---- list ----
|
|
1317
1444
|
server.tool("list", `List datasets or jobs.
|
|
1318
1445
|
|
|
@@ -1517,7 +1644,7 @@ HINT: If values length mismatch, suggest derive_variable for formula-based varia
|
|
|
1517
1644
|
colormap: z
|
|
1518
1645
|
.string()
|
|
1519
1646
|
.optional()
|
|
1520
|
-
.describe("Override colormap for the projection plot (default: plasma)."),
|
|
1647
|
+
.describe("Override colormap for the projection plot (default: plasma). Examples: viridis, plasma, inferno, magma, cividis, turbo, coolwarm, RdBu, Spectral."),
|
|
1521
1648
|
}, async ({ job_id, variable_name, values, aggregation, output_format, output_dpi, colormap }) => {
|
|
1522
1649
|
const dpiMap = { standard: 1, retina: 2, print: 4 };
|
|
1523
1650
|
const body = {
|
|
@@ -1767,7 +1894,7 @@ COMMON MISTAKES:
|
|
|
1767
1894
|
colormap: z
|
|
1768
1895
|
.string()
|
|
1769
1896
|
.optional()
|
|
1770
|
-
.describe("Colormap for projection visualization (default: plasma)"),
|
|
1897
|
+
.describe("Colormap for projection visualization (default: plasma). Examples: viridis, plasma, inferno, magma, cividis, turbo, coolwarm, RdBu, Spectral."),
|
|
1771
1898
|
}, async ({ dataset_id, name, expression, project_onto_job, aggregation, options, output_format, output_dpi, colormap, }) => {
|
|
1772
1899
|
const dpiMap = { standard: 1, retina: 2, print: 4 };
|
|
1773
1900
|
if (project_onto_job) {
|
|
@@ -1852,7 +1979,7 @@ COMMON MISTAKES:
|
|
|
1852
1979
|
`Min: ${summary.min ?? "?"} | Max: ${summary.max ?? "?"} | Mean: ${summary.mean ?? "?"}`,
|
|
1853
1980
|
``,
|
|
1854
1981
|
`The column is now available in the dataset. Include it in train_som`,
|
|
1855
|
-
`via the 'columns' parameter, or use
|
|
1982
|
+
`via the 'columns' parameter, or use datasets(action=preview) to verify.`,
|
|
1856
1983
|
]
|
|
1857
1984
|
.filter((l) => l !== "")
|
|
1858
1985
|
.join("\n"),
|
|
@@ -1957,7 +2084,7 @@ server.prompt("prepare_training", "Guided pre-training checklist. Use after uplo
|
|
|
1957
2084
|
`5. FEATURE WEIGHTS: Should any features be emphasized or de-emphasized?\n` +
|
|
1958
2085
|
`6. DERIVED VARIABLES: Any new columns to compute from existing ones? (e.g., ratios, differences)\n` +
|
|
1959
2086
|
`7. GRID & MODEL: What grid size and model type?\n\n` +
|
|
1960
|
-
`Start by calling
|
|
2087
|
+
`Start by calling datasets(action=preview, dataset_id=...) to show me the columns and statistics.`,
|
|
1961
2088
|
},
|
|
1962
2089
|
},
|
|
1963
2090
|
],
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|