@iyulab/mloop-mcp 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 (71) hide show
  1. package/README.md +179 -178
  2. package/build/executor.d.ts.map +1 -1
  3. package/build/executor.js +6 -2
  4. package/build/executor.js.map +1 -1
  5. package/build/server.d.ts.map +1 -1
  6. package/build/server.js +33 -2
  7. package/build/server.js.map +1 -1
  8. package/build/tools/analyze.d.ts +69 -0
  9. package/build/tools/analyze.d.ts.map +1 -0
  10. package/build/tools/analyze.js +103 -0
  11. package/build/tools/analyze.js.map +1 -0
  12. package/build/tools/auto-train.d.ts +63 -0
  13. package/build/tools/auto-train.d.ts.map +1 -0
  14. package/build/tools/auto-train.js +108 -0
  15. package/build/tools/auto-train.js.map +1 -0
  16. package/build/tools/evaluate.d.ts.map +1 -1
  17. package/build/tools/evaluate.js +8 -9
  18. package/build/tools/evaluate.js.map +1 -1
  19. package/build/tools/feedback.d.ts +64 -0
  20. package/build/tools/feedback.d.ts.map +1 -0
  21. package/build/tools/feedback.js +76 -0
  22. package/build/tools/feedback.js.map +1 -0
  23. package/build/tools/index.d.ts +44 -0
  24. package/build/tools/index.d.ts.map +1 -1
  25. package/build/tools/index.js +28 -0
  26. package/build/tools/index.js.map +1 -1
  27. package/build/tools/info.d.ts +28 -0
  28. package/build/tools/info.d.ts.map +1 -1
  29. package/build/tools/info.js +35 -2
  30. package/build/tools/info.js.map +1 -1
  31. package/build/tools/init.d.ts +43 -0
  32. package/build/tools/init.d.ts.map +1 -0
  33. package/build/tools/init.js +58 -0
  34. package/build/tools/init.js.map +1 -0
  35. package/build/tools/logs.d.ts +49 -0
  36. package/build/tools/logs.d.ts.map +1 -0
  37. package/build/tools/logs.js +63 -0
  38. package/build/tools/logs.js.map +1 -0
  39. package/build/tools/predict.d.ts +8 -0
  40. package/build/tools/predict.d.ts.map +1 -1
  41. package/build/tools/predict.js +10 -1
  42. package/build/tools/predict.js.map +1 -1
  43. package/build/tools/prep.d.ts +42 -0
  44. package/build/tools/prep.d.ts.map +1 -0
  45. package/build/tools/prep.js +56 -0
  46. package/build/tools/prep.js.map +1 -0
  47. package/build/tools/project-overview.d.ts +42 -0
  48. package/build/tools/project-overview.d.ts.map +1 -0
  49. package/build/tools/project-overview.js +65 -0
  50. package/build/tools/project-overview.js.map +1 -0
  51. package/build/tools/quick-start.d.ts +64 -0
  52. package/build/tools/quick-start.d.ts.map +1 -0
  53. package/build/tools/quick-start.js +103 -0
  54. package/build/tools/quick-start.js.map +1 -0
  55. package/build/tools/sample.d.ts +64 -0
  56. package/build/tools/sample.d.ts.map +1 -0
  57. package/build/tools/sample.js +77 -0
  58. package/build/tools/sample.js.map +1 -0
  59. package/build/tools/train.d.ts +28 -0
  60. package/build/tools/train.d.ts.map +1 -1
  61. package/build/tools/train.js +30 -2
  62. package/build/tools/train.js.map +1 -1
  63. package/build/tools/trigger.d.ts +42 -0
  64. package/build/tools/trigger.d.ts.map +1 -0
  65. package/build/tools/trigger.js +56 -0
  66. package/build/tools/trigger.js.map +1 -0
  67. package/build/tools/validate.d.ts +35 -0
  68. package/build/tools/validate.d.ts.map +1 -0
  69. package/build/tools/validate.js +48 -0
  70. package/build/tools/validate.js.map +1 -0
  71. package/package.json +6 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyze.js","sourceRoot":"","sources":["../../src/tools/analyze.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * mloop_auto_train tool - Automated training pipeline: info -> train -> list
3
+ */
4
+ import { z } from 'zod';
5
+ export declare const autoTrainSchema: z.ZodObject<{
6
+ projectPath: z.ZodString;
7
+ dataFile: z.ZodOptional<z.ZodString>;
8
+ label: z.ZodOptional<z.ZodString>;
9
+ modelName: z.ZodOptional<z.ZodString>;
10
+ time: z.ZodOptional<z.ZodNumber>;
11
+ }, "strip", z.ZodTypeAny, {
12
+ projectPath: string;
13
+ dataFile?: string | undefined;
14
+ label?: string | undefined;
15
+ time?: number | undefined;
16
+ modelName?: string | undefined;
17
+ }, {
18
+ projectPath: string;
19
+ dataFile?: string | undefined;
20
+ label?: string | undefined;
21
+ time?: number | undefined;
22
+ modelName?: string | undefined;
23
+ }>;
24
+ export type AutoTrainParams = z.infer<typeof autoTrainSchema>;
25
+ export declare function autoTrain(params: AutoTrainParams): Promise<{
26
+ content: Array<{
27
+ type: 'text';
28
+ text: string;
29
+ }>;
30
+ isError?: boolean;
31
+ }>;
32
+ export declare const autoTrainTool: {
33
+ name: string;
34
+ description: string;
35
+ inputSchema: {
36
+ type: string;
37
+ properties: {
38
+ projectPath: {
39
+ type: string;
40
+ description: string;
41
+ };
42
+ dataFile: {
43
+ type: string;
44
+ description: string;
45
+ };
46
+ label: {
47
+ type: string;
48
+ description: string;
49
+ };
50
+ modelName: {
51
+ type: string;
52
+ description: string;
53
+ };
54
+ time: {
55
+ type: string;
56
+ description: string;
57
+ };
58
+ };
59
+ required: string[];
60
+ };
61
+ handler: typeof autoTrain;
62
+ };
63
+ //# sourceMappingURL=auto-train.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-train.d.ts","sourceRoot":"","sources":["../../src/tools/auto-train.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;EAM1B,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE9D,wBAAsB,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CA4DvI;AAED,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BzB,CAAC"}
@@ -0,0 +1,108 @@
1
+ /**
2
+ * mloop_auto_train tool - Automated training pipeline: info -> train -> list
3
+ */
4
+ import { z } from 'zod';
5
+ import { executeMloop, buildArgsWithPositional, buildArgs } from '../executor.js';
6
+ import { parseCliOutput } from '../utils/parser.js';
7
+ import { formatError } from '../utils/errors.js';
8
+ export const autoTrainSchema = z.object({
9
+ projectPath: z.string().describe('Project directory path'),
10
+ dataFile: z.string().optional().describe('Training data file (default: datasets/train.csv)'),
11
+ label: z.string().optional().describe('Label column (uses mloop.yaml default if omitted)'),
12
+ modelName: z.string().optional().describe('Model name (default: "default")'),
13
+ time: z.number().positive().optional().describe('Training time (omit for auto-time)'),
14
+ });
15
+ export async function autoTrain(params) {
16
+ const steps = [];
17
+ try {
18
+ // Step 1: Info (optional, for reporting)
19
+ if (params.dataFile) {
20
+ const infoArgs = buildArgsWithPositional('info', [params.dataFile], {});
21
+ await executeMloop(infoArgs, { cwd: params.projectPath });
22
+ steps.push('Data profiled');
23
+ }
24
+ // Step 2: Train
25
+ const trainPositional = [];
26
+ if (params.dataFile)
27
+ trainPositional.push(params.dataFile);
28
+ const trainOpts = {};
29
+ if (params.label)
30
+ trainOpts['label'] = params.label;
31
+ if (params.time)
32
+ trainOpts['time'] = params.time;
33
+ if (params.modelName)
34
+ trainOpts['name'] = params.modelName;
35
+ const trainArgs = buildArgsWithPositional('train', trainPositional, trainOpts);
36
+ const trainResult = await executeMloop(trainArgs, {
37
+ cwd: params.projectPath,
38
+ timeout: 1_200_000,
39
+ });
40
+ const trainOutput = parseCliOutput(trainResult.stdout);
41
+ steps.push('Training complete');
42
+ // Step 3: List experiments
43
+ const listOpts = {};
44
+ if (params.modelName)
45
+ listOpts['name'] = params.modelName;
46
+ const listArgs = buildArgs('list', listOpts);
47
+ const listResult = await executeMloop(listArgs, { cwd: params.projectPath });
48
+ steps.push('Experiments listed');
49
+ return {
50
+ content: [{
51
+ type: 'text',
52
+ text: JSON.stringify({
53
+ success: true,
54
+ summary: 'Auto-train complete',
55
+ steps,
56
+ training_output: trainOutput,
57
+ experiments: parseCliOutput(listResult.stdout),
58
+ }, null, 2),
59
+ }],
60
+ };
61
+ }
62
+ catch (error) {
63
+ return {
64
+ content: [{
65
+ type: 'text',
66
+ text: JSON.stringify({
67
+ success: false,
68
+ summary: 'Auto-train failed',
69
+ steps_completed: steps,
70
+ error: formatError(error),
71
+ }, null, 2),
72
+ }],
73
+ isError: true,
74
+ };
75
+ }
76
+ }
77
+ export const autoTrainTool = {
78
+ name: 'mloop_auto_train',
79
+ description: 'Automated training pipeline: profile data -> train (with auto-time) -> list experiments. Handles the full training workflow in a single call.',
80
+ inputSchema: {
81
+ type: 'object',
82
+ properties: {
83
+ projectPath: {
84
+ type: 'string',
85
+ description: 'Project directory path',
86
+ },
87
+ dataFile: {
88
+ type: 'string',
89
+ description: 'Training data file path (default: datasets/train.csv)',
90
+ },
91
+ label: {
92
+ type: 'string',
93
+ description: 'Label column name (uses mloop.yaml default if omitted)',
94
+ },
95
+ modelName: {
96
+ type: 'string',
97
+ description: 'Model name (default: "default")',
98
+ },
99
+ time: {
100
+ type: 'number',
101
+ description: 'Training time in seconds (omit for auto-time)',
102
+ },
103
+ },
104
+ required: ['projectPath'],
105
+ },
106
+ handler: autoTrain,
107
+ };
108
+ //# sourceMappingURL=auto-train.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-train.js","sourceRoot":"","sources":["../../src/tools/auto-train.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../../src/tools/evaluate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;EAKzB,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D,wBAAsB,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAiDrI;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BxB,CAAC"}
1
+ {"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../../src/tools/evaluate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;EAKzB,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D,wBAAsB,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CA+CrI;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BxB,CAAC"}
@@ -16,20 +16,19 @@ export async function evaluate(params) {
16
16
  const { projectPath, dataFile, modelName, experimentId } = params;
17
17
  // CLI usage: mloop evaluate [<experiment-id> [<test-data>]] [options]
18
18
  // Both experiment-id and test-data are positional arguments
19
+ // Note: test-data can only be specified after experiment-id (positional order)
19
20
  const args = ['evaluate'];
20
- // First positional: experiment-id (optional)
21
21
  if (experimentId) {
22
22
  args.push(experimentId);
23
- }
24
- // Second positional: test-data (optional, only if experiment-id is provided)
25
- if (dataFile) {
26
- // If no experimentId but has dataFile, we need to pass empty or use production
27
- if (!experimentId) {
28
- // Use 'production' as placeholder to indicate use production model
29
- args.push('production');
23
+ // test-data is only valid after experiment-id
24
+ if (dataFile) {
25
+ args.push(dataFile);
30
26
  }
31
- args.push(dataFile);
32
27
  }
28
+ // If only dataFile is given without experimentId, we cannot pass it as
29
+ // the CLI requires experiment-id before test-data. In this case, the caller
30
+ // should place the file at datasets/test.csv and omit dataFile, or provide
31
+ // an experimentId.
33
32
  // Named option: --name
34
33
  if (modelName) {
35
34
  args.push('--name', modelName);
@@ -1 +1 @@
1
- {"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../../src/tools/evaluate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../../src/tools/evaluate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IACnE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IACzE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;IACvD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;CAChF,CAAC,CAAC;AAIH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,MAAsB;IACnD,IAAI,CAAC;QACH,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC;QAElE,sEAAsE;QACtE,4DAA4D;QAC5D,+EAA+E;QAC/E,MAAM,IAAI,GAAa,CAAC,UAAU,CAAC,CAAC;QAEpC,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACxB,8CAA8C;YAC9C,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QACD,uEAAuE;QACvE,4EAA4E;QAC5E,2EAA2E;QAC3E,mBAAmB;QAEnB,uBAAuB;QACvB,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACjC,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE;YACtC,GAAG,EAAE,WAAW;SACjB,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAE7C,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,MAAM,IAAI,kCAAkC;iBACnD,CAAC;SACH,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC;iBACzB,CAAC;YACF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,uEAAuE;IACpF,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,iCAAiC;aAC/C;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,+BAA+B;aAC7C;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,wBAAwB;aACtC;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,gEAAgE;aAC9E;SACF;QACD,QAAQ,EAAE,CAAC,aAAa,CAAC;KAC1B;IACD,OAAO,EAAE,QAAQ;CAClB,CAAC"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * mloop_feedback tool - Manage feedback for predictions
3
+ */
4
+ import { z } from 'zod';
5
+ export declare const feedbackSchema: z.ZodObject<{
6
+ projectPath: z.ZodString;
7
+ action: z.ZodEnum<["add", "list", "metrics"]>;
8
+ modelName: z.ZodOptional<z.ZodString>;
9
+ value: z.ZodOptional<z.ZodString>;
10
+ predictionId: z.ZodOptional<z.ZodString>;
11
+ }, "strip", z.ZodTypeAny, {
12
+ projectPath: string;
13
+ action: "list" | "add" | "metrics";
14
+ value?: string | undefined;
15
+ modelName?: string | undefined;
16
+ predictionId?: string | undefined;
17
+ }, {
18
+ projectPath: string;
19
+ action: "list" | "add" | "metrics";
20
+ value?: string | undefined;
21
+ modelName?: string | undefined;
22
+ predictionId?: string | undefined;
23
+ }>;
24
+ export type FeedbackParams = z.infer<typeof feedbackSchema>;
25
+ export declare function feedback(params: FeedbackParams): Promise<{
26
+ content: Array<{
27
+ type: 'text';
28
+ text: string;
29
+ }>;
30
+ isError?: boolean;
31
+ }>;
32
+ export declare const feedbackTool: {
33
+ name: string;
34
+ description: string;
35
+ inputSchema: {
36
+ type: string;
37
+ properties: {
38
+ projectPath: {
39
+ type: string;
40
+ description: string;
41
+ };
42
+ action: {
43
+ type: string;
44
+ enum: string[];
45
+ description: string;
46
+ };
47
+ modelName: {
48
+ type: string;
49
+ description: string;
50
+ };
51
+ value: {
52
+ type: string;
53
+ description: string;
54
+ };
55
+ predictionId: {
56
+ type: string;
57
+ description: string;
58
+ };
59
+ };
60
+ required: string[];
61
+ };
62
+ handler: typeof feedback;
63
+ };
64
+ //# sourceMappingURL=feedback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feedback.d.ts","sourceRoot":"","sources":["../../src/tools/feedback.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;EAMzB,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D,wBAAsB,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CA0BrI;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BxB,CAAC"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * mloop_feedback tool - Manage feedback for predictions
3
+ */
4
+ import { z } from 'zod';
5
+ import { executeMloop, buildArgsWithPositional } from '../executor.js';
6
+ import { parseCliOutput } from '../utils/parser.js';
7
+ import { formatError } from '../utils/errors.js';
8
+ export const feedbackSchema = z.object({
9
+ projectPath: z.string().describe('Path to MLoop project directory'),
10
+ action: z.enum(['add', 'list', 'metrics']).describe('Feedback action to perform'),
11
+ modelName: z.string().optional().describe('Model name (default: "default")'),
12
+ value: z.string().optional().describe('Feedback value (for "add" action)'),
13
+ predictionId: z.string().optional().describe('Prediction ID to add feedback for'),
14
+ });
15
+ export async function feedback(params) {
16
+ try {
17
+ const cliParams = {};
18
+ if (params.modelName)
19
+ cliParams['name'] = params.modelName;
20
+ if (params.value)
21
+ cliParams['value'] = params.value;
22
+ if (params.predictionId)
23
+ cliParams['prediction-id'] = params.predictionId;
24
+ const args = buildArgsWithPositional('feedback', [params.action], cliParams);
25
+ const result = await executeMloop(args, { cwd: params.projectPath });
26
+ const output = parseCliOutput(result.stdout);
27
+ return {
28
+ content: [{
29
+ type: 'text',
30
+ text: output || `Feedback ${params.action} completed.`,
31
+ }],
32
+ };
33
+ }
34
+ catch (error) {
35
+ return {
36
+ content: [{
37
+ type: 'text',
38
+ text: formatError(error),
39
+ }],
40
+ isError: true,
41
+ };
42
+ }
43
+ }
44
+ export const feedbackTool = {
45
+ name: 'mloop_feedback',
46
+ description: 'Manage feedback for model predictions. Add feedback, list existing feedback, or view feedback metrics.',
47
+ inputSchema: {
48
+ type: 'object',
49
+ properties: {
50
+ projectPath: {
51
+ type: 'string',
52
+ description: 'Path to MLoop project directory',
53
+ },
54
+ action: {
55
+ type: 'string',
56
+ enum: ['add', 'list', 'metrics'],
57
+ description: 'Feedback action: "add" to submit feedback, "list" to view, "metrics" to see statistics',
58
+ },
59
+ modelName: {
60
+ type: 'string',
61
+ description: 'Model name (default: "default")',
62
+ },
63
+ value: {
64
+ type: 'string',
65
+ description: 'Feedback value (for "add" action)',
66
+ },
67
+ predictionId: {
68
+ type: 'string',
69
+ description: 'Prediction ID to add feedback for',
70
+ },
71
+ },
72
+ required: ['projectPath', 'action'],
73
+ },
74
+ handler: feedback,
75
+ };
76
+ //# sourceMappingURL=feedback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feedback.js","sourceRoot":"","sources":["../../src/tools/feedback.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,17 @@ export { statusTool, status, statusSchema, type StatusParams } from './status.js
10
10
  export { compareTool, compare, compareSchema, type CompareParams } from './compare.js';
11
11
  export { evaluateTool, evaluate, evaluateSchema, type EvaluateParams } from './evaluate.js';
12
12
  export { serveTool, serve, serveSchema, type ServeParams } from './serve.js';
13
+ export { initTool, init, initSchema, type InitParams } from './init.js';
14
+ export { validateTool, validate, validateSchema, type ValidateParams } from './validate.js';
15
+ export { prepTool, prep, prepSchema, type PrepParams } from './prep.js';
16
+ export { logsTool, logs, logsSchema, type LogsParams } from './logs.js';
17
+ export { feedbackTool, feedback, feedbackSchema, type FeedbackParams } from './feedback.js';
18
+ export { sampleTool, sample, sampleSchema, type SampleParams } from './sample.js';
19
+ export { triggerTool, trigger, triggerSchema, type TriggerParams } from './trigger.js';
20
+ export { analyzeTool, analyze, analyzeSchema, type AnalyzeParams } from './analyze.js';
21
+ export { quickStartTool, quickStart, quickStartSchema, type QuickStartParams } from './quick-start.js';
22
+ export { autoTrainTool, autoTrain, autoTrainSchema, type AutoTrainParams } from './auto-train.js';
23
+ export { projectOverviewTool, projectOverview, projectOverviewSchema, type ProjectOverviewParams } from './project-overview.js';
13
24
  /**
14
25
  * All available tools
15
26
  */
@@ -40,5 +51,38 @@ export declare const allTools: readonly [{
40
51
  }, {
41
52
  readonly name: "mloop_serve";
42
53
  readonly module: () => Promise<typeof import("./serve.js")>;
54
+ }, {
55
+ readonly name: "mloop_init";
56
+ readonly module: () => Promise<typeof import("./init.js")>;
57
+ }, {
58
+ readonly name: "mloop_validate";
59
+ readonly module: () => Promise<typeof import("./validate.js")>;
60
+ }, {
61
+ readonly name: "mloop_prep";
62
+ readonly module: () => Promise<typeof import("./prep.js")>;
63
+ }, {
64
+ readonly name: "mloop_logs";
65
+ readonly module: () => Promise<typeof import("./logs.js")>;
66
+ }, {
67
+ readonly name: "mloop_feedback";
68
+ readonly module: () => Promise<typeof import("./feedback.js")>;
69
+ }, {
70
+ readonly name: "mloop_sample";
71
+ readonly module: () => Promise<typeof import("./sample.js")>;
72
+ }, {
73
+ readonly name: "mloop_trigger";
74
+ readonly module: () => Promise<typeof import("./trigger.js")>;
75
+ }, {
76
+ readonly name: "mloop_analyze";
77
+ readonly module: () => Promise<typeof import("./analyze.js")>;
78
+ }, {
79
+ readonly name: "mloop_quick_start";
80
+ readonly module: () => Promise<typeof import("./quick-start.js")>;
81
+ }, {
82
+ readonly name: "mloop_auto_train";
83
+ readonly module: () => Promise<typeof import("./auto-train.js")>;
84
+ }, {
85
+ readonly name: "mloop_project_overview";
86
+ readonly module: () => Promise<typeof import("./project-overview.js")>;
43
87
  }];
44
88
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AACvF,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AACvF,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAC5F,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAE7E;;GAEG;AACH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUX,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AACvF,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AACvF,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAC5F,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAG7E,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAC5F,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAC5F,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAGvF,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACvG,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,eAAe,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClG,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,qBAAqB,EAAE,KAAK,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEhI;;GAEG;AACH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwBX,CAAC"}
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * Tool registry - exports all MLoop MCP tools
3
3
  */
4
+ // Existing tools
4
5
  export { trainTool, train, trainSchema } from './train.js';
5
6
  export { predictTool, predict, predictSchema } from './predict.js';
6
7
  export { listTool, list, listSchema } from './list.js';
@@ -10,10 +11,24 @@ export { statusTool, status, statusSchema } from './status.js';
10
11
  export { compareTool, compare, compareSchema } from './compare.js';
11
12
  export { evaluateTool, evaluate, evaluateSchema } from './evaluate.js';
12
13
  export { serveTool, serve, serveSchema } from './serve.js';
14
+ // New basic tools
15
+ export { initTool, init, initSchema } from './init.js';
16
+ export { validateTool, validate, validateSchema } from './validate.js';
17
+ export { prepTool, prep, prepSchema } from './prep.js';
18
+ export { logsTool, logs, logsSchema } from './logs.js';
19
+ export { feedbackTool, feedback, feedbackSchema } from './feedback.js';
20
+ export { sampleTool, sample, sampleSchema } from './sample.js';
21
+ export { triggerTool, trigger, triggerSchema } from './trigger.js';
22
+ export { analyzeTool, analyze, analyzeSchema } from './analyze.js';
23
+ // Composite workflow tools
24
+ export { quickStartTool, quickStart, quickStartSchema } from './quick-start.js';
25
+ export { autoTrainTool, autoTrain, autoTrainSchema } from './auto-train.js';
26
+ export { projectOverviewTool, projectOverview, projectOverviewSchema } from './project-overview.js';
13
27
  /**
14
28
  * All available tools
15
29
  */
16
30
  export const allTools = [
31
+ // Existing tools
17
32
  { name: 'mloop_train', module: () => import('./train.js') },
18
33
  { name: 'mloop_predict', module: () => import('./predict.js') },
19
34
  { name: 'mloop_list', module: () => import('./list.js') },
@@ -23,5 +38,18 @@ export const allTools = [
23
38
  { name: 'mloop_compare', module: () => import('./compare.js') },
24
39
  { name: 'mloop_evaluate', module: () => import('./evaluate.js') },
25
40
  { name: 'mloop_serve', module: () => import('./serve.js') },
41
+ // New basic tools
42
+ { name: 'mloop_init', module: () => import('./init.js') },
43
+ { name: 'mloop_validate', module: () => import('./validate.js') },
44
+ { name: 'mloop_prep', module: () => import('./prep.js') },
45
+ { name: 'mloop_logs', module: () => import('./logs.js') },
46
+ { name: 'mloop_feedback', module: () => import('./feedback.js') },
47
+ { name: 'mloop_sample', module: () => import('./sample.js') },
48
+ { name: 'mloop_trigger', module: () => import('./trigger.js') },
49
+ { name: 'mloop_analyze', module: () => import('./analyze.js') },
50
+ // Composite workflow tools
51
+ { name: 'mloop_quick_start', module: () => import('./quick-start.js') },
52
+ { name: 'mloop_auto_train', module: () => import('./auto-train.js') },
53
+ { name: 'mloop_project_overview', module: () => import('./project-overview.js') },
26
54
  ];
27
55
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAoB,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAsB,MAAM,cAAc,CAAC;AACvF,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAmB,MAAM,WAAW,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAsB,MAAM,cAAc,CAAC;AACvF,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAmB,MAAM,WAAW,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAqB,MAAM,aAAa,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAsB,MAAM,cAAc,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAuB,MAAM,eAAe,CAAC;AAC5F,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAoB,MAAM,YAAY,CAAC;AAE7E;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE;IAC3D,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE;IAC/D,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE;IACzD,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE;IAC/D,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE;IACzD,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE;IAC7D,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE;IAC/D,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE;IACjE,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE;CACnD,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
@@ -5,12 +5,24 @@ import { z } from 'zod';
5
5
  export declare const infoSchema: z.ZodObject<{
6
6
  dataFile: z.ZodString;
7
7
  projectPath: z.ZodOptional<z.ZodString>;
8
+ label: z.ZodOptional<z.ZodString>;
9
+ modelName: z.ZodOptional<z.ZodString>;
10
+ analyze: z.ZodOptional<z.ZodBoolean>;
11
+ sampleSize: z.ZodOptional<z.ZodNumber>;
8
12
  }, "strip", z.ZodTypeAny, {
9
13
  dataFile: string;
10
14
  projectPath?: string | undefined;
15
+ label?: string | undefined;
16
+ modelName?: string | undefined;
17
+ analyze?: boolean | undefined;
18
+ sampleSize?: number | undefined;
11
19
  }, {
12
20
  dataFile: string;
13
21
  projectPath?: string | undefined;
22
+ label?: string | undefined;
23
+ modelName?: string | undefined;
24
+ analyze?: boolean | undefined;
25
+ sampleSize?: number | undefined;
14
26
  }>;
15
27
  export type InfoParams = z.infer<typeof infoSchema>;
16
28
  export declare function info(params: InfoParams): Promise<{
@@ -34,6 +46,22 @@ export declare const infoTool: {
34
46
  type: string;
35
47
  description: string;
36
48
  };
49
+ label: {
50
+ type: string;
51
+ description: string;
52
+ };
53
+ modelName: {
54
+ type: string;
55
+ description: string;
56
+ };
57
+ analyze: {
58
+ type: string;
59
+ description: string;
60
+ };
61
+ sampleSize: {
62
+ type: string;
63
+ description: string;
64
+ };
37
65
  };
38
66
  required: string[];
39
67
  };
@@ -1 +1 @@
1
- {"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../../src/tools/info.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,UAAU;;;;;;;;;EAGrB,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAEpD,wBAAsB,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CA2B7H;AAED,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;CAkBpB,CAAC"}
1
+ {"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../../src/tools/info.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;EAOrB,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAEpD,wBAAsB,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAwC7H;AAED,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCpB,CAAC"}
@@ -8,13 +8,30 @@ import { formatError } from '../utils/errors.js';
8
8
  export const infoSchema = z.object({
9
9
  dataFile: z.string().describe('Path to data file to analyze'),
10
10
  projectPath: z.string().optional().describe('MLoop project path (optional, for relative paths)'),
11
+ label: z.string().optional().describe('Label column name (overrides mloop.yaml setting)'),
12
+ modelName: z.string().optional().describe('Model name to read label configuration from mloop.yaml (default: "default")'),
13
+ analyze: z.boolean().optional().describe('Enable deep analysis including correlation, feature importance, distribution, and anomaly detection'),
14
+ sampleSize: z.number().optional().describe('Maximum number of rows to sample for deep analysis (default: 50000)'),
11
15
  });
12
16
  export async function info(params) {
13
17
  try {
14
- const { dataFile, projectPath } = params;
18
+ const { dataFile, projectPath, label, modelName, analyze, sampleSize } = params;
15
19
  const args = ['info', dataFile];
20
+ if (label) {
21
+ args.push('--label', label);
22
+ }
23
+ if (modelName) {
24
+ args.push('--name', modelName);
25
+ }
26
+ if (analyze) {
27
+ args.push('--analyze');
28
+ }
29
+ if (sampleSize !== undefined && sampleSize !== null) {
30
+ args.push('--sample-size', String(sampleSize));
31
+ }
16
32
  const result = await executeMloop(args, {
17
33
  cwd: projectPath,
34
+ timeout: analyze ? 600_000 : undefined, // 10 minutes for deep analysis
18
35
  });
19
36
  const output = parseCliOutput(result.stdout);
20
37
  return {
@@ -36,7 +53,7 @@ export async function info(params) {
36
53
  }
37
54
  export const infoTool = {
38
55
  name: 'mloop_info',
39
- description: 'Analyze and profile a dataset. Shows column types, statistics, missing values, and more.',
56
+ description: 'Analyze and profile a dataset. Shows column types, statistics, missing values, and more. Can read label column from mloop.yaml configuration.',
40
57
  inputSchema: {
41
58
  type: 'object',
42
59
  properties: {
@@ -48,6 +65,22 @@ export const infoTool = {
48
65
  type: 'string',
49
66
  description: 'MLoop project path for resolving relative paths',
50
67
  },
68
+ label: {
69
+ type: 'string',
70
+ description: 'Label column name (overrides mloop.yaml setting)',
71
+ },
72
+ modelName: {
73
+ type: 'string',
74
+ description: 'Model name to read label configuration from mloop.yaml (default: "default")',
75
+ },
76
+ analyze: {
77
+ type: 'boolean',
78
+ description: 'Enable deep analysis including correlation, feature importance, distribution, and anomaly detection',
79
+ },
80
+ sampleSize: {
81
+ type: 'number',
82
+ description: 'Maximum number of rows to sample for deep analysis (default: 50000)',
83
+ },
51
84
  },
52
85
  required: ['dataFile'],
53
86
  },