@iyulab/mloop-mcp 0.1.0 → 0.2.1

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 (67) hide show
  1. package/README.md +178 -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 +31 -2
  7. package/build/server.js.map +1 -1
  8. package/build/tools/auto-train.d.ts +63 -0
  9. package/build/tools/auto-train.d.ts.map +1 -0
  10. package/build/tools/auto-train.js +108 -0
  11. package/build/tools/auto-train.js.map +1 -0
  12. package/build/tools/evaluate.d.ts.map +1 -1
  13. package/build/tools/evaluate.js +8 -9
  14. package/build/tools/evaluate.js.map +1 -1
  15. package/build/tools/feedback.d.ts +64 -0
  16. package/build/tools/feedback.d.ts.map +1 -0
  17. package/build/tools/feedback.js +76 -0
  18. package/build/tools/feedback.js.map +1 -0
  19. package/build/tools/index.d.ts +40 -0
  20. package/build/tools/index.d.ts.map +1 -1
  21. package/build/tools/index.js +26 -0
  22. package/build/tools/index.js.map +1 -1
  23. package/build/tools/info.d.ts +28 -0
  24. package/build/tools/info.d.ts.map +1 -1
  25. package/build/tools/info.js +35 -2
  26. package/build/tools/info.js.map +1 -1
  27. package/build/tools/init.d.ts +43 -0
  28. package/build/tools/init.d.ts.map +1 -0
  29. package/build/tools/init.js +58 -0
  30. package/build/tools/init.js.map +1 -0
  31. package/build/tools/logs.d.ts +49 -0
  32. package/build/tools/logs.d.ts.map +1 -0
  33. package/build/tools/logs.js +63 -0
  34. package/build/tools/logs.js.map +1 -0
  35. package/build/tools/predict.d.ts +8 -0
  36. package/build/tools/predict.d.ts.map +1 -1
  37. package/build/tools/predict.js +10 -1
  38. package/build/tools/predict.js.map +1 -1
  39. package/build/tools/prep.d.ts +42 -0
  40. package/build/tools/prep.d.ts.map +1 -0
  41. package/build/tools/prep.js +56 -0
  42. package/build/tools/prep.js.map +1 -0
  43. package/build/tools/project-overview.d.ts +42 -0
  44. package/build/tools/project-overview.d.ts.map +1 -0
  45. package/build/tools/project-overview.js +65 -0
  46. package/build/tools/project-overview.js.map +1 -0
  47. package/build/tools/quick-start.d.ts +64 -0
  48. package/build/tools/quick-start.d.ts.map +1 -0
  49. package/build/tools/quick-start.js +103 -0
  50. package/build/tools/quick-start.js.map +1 -0
  51. package/build/tools/sample.d.ts +64 -0
  52. package/build/tools/sample.d.ts.map +1 -0
  53. package/build/tools/sample.js +77 -0
  54. package/build/tools/sample.js.map +1 -0
  55. package/build/tools/train.d.ts +28 -0
  56. package/build/tools/train.d.ts.map +1 -1
  57. package/build/tools/train.js +30 -2
  58. package/build/tools/train.js.map +1 -1
  59. package/build/tools/trigger.d.ts +42 -0
  60. package/build/tools/trigger.d.ts.map +1 -0
  61. package/build/tools/trigger.js +56 -0
  62. package/build/tools/trigger.js.map +1 -0
  63. package/build/tools/validate.d.ts +35 -0
  64. package/build/tools/validate.d.ts.map +1 -0
  65. package/build/tools/validate.js +48 -0
  66. package/build/tools/validate.js.map +1 -0
  67. package/package.json +6 -1
package/README.md CHANGED
@@ -1,178 +1,178 @@
1
- # mloop-mcp
2
-
3
- MCP (Model Context Protocol) server for [MLoop](https://github.com/iyulab/MLoop) CLI.
4
-
5
- Enables AI clients (Claude, Cursor, ironhive-cli) to perform MLOps tasks using MLoop's AutoML capabilities.
6
-
7
- ## Installation
8
-
9
- ```bash
10
- npm install -g @iyulab/mloop-mcp
11
- ```
12
-
13
- Or run directly with npx:
14
-
15
- ```bash
16
- npx @iyulab/mloop-mcp
17
- ```
18
-
19
- ## Prerequisites
20
-
21
- - Node.js 18+
22
- - MLoop CLI installed and available in PATH
23
- ```bash
24
- dotnet tool install -g mloop
25
- ```
26
-
27
- ### Custom MLoop Path
28
-
29
- If MLoop is not in PATH, set the `MLOOP_PATH` environment variable:
30
-
31
- ```bash
32
- # Windows
33
- set MLOOP_PATH=D:\lib\mloop.exe
34
-
35
- # Linux/macOS
36
- export MLOOP_PATH=/usr/local/bin/mloop
37
- ```
38
-
39
- ## Configuration
40
-
41
- ### For Claude Desktop
42
-
43
- Add to your `claude_desktop_config.json`:
44
-
45
- ```json
46
- {
47
- "mcpServers": {
48
- "mloop": {
49
- "command": "npx",
50
- "args": ["@iyulab/mloop-mcp"]
51
- }
52
- }
53
- }
54
- ```
55
-
56
- ### For ironhive-cli
57
-
58
- Add to `.ironhive/plugins.yaml`:
59
-
60
- ```yaml
61
- plugins:
62
- mloop:
63
- transport: stdio
64
- command: npx
65
- args:
66
- - "@iyulab/mloop-mcp"
67
- ```
68
-
69
- ## Available Tools
70
-
71
- | Tool | Description |
72
- |------|-------------|
73
- | `mloop_train` | Train ML models using AutoML |
74
- | `mloop_predict` | Run predictions with trained models |
75
- | `mloop_list` | List experiments and their metrics |
76
- | `mloop_promote` | Promote an experiment to production |
77
- | `mloop_info` | Analyze and profile datasets |
78
- | `mloop_status` | Show project status |
79
- | `mloop_compare` | Compare multiple experiments |
80
- | `mloop_evaluate` | Evaluate model performance |
81
- | `mloop_serve` | Start REST API server |
82
-
83
- ## Tool Examples
84
-
85
- ### Train a model
86
-
87
- ```json
88
- {
89
- "tool": "mloop_train",
90
- "arguments": {
91
- "projectPath": "/path/to/project",
92
- "dataFile": "datasets/train.csv",
93
- "label": "target",
94
- "task": "binary-classification",
95
- "time": 60
96
- }
97
- }
98
- ```
99
-
100
- ### Run predictions
101
-
102
- ```json
103
- {
104
- "tool": "mloop_predict",
105
- "arguments": {
106
- "projectPath": "/path/to/project",
107
- "dataFile": "datasets/test.csv",
108
- "output": "predictions/output.csv"
109
- }
110
- }
111
- ```
112
-
113
- ### List experiments
114
-
115
- ```json
116
- {
117
- "tool": "mloop_list",
118
- "arguments": {
119
- "projectPath": "/path/to/project",
120
- "showAll": true
121
- }
122
- }
123
- ```
124
-
125
- ### Promote to production
126
-
127
- ```json
128
- {
129
- "tool": "mloop_promote",
130
- "arguments": {
131
- "projectPath": "/path/to/project",
132
- "experimentId": "exp-003",
133
- "force": true
134
- }
135
- }
136
- ```
137
-
138
- ### Analyze dataset
139
-
140
- ```json
141
- {
142
- "tool": "mloop_info",
143
- "arguments": {
144
- "dataFile": "datasets/train.csv",
145
- "projectPath": "/path/to/project"
146
- }
147
- }
148
- ```
149
-
150
- ## Development
151
-
152
- ```bash
153
- # Install dependencies
154
- npm install
155
-
156
- # Build
157
- npm run build
158
-
159
- # Run locally
160
- npm start
161
-
162
- # Test with MCP Inspector
163
- npx @modelcontextprotocol/inspector node build/index.js
164
- ```
165
-
166
- ## Architecture
167
-
168
- ```
169
- ironhive-cli ──[MCP/STDIO]──> mloop-mcp ──[subprocess]──> mloop CLI ──> ML.NET
170
- ```
171
-
172
- - **Pure Bridge Pattern**: 1:1 CLI mapping, no business logic, stateless
173
- - **STDIO Transport**: Simple process communication
174
- - **Subprocess Execution**: Each tool call spawns `mloop` CLI
175
-
176
- ## License
177
-
178
- MIT
1
+ # mloop-mcp
2
+
3
+ MCP (Model Context Protocol) server for [MLoop](https://github.com/iyulab/MLoop) CLI.
4
+
5
+ Enables AI clients (Claude, Cursor, ironhive-cli) to perform MLOps tasks using MLoop's AutoML capabilities.
6
+
7
+ ## Installation
8
+
9
+ ```bash
10
+ npm install -g @iyulab/mloop-mcp
11
+ ```
12
+
13
+ Or run directly with npx:
14
+
15
+ ```bash
16
+ npx @iyulab/mloop-mcp
17
+ ```
18
+
19
+ ## Prerequisites
20
+
21
+ - Node.js 18+
22
+ - MLoop CLI installed and available in PATH
23
+ ```bash
24
+ dotnet tool install -g mloop
25
+ ```
26
+
27
+ ### Custom MLoop Path
28
+
29
+ If MLoop is not in PATH, set the `MLOOP_PATH` environment variable:
30
+
31
+ ```bash
32
+ # Windows
33
+ set MLOOP_PATH=D:\lib\mloop.exe
34
+
35
+ # Linux/macOS
36
+ export MLOOP_PATH=/usr/local/bin/mloop
37
+ ```
38
+
39
+ ## Configuration
40
+
41
+ ### For Claude Desktop
42
+
43
+ Add to your `claude_desktop_config.json`:
44
+
45
+ ```json
46
+ {
47
+ "mcpServers": {
48
+ "mloop": {
49
+ "command": "npx",
50
+ "args": ["@iyulab/mloop-mcp"]
51
+ }
52
+ }
53
+ }
54
+ ```
55
+
56
+ ### For ironhive-cli
57
+
58
+ Add to `.ironhive/plugins.yaml`:
59
+
60
+ ```yaml
61
+ plugins:
62
+ mloop:
63
+ transport: stdio
64
+ command: npx
65
+ args:
66
+ - "@iyulab/mloop-mcp"
67
+ ```
68
+
69
+ ## Available Tools
70
+
71
+ | Tool | Description |
72
+ |------|-------------|
73
+ | `mloop_train` | Train ML models using AutoML |
74
+ | `mloop_predict` | Run predictions with trained models |
75
+ | `mloop_list` | List experiments and their metrics |
76
+ | `mloop_promote` | Promote an experiment to production |
77
+ | `mloop_info` | Analyze and profile datasets |
78
+ | `mloop_status` | Show project status |
79
+ | `mloop_compare` | Compare multiple experiments |
80
+ | `mloop_evaluate` | Evaluate model performance |
81
+ | `mloop_serve` | Start REST API server |
82
+
83
+ ## Tool Examples
84
+
85
+ ### Train a model
86
+
87
+ ```json
88
+ {
89
+ "tool": "mloop_train",
90
+ "arguments": {
91
+ "projectPath": "/path/to/project",
92
+ "dataFile": "datasets/train.csv",
93
+ "label": "target",
94
+ "task": "binary-classification",
95
+ "time": 60
96
+ }
97
+ }
98
+ ```
99
+
100
+ ### Run predictions
101
+
102
+ ```json
103
+ {
104
+ "tool": "mloop_predict",
105
+ "arguments": {
106
+ "projectPath": "/path/to/project",
107
+ "dataFile": "datasets/test.csv",
108
+ "output": "predictions/output.csv"
109
+ }
110
+ }
111
+ ```
112
+
113
+ ### List experiments
114
+
115
+ ```json
116
+ {
117
+ "tool": "mloop_list",
118
+ "arguments": {
119
+ "projectPath": "/path/to/project",
120
+ "showAll": true
121
+ }
122
+ }
123
+ ```
124
+
125
+ ### Promote to production
126
+
127
+ ```json
128
+ {
129
+ "tool": "mloop_promote",
130
+ "arguments": {
131
+ "projectPath": "/path/to/project",
132
+ "experimentId": "exp-003",
133
+ "force": true
134
+ }
135
+ }
136
+ ```
137
+
138
+ ### Analyze dataset
139
+
140
+ ```json
141
+ {
142
+ "tool": "mloop_info",
143
+ "arguments": {
144
+ "dataFile": "datasets/train.csv",
145
+ "projectPath": "/path/to/project"
146
+ }
147
+ }
148
+ ```
149
+
150
+ ## Development
151
+
152
+ ```bash
153
+ # Install dependencies
154
+ npm install
155
+
156
+ # Build
157
+ npm run build
158
+
159
+ # Run locally
160
+ npm start
161
+
162
+ # Test with MCP Inspector
163
+ npx @modelcontextprotocol/inspector node build/index.js
164
+ ```
165
+
166
+ ## Architecture
167
+
168
+ ```
169
+ ironhive-cli ──[MCP/STDIO]──> mloop-mcp ──[subprocess]──> mloop CLI ──> ML.NET
170
+ ```
171
+
172
+ - **Pure Bridge Pattern**: 1:1 CLI mapping, no business logic, stateless
173
+ - **STDIO Transport**: Simple process communication
174
+ - **Subprocess Execution**: Each tool call spawns `mloop` CLI
175
+
176
+ ## License
177
+
178
+ MIT
@@ -1 +1 @@
1
- {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,MAAM,WAAW,cAAc;IAC7B,8CAA8C;IAC9C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAYD;;;;;;;;GAQG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,aAAa,CAAC,CA4DxB;AAED;;;GAGG;AACH,wBAAgB,SAAS,CACvB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,MAAM,EAAE,CAmBV;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAAE,EACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,MAAM,EAAE,CAkBV"}
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,MAAM,WAAW,cAAc;IAC7B,8CAA8C;IAC9C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAYD;;;;;;;;GAQG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,aAAa,CAAC,CAmExB;AAED;;;GAGG;AACH,wBAAgB,SAAS,CACvB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,MAAM,EAAE,CAmBV;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAAE,EACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,MAAM,EAAE,CAkBV"}
package/build/executor.js CHANGED
@@ -24,10 +24,14 @@ export async function executeMloop(args, options = {}) {
24
24
  const { cwd, timeout = DEFAULT_TIMEOUT, env } = options;
25
25
  const mloopPath = getMloopPath();
26
26
  return new Promise((resolve, reject) => {
27
- const proc = spawn(mloopPath, args, {
27
+ // Build single command string for shell execution
28
+ // This avoids DEP0190 (passing args array with shell: true)
29
+ const quotedArgs = args.map(arg => arg.includes(' ') ? `"${arg}"` : arg);
30
+ const command = `${mloopPath} ${quotedArgs.join(' ')}`;
31
+ const proc = spawn(command, [], {
28
32
  cwd,
29
33
  env: { ...process.env, ...env },
30
- shell: true, // Required for Windows
34
+ shell: true, // Required for Windows PATH resolution
31
35
  windowsHide: true,
32
36
  });
33
37
  let stdout = '';
@@ -1 +1 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA+BpE;;GAEG;AACH,wBAAgB,YAAY,IAAI,SAAS,CA+ExC"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA0BpE;;GAEG;AACH,wBAAgB,YAAY,IAAI,SAAS,CAqKxC"}
package/build/server.js CHANGED
@@ -2,15 +2,22 @@
2
2
  * MCP Server for MLoop CLI
3
3
  */
4
4
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
5
- import { trainTool, train, trainSchema, predictTool, predict, predictSchema, listTool, list, listSchema, promoteTool, promote, promoteSchema, infoTool, info, infoSchema, statusTool, status, statusSchema, compareTool, compare, compareSchema, evaluateTool, evaluate, evaluateSchema, serveTool, serve, serveSchema, } from './tools/index.js';
5
+ import {
6
+ // Existing tools
7
+ trainTool, train, trainSchema, predictTool, predict, predictSchema, listTool, list, listSchema, promoteTool, promote, promoteSchema, infoTool, info, infoSchema, statusTool, status, statusSchema, compareTool, compare, compareSchema, evaluateTool, evaluate, evaluateSchema, serveTool, serve, serveSchema,
8
+ // New basic tools
9
+ initTool, init, initSchema, validateTool, validate, validateSchema, prepTool, prep, prepSchema, logsTool, logs, logsSchema, feedbackTool, feedback, feedbackSchema, sampleTool, sample, sampleSchema, triggerTool, trigger, triggerSchema,
10
+ // Composite workflow tools
11
+ quickStartTool, quickStart, quickStartSchema, autoTrainTool, autoTrain, autoTrainSchema, projectOverviewTool, projectOverview, projectOverviewSchema, } from './tools/index.js';
6
12
  /**
7
13
  * Create and configure the MCP server
8
14
  */
9
15
  export function createServer() {
10
16
  const server = new McpServer({
11
17
  name: 'mloop-mcp',
12
- version: '0.1.0',
18
+ version: '0.2.0',
13
19
  });
20
+ // === Existing tools ===
14
21
  // Register mloop_train
15
22
  server.tool(trainTool.name, trainTool.description, trainSchema.shape, async (params) => train(params));
16
23
  // Register mloop_predict
@@ -29,6 +36,28 @@ export function createServer() {
29
36
  server.tool(evaluateTool.name, evaluateTool.description, evaluateSchema.shape, async (params) => evaluate(params));
30
37
  // Register mloop_serve
31
38
  server.tool(serveTool.name, serveTool.description, serveSchema.shape, async (params) => serve(params));
39
+ // === New basic tools ===
40
+ // Register mloop_init
41
+ server.tool(initTool.name, initTool.description, initSchema.shape, async (params) => init(params));
42
+ // Register mloop_validate
43
+ server.tool(validateTool.name, validateTool.description, validateSchema.shape, async (params) => validate(params));
44
+ // Register mloop_prep
45
+ server.tool(prepTool.name, prepTool.description, prepSchema.shape, async (params) => prep(params));
46
+ // Register mloop_logs
47
+ server.tool(logsTool.name, logsTool.description, logsSchema.shape, async (params) => logs(params));
48
+ // Register mloop_feedback
49
+ server.tool(feedbackTool.name, feedbackTool.description, feedbackSchema.shape, async (params) => feedback(params));
50
+ // Register mloop_sample
51
+ server.tool(sampleTool.name, sampleTool.description, sampleSchema.shape, async (params) => sample(params));
52
+ // Register mloop_trigger
53
+ server.tool(triggerTool.name, triggerTool.description, triggerSchema.shape, async (params) => trigger(params));
54
+ // === Composite workflow tools ===
55
+ // Register mloop_quick_start
56
+ server.tool(quickStartTool.name, quickStartTool.description, quickStartSchema.shape, async (params) => quickStart(params));
57
+ // Register mloop_auto_train
58
+ server.tool(autoTrainTool.name, autoTrainTool.description, autoTrainSchema.shape, async (params) => autoTrain(params));
59
+ // Register mloop_project_overview
60
+ server.tool(projectOverviewTool.name, projectOverviewTool.description, projectOverviewSchema.shape, async (params) => projectOverview(params));
32
61
  return server;
33
62
  }
34
63
  //# sourceMappingURL=server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EACL,SAAS,EACT,KAAK,EACL,WAAW,EACX,WAAW,EACX,OAAO,EACP,aAAa,EACb,QAAQ,EACR,IAAI,EACJ,UAAU,EACV,WAAW,EACX,OAAO,EACP,aAAa,EACb,QAAQ,EACR,IAAI,EACJ,UAAU,EACV,UAAU,EACV,MAAM,EACN,YAAY,EACZ,WAAW,EACX,OAAO,EACP,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,SAAS,EACT,KAAK,EACL,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAE1B;;GAEG;AACH,MAAM,UAAU,YAAY;IAC1B,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,uBAAuB;IACvB,MAAM,CAAC,IAAI,CACT,SAAS,CAAC,IAAI,EACd,SAAS,CAAC,WAAW,EACrB,WAAW,CAAC,KAAK,EACjB,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,MAAqC,CAAC,CAC/D,CAAC;IAEF,yBAAyB;IACzB,MAAM,CAAC,IAAI,CACT,WAAW,CAAC,IAAI,EAChB,WAAW,CAAC,WAAW,EACvB,aAAa,CAAC,KAAK,EACnB,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAuC,CAAC,CACnE,CAAC;IAEF,sBAAsB;IACtB,MAAM,CAAC,IAAI,CACT,QAAQ,CAAC,IAAI,EACb,QAAQ,CAAC,WAAW,EACpB,UAAU,CAAC,KAAK,EAChB,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,MAAoC,CAAC,CAC7D,CAAC;IAEF,yBAAyB;IACzB,MAAM,CAAC,IAAI,CACT,WAAW,CAAC,IAAI,EAChB,WAAW,CAAC,WAAW,EACvB,aAAa,CAAC,KAAK,EACnB,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAuC,CAAC,CACnE,CAAC;IAEF,sBAAsB;IACtB,MAAM,CAAC,IAAI,CACT,QAAQ,CAAC,IAAI,EACb,QAAQ,CAAC,WAAW,EACpB,UAAU,CAAC,KAAK,EAChB,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,MAAoC,CAAC,CAC7D,CAAC;IAEF,wBAAwB;IACxB,MAAM,CAAC,IAAI,CACT,UAAU,CAAC,IAAI,EACf,UAAU,CAAC,WAAW,EACtB,YAAY,CAAC,KAAK,EAClB,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAsC,CAAC,CACjE,CAAC;IAEF,yBAAyB;IACzB,MAAM,CAAC,IAAI,CACT,WAAW,CAAC,IAAI,EAChB,WAAW,CAAC,WAAW,EACvB,aAAa,CAAC,KAAK,EACnB,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAuC,CAAC,CACnE,CAAC;IAEF,0BAA0B;IAC1B,MAAM,CAAC,IAAI,CACT,YAAY,CAAC,IAAI,EACjB,YAAY,CAAC,WAAW,EACxB,cAAc,CAAC,KAAK,EACpB,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAwC,CAAC,CACrE,CAAC;IAEF,uBAAuB;IACvB,MAAM,CAAC,IAAI,CACT,SAAS,CAAC,IAAI,EACd,SAAS,CAAC,WAAW,EACrB,WAAW,CAAC,KAAK,EACjB,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,MAAqC,CAAC,CAC/D,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.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"}