@elvatis_com/elvatis-mcp 0.4.0 → 0.5.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.
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Lightweight status dashboard — single HTML page served at /status.
3
+ *
4
+ * Fetches service health, loaded models, cron jobs, and memory stats
5
+ * via internal function calls (same as the MCP tools). Auto-refreshes
6
+ * every 30 seconds. Zero dependencies, no React, no build step.
7
+ *
8
+ * Available when MCP_TRANSPORT=http at http://localhost:{port}/status
9
+ * In stdio mode, starts a separate lightweight HTTP server on port 3334.
10
+ */
11
+ import { Config } from './config.js';
12
+ export declare function handleDashboardRequest(config: Config): Promise<string>;
13
+ //# sourceMappingURL=dashboard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../src/dashboard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAsGrC,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAG5E"}
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ /**
3
+ * Lightweight status dashboard — single HTML page served at /status.
4
+ *
5
+ * Fetches service health, loaded models, cron jobs, and memory stats
6
+ * via internal function calls (same as the MCP tools). Auto-refreshes
7
+ * every 30 seconds. Zero dependencies, no React, no build step.
8
+ *
9
+ * Available when MCP_TRANSPORT=http at http://localhost:{port}/status
10
+ * In stdio mode, starts a separate lightweight HTTP server on port 3334.
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.handleDashboardRequest = handleDashboardRequest;
14
+ const system_status_js_1 = require("./tools/system-status.js");
15
+ const local_llm_models_js_1 = require("./tools/local-llm-models.js");
16
+ async function gatherData(config) {
17
+ const [status, models] = await Promise.all([
18
+ (0, system_status_js_1.handleSystemStatus)({}, config).catch(() => ({ summary: 'error', services: [] })),
19
+ (0, local_llm_models_js_1.handleLocalLlmModels)({ action: 'list' }, config).catch(() => ({ success: false, models: [] })),
20
+ ]);
21
+ return {
22
+ timestamp: new Date().toISOString(),
23
+ services: status,
24
+ models,
25
+ };
26
+ }
27
+ function renderHtml(data) {
28
+ const services = data.services?.services ?? [];
29
+ const models = data.models?.models ?? [];
30
+ const summary = data.services?.summary ?? 'unknown';
31
+ const serviceRows = services.map((s) => {
32
+ const icon = s.status === 'ok' ? '&#9679;' : s.status === 'unconfigured' ? '&#9675;' : '&#9679;';
33
+ const color = s.status === 'ok' ? '#22c55e' : s.status === 'unconfigured' ? '#a3a3a3' : '#ef4444';
34
+ const latency = s.latency_ms ? `${s.latency_ms}ms` : '';
35
+ const detail = (s.detail || '').replace(/</g, '&lt;').substring(0, 120);
36
+ return `<tr>
37
+ <td><span style="color:${color}">${icon}</span> ${s.service}</td>
38
+ <td>${s.status}</td>
39
+ <td>${latency}</td>
40
+ <td class="detail">${detail}</td>
41
+ </tr>`;
42
+ }).join('\n');
43
+ const modelRows = models.map((m) => {
44
+ return `<tr><td>${m.id}</td><td>${m.owned_by || ''}</td></tr>`;
45
+ }).join('\n');
46
+ return `<!DOCTYPE html>
47
+ <html lang="en">
48
+ <head>
49
+ <meta charset="utf-8">
50
+ <meta name="viewport" content="width=device-width, initial-scale=1">
51
+ <meta http-equiv="refresh" content="30">
52
+ <title>elvatis-mcp dashboard</title>
53
+ <style>
54
+ * { margin: 0; padding: 0; box-sizing: border-box; }
55
+ body {
56
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
57
+ background: #0a0a0a; color: #e5e5e5; padding: 24px; max-width: 900px; margin: 0 auto;
58
+ }
59
+ h1 { font-size: 1.5rem; font-weight: 600; margin-bottom: 4px; }
60
+ .subtitle { color: #737373; font-size: 0.85rem; margin-bottom: 24px; }
61
+ .summary {
62
+ font-size: 1.1rem; margin-bottom: 20px; padding: 12px 16px;
63
+ background: #171717; border-radius: 8px; border-left: 3px solid #22c55e;
64
+ }
65
+ .summary.degraded { border-left-color: #f59e0b; }
66
+ .summary.down { border-left-color: #ef4444; }
67
+ h2 { font-size: 1rem; font-weight: 600; margin: 24px 0 8px; color: #a3a3a3; text-transform: uppercase; letter-spacing: 0.05em; font-size: 0.75rem; }
68
+ table { width: 100%; border-collapse: collapse; background: #171717; border-radius: 8px; overflow: hidden; }
69
+ th { text-align: left; padding: 8px 12px; background: #262626; font-weight: 500; font-size: 0.8rem; color: #a3a3a3; }
70
+ td { padding: 8px 12px; border-top: 1px solid #262626; font-size: 0.85rem; }
71
+ .detail { color: #737373; font-size: 0.75rem; max-width: 300px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
72
+ .footer { margin-top: 32px; color: #525252; font-size: 0.75rem; text-align: center; }
73
+ a { color: #60a5fa; text-decoration: none; }
74
+ </style>
75
+ </head>
76
+ <body>
77
+ <h1>elvatis-mcp</h1>
78
+ <div class="subtitle">Status dashboard &middot; auto-refreshes every 30s &middot; ${data.timestamp.replace('T', ' ').substring(0, 19)}</div>
79
+
80
+ <div class="summary ${summary.startsWith('5/5') ? '' : summary.includes('0/') ? 'down' : 'degraded'}">${summary}</div>
81
+
82
+ <h2>Services</h2>
83
+ <table>
84
+ <thead><tr><th>Service</th><th>Status</th><th>Latency</th><th>Detail</th></tr></thead>
85
+ <tbody>${serviceRows}</tbody>
86
+ </table>
87
+
88
+ <h2>Local LLM Models</h2>
89
+ <table>
90
+ <thead><tr><th>Model</th><th>Owner</th></tr></thead>
91
+ <tbody>${modelRows || '<tr><td colspan="2">No models loaded</td></tr>'}</tbody>
92
+ </table>
93
+
94
+ <div class="footer">
95
+ elvatis-mcp v${require('../package.json').version} &middot;
96
+ <a href="https://github.com/elvatis/elvatis-mcp">GitHub</a> &middot;
97
+ <a href="https://www.npmjs.com/package/@elvatis_com/elvatis-mcp">npm</a>
98
+ </div>
99
+ </body>
100
+ </html>`;
101
+ }
102
+ async function handleDashboardRequest(config) {
103
+ const data = await gatherData(config);
104
+ return renderHtml(data);
105
+ }
106
+ //# sourceMappingURL=dashboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../src/dashboard.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -74,6 +74,8 @@ const home_automation_js_1 = require("./tools/home-automation.js");
74
74
  const file_transfer_js_1 = require("./tools/file-transfer.js");
75
75
  const notify_js_1 = require("./tools/notify.js");
76
76
  const cron_manage_js_1 = require("./tools/cron-manage.js");
77
+ const dashboard_js_1 = require("./dashboard.js");
78
+ const llama_server_js_1 = require("./tools/llama-server.js");
77
79
  const local_llm_js_1 = require("./tools/local-llm.js");
78
80
  const splitter_js_1 = require("./tools/splitter.js");
79
81
  function toText(result) {
@@ -134,11 +136,48 @@ async function main() {
134
136
  registerTool(server, 'openclaw_cron_edit', 'Edit an existing cron job. Change its name, message, schedule, or model.', cron_manage_js_1.cronEditSchema.shape, async (args) => ({ content: [{ type: 'text', text: toText(await (0, cron_manage_js_1.handleCronEdit)(args, config)) }] }));
135
137
  registerTool(server, 'openclaw_cron_delete', 'Delete a cron job by its ID.', cron_manage_js_1.cronDeleteSchema.shape, async (args) => ({ content: [{ type: 'text', text: toText(await (0, cron_manage_js_1.handleCronDelete)(args, config)) }] }));
136
138
  registerTool(server, 'openclaw_cron_history', 'Show recent execution history for cron jobs. Optionally filter by job ID.', cron_manage_js_1.cronHistorySchema.shape, async (args) => ({ content: [{ type: 'text', text: toText(await (0, cron_manage_js_1.handleCronHistory)(args, config)) }] }));
139
+ // --- llama.cpp server management ---
140
+ registerTool(server, 'llama_server', 'Manage a local llama.cpp server: start with specific model, cache type (turbo2/turbo3/turbo4 for TurboQuant), '
141
+ + 'GPU layers, and context size. Runs alongside LM Studio on a different port. '
142
+ + 'Use "status" to check, "stop" to kill. Once started, use local_llm_run with the endpoint to query it.', llama_server_js_1.llamaServerSchema.shape, async (args) => ({ content: [{ type: 'text', text: toText(await (0, llama_server_js_1.handleLlamaServer)(args)) }] }));
143
+ // --- Dashboard helper (serves HTML at /status or /) ---
144
+ async function serveDashboard(res) {
145
+ try {
146
+ const html = await (0, dashboard_js_1.handleDashboardRequest)(config);
147
+ res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
148
+ res.end(html);
149
+ }
150
+ catch (err) {
151
+ res.writeHead(500);
152
+ res.end(`Dashboard error: ${err}`);
153
+ }
154
+ }
137
155
  // --- Transport ---
138
156
  if (config.transport === 'stdio') {
139
157
  const transport = new stdio_js_1.StdioServerTransport();
140
158
  await server.connect(transport);
141
159
  process.stderr.write('[elvatis-mcp] Running on stdio transport\n');
160
+ // In stdio mode, start a lightweight dashboard server on a separate port
161
+ const dashPort = config.httpPort + 1; // default: 3334
162
+ const { createServer: createDashServer } = await Promise.resolve().then(() => __importStar(require('http')));
163
+ const dashServer = createDashServer(async (req, res) => {
164
+ if (req.url === '/status' || req.url === '/') {
165
+ await serveDashboard(res);
166
+ }
167
+ else if (req.url === '/api/status') {
168
+ // JSON API for programmatic access
169
+ const data = await (0, system_status_js_1.handleSystemStatus)({}, config).catch(() => ({ error: 'failed' }));
170
+ res.writeHead(200, { 'Content-Type': 'application/json' });
171
+ res.end(JSON.stringify(data));
172
+ }
173
+ else {
174
+ res.writeHead(404);
175
+ res.end('Not found');
176
+ }
177
+ });
178
+ dashServer.listen(dashPort, () => {
179
+ process.stderr.write(`[elvatis-mcp] Dashboard at http://localhost:${dashPort}/status\n`);
180
+ });
142
181
  }
143
182
  else {
144
183
  const { createServer } = await Promise.resolve().then(() => __importStar(require('http')));
@@ -148,14 +187,23 @@ async function main() {
148
187
  if (req.url === '/mcp') {
149
188
  await transport.handleRequest(req, res);
150
189
  }
190
+ else if (req.url === '/status' || req.url === '/') {
191
+ await serveDashboard(res);
192
+ }
193
+ else if (req.url === '/api/status') {
194
+ const data = await (0, system_status_js_1.handleSystemStatus)({}, config).catch(() => ({ error: 'failed' }));
195
+ res.writeHead(200, { 'Content-Type': 'application/json' });
196
+ res.end(JSON.stringify(data));
197
+ }
151
198
  else {
152
199
  res.writeHead(404);
153
- res.end('Not found — MCP endpoint is /mcp');
200
+ res.end('Not found');
154
201
  }
155
202
  });
156
203
  await server.connect(transport);
157
204
  httpServer.listen(config.httpPort, () => {
158
205
  process.stderr.write(`[elvatis-mcp] Running on HTTP at http://localhost:${config.httpPort}/mcp\n`);
206
+ process.stderr.write(`[elvatis-mcp] Dashboard at http://localhost:${config.httpPort}/status\n`);
159
207
  });
160
208
  }
161
209
  }
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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"spawn.d.ts","sourceRoot":"","sources":["../src/spawn.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAqCH;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,CA4CjB"}
1
+ {"version":3,"file":"spawn.d.ts","sourceRoot":"","sources":["../src/spawn.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAqCH;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,CA6CjB"}
package/dist/spawn.js CHANGED
@@ -79,7 +79,8 @@ function spawnEnv() {
79
79
  function spawnLocal(cmd, args, timeoutMs) {
80
80
  return new Promise((resolve, reject) => {
81
81
  const proc = (0, child_process_1.spawn)(cmd, args, {
82
- shell: false,
82
+ // shell: true on Windows so cmd.exe resolves .cmd/.ps1 wrappers (e.g. gemini.cmd, codex.cmd)
83
+ shell: process.platform === 'win32',
83
84
  windowsHide: true,
84
85
  env: spawnEnv(),
85
86
  });
package/dist/spawn.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"spawn.js","sourceRoot":"","sources":["../src/spawn.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spawn.js","sourceRoot":"","sources":["../src/spawn.ts"],"names":[],"mappings":"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"}
@@ -34,8 +34,8 @@ export declare const codexRunSchema: z.ZodObject<{
34
34
  model?: string | undefined;
35
35
  }, {
36
36
  prompt: string;
37
- timeout_seconds?: number | undefined;
38
37
  model?: string | undefined;
38
+ timeout_seconds?: number | undefined;
39
39
  approval_mode?: "never" | "on-request" | undefined;
40
40
  }>;
41
41
  export declare function handleCodexRun(args: {
@@ -43,14 +43,14 @@ export declare const cronEditSchema: z.ZodObject<{
43
43
  }, "strip", z.ZodTypeAny, {
44
44
  id: string;
45
45
  message?: string | undefined;
46
- name?: string | undefined;
47
46
  model?: string | undefined;
47
+ name?: string | undefined;
48
48
  schedule?: string | undefined;
49
49
  }, {
50
50
  id: string;
51
51
  message?: string | undefined;
52
- name?: string | undefined;
53
52
  model?: string | undefined;
53
+ name?: string | undefined;
54
54
  schedule?: string | undefined;
55
55
  }>;
56
56
  export declare const cronDeleteSchema: z.ZodObject<{
@@ -28,8 +28,8 @@ export declare const geminiRunSchema: z.ZodObject<{
28
28
  model?: string | undefined;
29
29
  }, {
30
30
  prompt: string;
31
- timeout_seconds?: number | undefined;
32
31
  model?: string | undefined;
32
+ timeout_seconds?: number | undefined;
33
33
  }>;
34
34
  export declare function handleGeminiRun(args: {
35
35
  prompt: string;
@@ -11,10 +11,10 @@ export declare const homeAutomationSchema: z.ZodObject<{
11
11
  action: z.ZodEnum<["list", "trigger", "enable", "disable"]>;
12
12
  entity_id: z.ZodOptional<z.ZodString>;
13
13
  }, "strip", z.ZodTypeAny, {
14
- action: "trigger" | "list" | "enable" | "disable";
14
+ action: "list" | "trigger" | "enable" | "disable";
15
15
  entity_id?: string | undefined;
16
16
  }, {
17
- action: "trigger" | "list" | "enable" | "disable";
17
+ action: "list" | "trigger" | "enable" | "disable";
18
18
  entity_id?: string | undefined;
19
19
  }>;
20
20
  export declare function handleHomeAutomation(args: {
@@ -14,14 +14,14 @@ export declare const lightSchema: z.ZodObject<{
14
14
  color_temp_kelvin: z.ZodOptional<z.ZodNumber>;
15
15
  rgb_color: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
16
16
  }, "strip", z.ZodTypeAny, {
17
- entity_id: string;
18
17
  action: "on" | "off" | "toggle";
18
+ entity_id: string;
19
19
  brightness_pct?: number | undefined;
20
20
  color_temp_kelvin?: number | undefined;
21
21
  rgb_color?: [number, number, number] | undefined;
22
22
  }, {
23
- entity_id: string;
24
23
  action: "on" | "off" | "toggle";
24
+ entity_id: string;
25
25
  brightness_pct?: number | undefined;
26
26
  color_temp_kelvin?: number | undefined;
27
27
  rgb_color?: [number, number, number] | undefined;
@@ -0,0 +1,114 @@
1
+ /**
2
+ * llama_server — manage a local llama.cpp server instance.
3
+ *
4
+ * Start, stop, and configure a llama.cpp / llama-server process with
5
+ * specific model paths, cache types (including TurboQuant formats),
6
+ * GPU layers, context size, and port. Runs alongside LM Studio on a
7
+ * different port.
8
+ *
9
+ * The started process is tracked in memory and can be stopped later.
10
+ * This is NOT the same as LM Studio; it directly runs the llama-server
11
+ * binary which supports advanced features like custom KV cache formats.
12
+ */
13
+ import { z } from 'zod';
14
+ export declare const llamaServerSchema: z.ZodObject<{
15
+ action: z.ZodEnum<["start", "stop", "status"]>;
16
+ model_path: z.ZodOptional<z.ZodString>;
17
+ port: z.ZodDefault<z.ZodNumber>;
18
+ gpu_layers: z.ZodDefault<z.ZodNumber>;
19
+ context_size: z.ZodDefault<z.ZodNumber>;
20
+ cache_type_k: z.ZodOptional<z.ZodString>;
21
+ cache_type_v: z.ZodOptional<z.ZodString>;
22
+ flash_attention: z.ZodDefault<z.ZodBoolean>;
23
+ extra_args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
24
+ }, "strip", z.ZodTypeAny, {
25
+ action: "status" | "start" | "stop";
26
+ port: number;
27
+ gpu_layers: number;
28
+ context_size: number;
29
+ flash_attention: boolean;
30
+ model_path?: string | undefined;
31
+ cache_type_k?: string | undefined;
32
+ cache_type_v?: string | undefined;
33
+ extra_args?: string[] | undefined;
34
+ }, {
35
+ action: "status" | "start" | "stop";
36
+ model_path?: string | undefined;
37
+ port?: number | undefined;
38
+ gpu_layers?: number | undefined;
39
+ context_size?: number | undefined;
40
+ cache_type_k?: string | undefined;
41
+ cache_type_v?: string | undefined;
42
+ flash_attention?: boolean | undefined;
43
+ extra_args?: string[] | undefined;
44
+ }>;
45
+ export declare function handleLlamaServer(args: {
46
+ action: string;
47
+ model_path?: string;
48
+ port: number;
49
+ gpu_layers: number;
50
+ context_size: number;
51
+ cache_type_k?: string;
52
+ cache_type_v?: string;
53
+ flash_attention: boolean;
54
+ extra_args?: string[];
55
+ }): Promise<{
56
+ success: boolean;
57
+ error?: string;
58
+ } | {
59
+ running: boolean;
60
+ message: string;
61
+ pid?: undefined;
62
+ port?: undefined;
63
+ model?: undefined;
64
+ started_at?: undefined;
65
+ endpoint?: undefined;
66
+ success?: undefined;
67
+ cache?: undefined;
68
+ context_size?: undefined;
69
+ gpu_layers?: undefined;
70
+ hint?: undefined;
71
+ } | {
72
+ running: boolean;
73
+ pid: number | undefined;
74
+ port: number | undefined;
75
+ model: string | undefined;
76
+ started_at: string | undefined;
77
+ endpoint: string;
78
+ message?: undefined;
79
+ success?: undefined;
80
+ cache?: undefined;
81
+ context_size?: undefined;
82
+ gpu_layers?: undefined;
83
+ hint?: undefined;
84
+ } | {
85
+ success: boolean;
86
+ message: string;
87
+ running?: undefined;
88
+ pid?: undefined;
89
+ port?: undefined;
90
+ model?: undefined;
91
+ started_at?: undefined;
92
+ endpoint?: undefined;
93
+ cache?: undefined;
94
+ context_size?: undefined;
95
+ gpu_layers?: undefined;
96
+ hint?: undefined;
97
+ } | {
98
+ success: boolean;
99
+ pid: number | undefined;
100
+ port: number;
101
+ model: string;
102
+ endpoint: string;
103
+ cache: {
104
+ keys: string;
105
+ values: string;
106
+ };
107
+ context_size: number;
108
+ gpu_layers: number;
109
+ hint: string;
110
+ running?: undefined;
111
+ message?: undefined;
112
+ started_at?: undefined;
113
+ }>;
114
+ //# sourceMappingURL=llama-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llama-server.d.ts","sourceRoot":"","sources":["../../src/tools/llama-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4B5B,CAAC;AAcH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE;IACJ,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;aAkEsD,OAAO;YAAU,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8E/E"}
@@ -0,0 +1,170 @@
1
+ "use strict";
2
+ /**
3
+ * llama_server — manage a local llama.cpp server instance.
4
+ *
5
+ * Start, stop, and configure a llama.cpp / llama-server process with
6
+ * specific model paths, cache types (including TurboQuant formats),
7
+ * GPU layers, context size, and port. Runs alongside LM Studio on a
8
+ * different port.
9
+ *
10
+ * The started process is tracked in memory and can be stopped later.
11
+ * This is NOT the same as LM Studio; it directly runs the llama-server
12
+ * binary which supports advanced features like custom KV cache formats.
13
+ */
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.llamaServerSchema = void 0;
16
+ exports.handleLlamaServer = handleLlamaServer;
17
+ const zod_1 = require("zod");
18
+ const child_process_1 = require("child_process");
19
+ // --- Schema ---
20
+ exports.llamaServerSchema = zod_1.z.object({
21
+ action: zod_1.z.enum(['start', 'stop', 'status']).describe('"start" launches a llama-server process, "stop" kills it, "status" shows if running.'),
22
+ model_path: zod_1.z.string().optional().describe('Path to GGUF model file. Required for "start".'),
23
+ port: zod_1.z.number().min(1024).max(65535).default(8082).describe('Port to run the server on (default: 8082, avoids conflict with LM Studio on 1234).'),
24
+ gpu_layers: zod_1.z.number().min(0).default(0).describe('Number of layers to offload to GPU (0 = CPU only). Use -1 for all layers.'),
25
+ context_size: zod_1.z.number().min(512).default(4096).describe('Context window size in tokens (default: 4096).'),
26
+ cache_type_k: zod_1.z.string().optional().describe('KV cache type for keys. Options: q8_0, q4_0, f16, turbo2, turbo3, turbo4 (TurboQuant fork). Default: f16.'),
27
+ cache_type_v: zod_1.z.string().optional().describe('KV cache type for values. Same options as cache_type_k. Asymmetric config (e.g. q8_0 keys + turbo4 values) often gives best results.'),
28
+ flash_attention: zod_1.z.boolean().default(false).describe('Enable flash attention (-fa). Recommended for long contexts.'),
29
+ extra_args: zod_1.z.array(zod_1.z.string()).optional().describe('Additional CLI arguments to pass to llama-server (e.g. ["--threads", "8"]).'),
30
+ });
31
+ // --- Process tracking ---
32
+ let activeProcess = null;
33
+ let activeConfig = null;
34
+ // --- Handler ---
35
+ async function handleLlamaServer(args) {
36
+ switch (args.action) {
37
+ case 'status': {
38
+ if (!activeProcess || activeProcess.killed) {
39
+ return { running: false, message: 'No llama-server process is running.' };
40
+ }
41
+ return {
42
+ running: true,
43
+ pid: activeConfig?.pid,
44
+ port: activeConfig?.port,
45
+ model: activeConfig?.model_path,
46
+ started_at: activeConfig?.started_at,
47
+ endpoint: `http://localhost:${activeConfig?.port}/v1`,
48
+ };
49
+ }
50
+ case 'stop': {
51
+ if (!activeProcess || activeProcess.killed) {
52
+ return { success: false, error: 'No llama-server process is running.' };
53
+ }
54
+ const pid = activeProcess.pid;
55
+ activeProcess.kill('SIGTERM');
56
+ activeProcess = null;
57
+ activeConfig = null;
58
+ return { success: true, message: `llama-server (PID ${pid}) stopped.` };
59
+ }
60
+ case 'start': {
61
+ if (activeProcess && !activeProcess.killed) {
62
+ return {
63
+ success: false,
64
+ error: `llama-server is already running on port ${activeConfig?.port} (PID ${activeConfig?.pid}). Stop it first.`,
65
+ };
66
+ }
67
+ if (!args.model_path) {
68
+ return { success: false, error: '"model_path" is required for start.' };
69
+ }
70
+ // Build llama-server arguments
71
+ const cliArgs = [
72
+ '-m', args.model_path,
73
+ '-c', String(args.context_size),
74
+ '-ngl', String(args.gpu_layers),
75
+ '--port', String(args.port),
76
+ '-np', '1', // single parallel slot
77
+ ];
78
+ if (args.cache_type_k)
79
+ cliArgs.push('--cache-type-k', args.cache_type_k);
80
+ if (args.cache_type_v)
81
+ cliArgs.push('--cache-type-v', args.cache_type_v);
82
+ if (args.flash_attention)
83
+ cliArgs.push('-fa', 'on');
84
+ if (args.extra_args)
85
+ cliArgs.push(...args.extra_args);
86
+ // Try to find the llama-server binary
87
+ const bin = 'llama-server';
88
+ try {
89
+ const proc = (0, child_process_1.spawn)(bin, cliArgs, {
90
+ shell: process.platform === 'win32',
91
+ windowsHide: true,
92
+ stdio: ['ignore', 'pipe', 'pipe'],
93
+ detached: false,
94
+ });
95
+ // Wait briefly to see if it crashes immediately
96
+ const startResult = await new Promise((resolve) => {
97
+ let stderr = '';
98
+ const earlyExit = (code) => {
99
+ resolve({
100
+ success: false,
101
+ error: `llama-server exited immediately (code ${code}): ${stderr.substring(0, 500)}`,
102
+ });
103
+ };
104
+ proc.stderr?.on('data', (d) => { stderr += d.toString(); });
105
+ proc.on('error', (err) => {
106
+ if (err.code === 'ENOENT') {
107
+ resolve({
108
+ success: false,
109
+ error: 'llama-server binary not found. Install llama.cpp and ensure llama-server is on PATH.',
110
+ });
111
+ }
112
+ else {
113
+ resolve({ success: false, error: String(err) });
114
+ }
115
+ });
116
+ proc.on('close', earlyExit);
117
+ // If it's still running after 2 seconds, consider it started
118
+ setTimeout(() => {
119
+ proc.removeListener('close', earlyExit);
120
+ resolve({ success: true });
121
+ }, 2000);
122
+ });
123
+ if (!startResult.success) {
124
+ return startResult;
125
+ }
126
+ activeProcess = proc;
127
+ activeConfig = {
128
+ port: args.port,
129
+ model_path: args.model_path,
130
+ pid: proc.pid,
131
+ started_at: new Date().toISOString(),
132
+ };
133
+ // Log process output to stderr for debugging
134
+ proc.stdout?.on('data', (d) => {
135
+ process.stderr.write(`[llama-server] ${d.toString()}`);
136
+ });
137
+ proc.stderr?.on('data', (d) => {
138
+ process.stderr.write(`[llama-server] ${d.toString()}`);
139
+ });
140
+ proc.on('close', (code) => {
141
+ process.stderr.write(`[llama-server] Process exited (code ${code})\n`);
142
+ if (activeProcess === proc) {
143
+ activeProcess = null;
144
+ activeConfig = null;
145
+ }
146
+ });
147
+ return {
148
+ success: true,
149
+ pid: proc.pid,
150
+ port: args.port,
151
+ model: args.model_path,
152
+ endpoint: `http://localhost:${args.port}/v1`,
153
+ cache: {
154
+ keys: args.cache_type_k ?? 'f16 (default)',
155
+ values: args.cache_type_v ?? 'f16 (default)',
156
+ },
157
+ context_size: args.context_size,
158
+ gpu_layers: args.gpu_layers,
159
+ hint: `Use local_llm_run with endpoint "http://localhost:${args.port}/v1" to query this server.`,
160
+ };
161
+ }
162
+ catch (err) {
163
+ return { success: false, error: err instanceof Error ? err.message : String(err) };
164
+ }
165
+ }
166
+ default:
167
+ return { success: false, error: `Unknown action: ${args.action}` };
168
+ }
169
+ }
170
+ //# sourceMappingURL=llama-server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llama-server.js","sourceRoot":"","sources":["../../src/tools/llama-server.ts"],"names":[],"mappings":"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"}
@@ -28,17 +28,17 @@ export declare const localLlmRunSchema: z.ZodObject<{
28
28
  }, "strip", z.ZodTypeAny, {
29
29
  prompt: string;
30
30
  timeout_seconds: number;
31
- temperature?: number | undefined;
32
31
  model?: string | undefined;
33
32
  endpoint?: string | undefined;
33
+ temperature?: number | undefined;
34
34
  system?: string | undefined;
35
35
  max_tokens?: number | undefined;
36
36
  }, {
37
37
  prompt: string;
38
- temperature?: number | undefined;
39
- timeout_seconds?: number | undefined;
40
38
  model?: string | undefined;
41
39
  endpoint?: string | undefined;
40
+ temperature?: number | undefined;
41
+ timeout_seconds?: number | undefined;
42
42
  system?: string | undefined;
43
43
  max_tokens?: number | undefined;
44
44
  }>;
@@ -18,10 +18,10 @@ export declare const promptSplitSchema: z.ZodObject<{
18
18
  strategy: z.ZodDefault<z.ZodEnum<["auto", "gemini", "local", "heuristic"]>>;
19
19
  }, "strip", z.ZodTypeAny, {
20
20
  prompt: string;
21
- strategy: "auto" | "gemini" | "local" | "heuristic";
21
+ strategy: "gemini" | "auto" | "local" | "heuristic";
22
22
  }, {
23
23
  prompt: string;
24
- strategy?: "auto" | "gemini" | "local" | "heuristic" | undefined;
24
+ strategy?: "gemini" | "auto" | "local" | "heuristic" | undefined;
25
25
  }>;
26
26
  export interface Subtask {
27
27
  id: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elvatis_com/elvatis-mcp",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "description": "MCP server for OpenClaw — expose smart home, memory, cron, and more to Claude Desktop, Cursor, Windsurf, and any MCP client",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",