@towry/mcp 0.1.6 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,16 +1,16 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * @towry/mcp - Knowledge Graph & Tmux MCP Server
3
+ * @towry/mcp - Knowledge Graph & Grep MCP Server
4
4
  *
5
5
  * Provides tools for:
6
6
  * - Document management in a knowledge graph
7
- * - Tmux pane management and control
7
+ * - Fast grep-based code search
8
8
  *
9
9
  * Environment Variables:
10
10
  * - KG_API_URL: API base URL (default: http://localhost:8361)
11
11
  * - KG_API_KEY or KG_API_TOKEN: API authentication key
12
12
  *
13
- * Keywords: mcp, knowledge-graph, document-management, tmux, ai-tools, llm-server
13
+ * Keywords: mcp, knowledge-graph, document-management, grep, ai-tools, llm-server
14
14
  */
15
15
  export {};
16
16
  //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -1,22 +1,20 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * @towry/mcp - Knowledge Graph & Tmux MCP Server
3
+ * @towry/mcp - Knowledge Graph & Grep MCP Server
4
4
  *
5
5
  * Provides tools for:
6
6
  * - Document management in a knowledge graph
7
- * - Tmux pane management and control
7
+ * - Fast grep-based code search
8
8
  *
9
9
  * Environment Variables:
10
10
  * - KG_API_URL: API base URL (default: http://localhost:8361)
11
11
  * - KG_API_KEY or KG_API_TOKEN: API authentication key
12
12
  *
13
- * Keywords: mcp, knowledge-graph, document-management, tmux, ai-tools, llm-server
13
+ * Keywords: mcp, knowledge-graph, document-management, grep, ai-tools, llm-server
14
14
  */
15
- import { spawn } from "node:child_process";
16
15
  import { z } from "zod";
17
16
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
18
17
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
19
- import { TmuxCLI, getCurrentPaneInfo, shellQuote } from "./tmux.js";
20
18
  import { registerGrepFastTools } from "./grep-fast.js";
21
19
  // ============================================================================
22
20
  // Knowledge Graph Types
@@ -50,16 +48,11 @@ async function kgApiRequest(method, path, body) {
50
48
  return res.json();
51
49
  }
52
50
  // ============================================================================
53
- // Tmux CLI Instance
54
- // ============================================================================
55
- const tmux = new TmuxCLI();
56
- const DEFAULT_CWD = process.cwd();
57
- // ============================================================================
58
51
  // MCP Server
59
52
  // ============================================================================
60
53
  const server = new McpServer({
61
54
  name: "towry-mcp",
62
- version: "0.1.0",
55
+ version: "0.2.0",
63
56
  });
64
57
  // ============================================================================
65
58
  // Knowledge Graph Tools
@@ -193,383 +186,6 @@ server.registerTool("kg_status", {
193
186
  };
194
187
  });
195
188
  // ============================================================================
196
- // Tmux Tools
197
- // ============================================================================
198
- // tmux_list_sessions - List all tmux sessions
199
- server.registerTool("tmux_list_sessions", {
200
- description: "List all tmux sessions with their windows count and attachment status",
201
- inputSchema: {},
202
- }, async () => {
203
- try {
204
- const sessions = await tmux.listTmuxSessions();
205
- return {
206
- content: [{ type: "text", text: JSON.stringify(sessions, null, 2) }],
207
- };
208
- }
209
- catch (err) {
210
- return {
211
- content: [{ type: "text", text: String(err) }],
212
- isError: true,
213
- };
214
- }
215
- });
216
- // tmux_create_session - Create a new tmux session
217
- server.registerTool("tmux_create_session", {
218
- description: "Create a new detached tmux session",
219
- inputSchema: {
220
- name: z.string().describe("Session name"),
221
- command: z
222
- .string()
223
- .optional()
224
- .describe("Optional command to run in the new session"),
225
- cwd: z
226
- .string()
227
- .optional()
228
- .describe("Working directory for the session. Must be an absolute path that exists."),
229
- },
230
- }, async (params) => {
231
- try {
232
- const result = await tmux.createTmuxSession(params.name, params.command, params.cwd);
233
- if (!result) {
234
- return {
235
- content: [{ type: "text", text: "failed to create session" }],
236
- isError: true,
237
- };
238
- }
239
- return {
240
- content: [{ type: "text", text: `created session: ${result}` }],
241
- };
242
- }
243
- catch (err) {
244
- return {
245
- content: [{ type: "text", text: String(err) }],
246
- isError: true,
247
- };
248
- }
249
- });
250
- // tmux_kill_session - Kill a tmux session
251
- server.registerTool("tmux_kill_session", {
252
- description: "Kill a tmux session. Cannot kill the current session you are attached to.",
253
- inputSchema: {
254
- name: z.string().describe("Session name to kill"),
255
- },
256
- }, async (params) => {
257
- try {
258
- const result = await tmux.killTmuxSession(params.name);
259
- if (!result) {
260
- return {
261
- content: [{ type: "text", text: "failed to kill session" }],
262
- isError: true,
263
- };
264
- }
265
- return {
266
- content: [{ type: "text", text: `killed session: ${params.name}` }],
267
- };
268
- }
269
- catch (err) {
270
- return {
271
- content: [{ type: "text", text: String(err) }],
272
- isError: true,
273
- };
274
- }
275
- });
276
- // tmux_create_window - Create a new window
277
- server.registerTool("tmux_create_window", {
278
- description: "Create a new window in the current or specified session. Window is created in background by default (detached).",
279
- inputSchema: {
280
- name: z.string().optional().describe("Window name"),
281
- command: z
282
- .string()
283
- .optional()
284
- .describe("Optional command to run in the new window"),
285
- session: z
286
- .string()
287
- .optional()
288
- .describe("Target session. Defaults to current session."),
289
- cwd: z
290
- .string()
291
- .optional()
292
- .describe("Working directory for the window. Must be an absolute path that exists."),
293
- detached: z
294
- .boolean()
295
- .default(true)
296
- .optional()
297
- .describe("Create window in background without switching to it. Default: true."),
298
- },
299
- }, async (params) => {
300
- try {
301
- const paneId = await tmux.createTmuxWindow({
302
- name: params.name,
303
- command: params.command,
304
- session: params.session,
305
- cwd: params.cwd,
306
- detached: params.detached ?? true,
307
- });
308
- if (!paneId) {
309
- return {
310
- content: [{ type: "text", text: "failed to create window" }],
311
- isError: true,
312
- };
313
- }
314
- return {
315
- content: [{ type: "text", text: `created window in pane ${paneId}` }],
316
- };
317
- }
318
- catch (err) {
319
- return {
320
- content: [{ type: "text", text: String(err) }],
321
- isError: true,
322
- };
323
- }
324
- });
325
- // tmux_list_panes - List all tmux panes
326
- server.registerTool("tmux_list_panes", {
327
- description: "List all tmux panes. If session is specified, lists all panes in that session across all windows.",
328
- inputSchema: {
329
- session: z
330
- .string()
331
- .optional()
332
- .describe("Session name to list panes from. If omitted, lists panes in current window."),
333
- },
334
- }, async (params) => {
335
- try {
336
- const panes = await tmux.listTmuxPanes(params.session);
337
- // Filter out current pane to prevent self-operations
338
- const currentPane = process.env.TMUX_PANE || (await getCurrentPaneInfo()).id;
339
- const filtered = currentPane
340
- ? panes.filter((p) => p.id !== currentPane)
341
- : panes;
342
- return {
343
- content: [{ type: "text", text: JSON.stringify(filtered, null, 2) }],
344
- };
345
- }
346
- catch (err) {
347
- return {
348
- content: [{ type: "text", text: String(err) }],
349
- isError: true,
350
- };
351
- }
352
- });
353
- // tmux_send - Send keys to a pane
354
- server.registerTool("tmux_send", {
355
- description: "Send keys to a tmux pane with pane id, after you send, wait for notify from target pane or user, do not polling for result",
356
- inputSchema: {
357
- pane: z
358
- .string()
359
- .describe("Target pane id in %N format (e.g., %886). Note: pane id is different from pane index. Use tmux_list_panes to get pane ids."),
360
- keys: z.string().describe("Keys to send"),
361
- enter: z.boolean().default(true).optional().describe("Send Enter after"),
362
- },
363
- }, async (params) => {
364
- const targetPane = params.pane;
365
- const currentPane = process.env.TMUX_PANE;
366
- if (currentPane && targetPane === currentPane) {
367
- return {
368
- content: [{ type: "text", text: "cannot send keys to current pane" }],
369
- isError: true,
370
- };
371
- }
372
- try {
373
- const paneInfo = await getCurrentPaneInfo();
374
- const signature = paneInfo.id
375
- ? ` [from ${paneInfo.id}${paneInfo.title ? `: ${paneInfo.title}` : ""}]`
376
- : "";
377
- const keysWithSig = params.keys + signature;
378
- await tmux.sendTmuxKeys(keysWithSig, {
379
- pane: targetPane,
380
- enter: params.enter ?? true,
381
- });
382
- return {
383
- content: [
384
- {
385
- type: "text",
386
- text: `sent to ${targetPane}${params.enter === false ? " (no enter)" : ""}`,
387
- },
388
- ],
389
- };
390
- }
391
- catch (err) {
392
- return {
393
- content: [{ type: "text", text: String(err) }],
394
- isError: true,
395
- };
396
- }
397
- });
398
- // tmux_kill_pane - Kill a pane
399
- server.registerTool("tmux_kill_pane", {
400
- description: "Kill a tmux pane by index (cannot close the last page)",
401
- inputSchema: {
402
- pane: z
403
- .string()
404
- .describe("Pane ID in %N format (e.g., %886). Do NOT use session:window.pane format - indices shift when panes are killed."),
405
- },
406
- }, async (params) => {
407
- // Reject volatile formatted IDs
408
- if (params.pane.includes(":") || params.pane.includes(".")) {
409
- return {
410
- content: [
411
- {
412
- type: "text",
413
- text: `Invalid pane ID format: "${params.pane}". Use stable %N format (e.g., %886), not session:window.pane format which shifts when panes are killed.`,
414
- },
415
- ],
416
- isError: true,
417
- };
418
- }
419
- const normalize = (id) => (id.startsWith("%") ? id : `%${id}`);
420
- const inputNorm = normalize(params.pane);
421
- // Safety: prevent killing current pane
422
- const envPane = process.env.TMUX_PANE;
423
- if (envPane && inputNorm === normalize(envPane)) {
424
- return {
425
- content: [{ type: "text", text: "cannot kill current pane (self)" }],
426
- isError: true,
427
- };
428
- }
429
- if (!envPane) {
430
- const currentInfo = await getCurrentPaneInfo();
431
- if (currentInfo.id && inputNorm === normalize(currentInfo.id)) {
432
- return {
433
- content: [{ type: "text", text: "cannot kill current pane (self)" }],
434
- isError: true,
435
- };
436
- }
437
- }
438
- try {
439
- await tmux.killTmuxPane(inputNorm);
440
- return {
441
- content: [{ type: "text", text: "killed" }],
442
- };
443
- }
444
- catch (err) {
445
- return {
446
- content: [{ type: "text", text: String(err) }],
447
- isError: true,
448
- };
449
- }
450
- });
451
- // tmux_capture - Capture pane content
452
- server.registerTool("tmux_capture", {
453
- description: "Capture the content of a tmux pane. Defaults to last 10 lines. Use filter for grep with context. Do not use this for checking result, just wait for notify.",
454
- inputSchema: {
455
- pane: z.string().describe("Target pane id to capture"),
456
- lines: z
457
- .number()
458
- .optional()
459
- .describe("Number of lines to capture from end (default: 10)"),
460
- filter: z
461
- .string()
462
- .optional()
463
- .describe("Grep pattern (case-insensitive, extended regex). Use | for OR: 'error|fail|warning'"),
464
- },
465
- }, async (params) => {
466
- const currentPane = process.env.TMUX_PANE;
467
- if (currentPane && params.pane === currentPane) {
468
- return {
469
- content: [{ type: "text", text: "cannot capture current pane" }],
470
- isError: true,
471
- };
472
- }
473
- try {
474
- let output = await tmux.captureTmuxPane({
475
- pane: params.pane,
476
- lines: params.lines ?? 10,
477
- });
478
- if (params.filter?.trim()) {
479
- const grepProc = spawn("grep", ["-i", "-E", "-C3", params.filter.trim()], {
480
- stdio: ["pipe", "pipe", "pipe"],
481
- });
482
- grepProc.stdin.write(output);
483
- grepProc.stdin.end();
484
- output = await new Promise((resolve) => {
485
- let out = "";
486
- grepProc.stdout.on("data", (d) => (out += d.toString()));
487
- grepProc.on("close", () => resolve(out.trim()));
488
- });
489
- }
490
- return {
491
- content: [{ type: "text", text: output || "(no matching content)" }],
492
- };
493
- }
494
- catch (err) {
495
- return {
496
- content: [{ type: "text", text: String(err) }],
497
- isError: true,
498
- };
499
- }
500
- });
501
- // tmux_run - Run command in new pane
502
- server.registerTool("tmux_run", {
503
- description: "Run a long-running command in a new tmux pane. Checks for existing panes with same name to prevent duplicates (e.g., port conflicts).",
504
- inputSchema: {
505
- command: z.string().describe("Command to run"),
506
- name: z
507
- .string()
508
- .optional()
509
- .describe("Unique identifier for duplicate detection. If omitted, derived from command."),
510
- cwd: z
511
- .string()
512
- .optional()
513
- .describe("Working directory for the command. Defaults to current project cwd."),
514
- },
515
- }, async (params) => {
516
- if (!params.command?.trim()) {
517
- return {
518
- content: [{ type: "text", text: "command is required" }],
519
- isError: true,
520
- };
521
- }
522
- const workingDir = params.cwd || DEFAULT_CWD;
523
- // Derive title
524
- const cmdSlug = params.command
525
- .trim()
526
- .slice(0, 40)
527
- .replace(/[^a-zA-Z0-9 _\-.]/g, "")
528
- .trim();
529
- const title = params.name?.trim()
530
- ? `pi-run:${cmdSlug}:${params.name.trim()}`
531
- : `pi-run:${cmdSlug}`;
532
- try {
533
- // Check for existing pane with same title
534
- const panes = await tmux.listTmuxPanes();
535
- const existing = panes.find((pane) => pane.title === title);
536
- if (existing) {
537
- return {
538
- content: [
539
- {
540
- type: "text",
541
- text: `pane "${title}" already exists: ${existing.id}. Kill it first to restart.`,
542
- },
543
- ],
544
- isError: true,
545
- };
546
- }
547
- // Build command with title setting
548
- const startCommand = `cd ${shellQuote(workingDir)} && tmux set-option -p allow-set-title off && tmux select-pane -T ${shellQuote(title)} && ${params.command}`;
549
- const paneId = await tmux.launchTmuxPane(startCommand, {
550
- vertical: true,
551
- size: 50,
552
- });
553
- if (!paneId) {
554
- return {
555
- content: [{ type: "text", text: "launch failed" }],
556
- isError: true,
557
- };
558
- }
559
- return {
560
- content: [
561
- { type: "text", text: `started in pane ${paneId}. title: ${title}` },
562
- ],
563
- };
564
- }
565
- catch (err) {
566
- return {
567
- content: [{ type: "text", text: String(err) }],
568
- isError: true,
569
- };
570
- }
571
- });
572
- // ============================================================================
573
189
  // Grep Fast Tools
574
190
  // ============================================================================
575
191
  registerGrepFastTools(server);
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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@towry/mcp",
3
- "version": "0.1.6",
3
+ "version": "0.2.0",
4
4
  "description": "MCP server implementation",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
package/dist/tmux.d.ts DELETED
@@ -1,127 +0,0 @@
1
- /**
2
- * Tmux CLI Controller - TypeScript port
3
- *
4
- * Provides tmux pane management without external Python dependency.
5
- * Auto-detects whether running inside tmux or not.
6
- *
7
- * Keywords: tmux, pane-management, terminal-multiplexer
8
- */
9
- interface PaneInfo {
10
- id: string;
11
- index: string;
12
- title: string;
13
- active: boolean;
14
- size: string;
15
- command: string;
16
- formatted_id: string;
17
- window_index?: string;
18
- window_name?: string;
19
- }
20
- interface SessionInfo {
21
- name: string;
22
- id: string;
23
- windows: string;
24
- attached: boolean;
25
- created: string;
26
- current: boolean;
27
- }
28
- export declare class TmuxCLIController {
29
- private targetPane;
30
- getCurrentSession(): Promise<string | null>;
31
- getCurrentWindow(): Promise<string | null>;
32
- getCurrentPane(): Promise<string | null>;
33
- getCurrentPaneIndex(): Promise<string | null>;
34
- formatPaneIdentifier(paneId: string): Promise<string>;
35
- resolvePaneIdentifier(identifier: string): Promise<string | null>;
36
- getCurrentWindowId(): Promise<string | null>;
37
- listPanes(session?: string): Promise<PaneInfo[]>;
38
- listSessions(): Promise<SessionInfo[]>;
39
- createSession(name: string, command?: string, cwd?: string): Promise<string | null>;
40
- killSession(name: string): Promise<boolean>;
41
- createWindow(options?: {
42
- name?: string;
43
- command?: string;
44
- session?: string;
45
- cwd?: string;
46
- detached?: boolean;
47
- }): Promise<string | null>;
48
- createPane(vertical?: boolean, size?: number, startCommand?: string): Promise<string | null>;
49
- selectPane(paneId?: string, paneIndex?: number): void;
50
- sendKeys(text: string, paneId?: string, enter?: boolean, delayEnter?: boolean | number): Promise<void>;
51
- capturePane(paneId?: string, lines?: number): Promise<string>;
52
- waitForIdle(paneId?: string, idleTime?: number, checkInterval?: number, timeout?: number): Promise<boolean>;
53
- killPane(paneId?: string): Promise<void>;
54
- sendInterrupt(paneId?: string): Promise<void>;
55
- sendEscape(paneId?: string): Promise<void>;
56
- launchCli(command: string, vertical?: boolean, size?: number): Promise<{
57
- paneId: string;
58
- formattedId: string;
59
- } | null>;
60
- }
61
- export declare class RemoteTmuxController {
62
- private sessionName;
63
- private targetWindow;
64
- constructor(sessionName?: string);
65
- ensureSession(): Promise<void>;
66
- private windowTarget;
67
- listPanes(): Promise<PaneInfo[]>;
68
- launchCli(command: string, name?: string): Promise<string | null>;
69
- sendKeys(text: string, paneId?: string, enter?: boolean, delayEnter?: boolean | number): Promise<void>;
70
- capturePane(paneId?: string, lines?: number): Promise<string>;
71
- waitForIdle(paneId?: string, idleTime?: number, checkInterval?: number, timeout?: number): Promise<boolean>;
72
- sendInterrupt(paneId?: string): Promise<void>;
73
- sendEscape(paneId?: string): Promise<void>;
74
- killWindow(windowId?: string): Promise<void>;
75
- attachSession(): Promise<void>;
76
- cleanupSession(): Promise<void>;
77
- }
78
- export declare class TmuxCLI {
79
- private controller;
80
- private mode;
81
- readonly inTmux: boolean;
82
- constructor(session?: string);
83
- listTmuxPanes(session?: string): Promise<PaneInfo[]>;
84
- listTmuxSessions(): Promise<SessionInfo[]>;
85
- createTmuxSession(name: string, command?: string, cwd?: string): Promise<string | null>;
86
- killTmuxSession(name: string): Promise<boolean>;
87
- createTmuxWindow(options?: {
88
- name?: string;
89
- command?: string;
90
- session?: string;
91
- cwd?: string;
92
- detached?: boolean;
93
- }): Promise<string | null>;
94
- launchTmuxPane(command: string, options?: {
95
- vertical?: boolean;
96
- size?: number;
97
- name?: string;
98
- }): Promise<string | null>;
99
- sendTmuxKeys(text: string, options?: {
100
- pane?: string;
101
- enter?: boolean;
102
- delayEnter?: boolean | number;
103
- }): Promise<void>;
104
- captureTmuxPane(options?: {
105
- pane?: string;
106
- lines?: number;
107
- }): Promise<string>;
108
- interruptTmuxPane(pane?: string): Promise<void>;
109
- escapeTmuxPane(pane?: string): Promise<void>;
110
- killTmuxPane(pane?: string): Promise<void>;
111
- waitTmuxPaneIdle(options?: {
112
- pane?: string;
113
- idleTime?: number;
114
- timeout?: number;
115
- }): Promise<boolean>;
116
- }
117
- export declare function getCurrentPaneInfo(): Promise<{
118
- id: string;
119
- title: string;
120
- }>;
121
- export declare function shellQuote(s: string): string;
122
- export declare function parseLaunchPaneIds(stdout: string): {
123
- paneId?: string;
124
- paneFormattedId?: string;
125
- };
126
- export {};
127
- //# sourceMappingURL=tmux.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tmux.d.ts","sourceRoot":"","sources":["../src/tmux.ts"],"names":[],"mappings":"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"}