tabby-mcp-server 1.4.2 → 1.6.2

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/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "tabby-mcp-server",
3
- "version": "1.4.2",
3
+ "version": "1.6.2",
4
4
  "description": "MCP (Model Context Protocol) server plugin for Tabby terminal - Complete terminal control with 34 MCP tools including SFTP file transfer",
5
5
  "homepage": "https://github.com/GentlemanHu/Tabby-MCP",
6
6
  "repository": {
7
7
  "type": "git",
8
- "url": "https://github.com/GentlemanHu/Tabby-MCP.git"
8
+ "url": "git+https://github.com/GentlemanHu/Tabby-MCP.git"
9
9
  },
10
10
  "bugs": {
11
11
  "url": "https://github.com/GentlemanHu/Tabby-MCP/issues"
@@ -16,6 +16,7 @@ export declare class McpSettingsTabComponent implements OnInit, OnDestroy {
16
16
  version: string;
17
17
  saveMessage: string;
18
18
  private configSub?;
19
+ private lastEnvironmentDetectionEnabled;
19
20
  constructor(config: ConfigService, mcpService: McpService, logger: McpLoggerService, i18n: McpI18nService, sftpTools: SFTPToolCategory);
20
21
  ngOnInit(): void;
21
22
  ngOnDestroy(): void;
@@ -34,7 +35,7 @@ export declare class McpSettingsTabComponent implements OnInit, OnDestroy {
34
35
  * Open URL in external browser
35
36
  */
36
37
  openUrl(url: string): void;
37
- saveConfig(): void;
38
+ saveConfig(): Promise<void>;
38
39
  getMaxFileSizeMB(): number;
39
40
  setMaxFileSizeMB(mb: number): void;
40
41
  getMaxUploadSizeMB(): number;
@@ -1,3 +1,4 @@
1
+ import { OnDestroy } from '@angular/core';
1
2
  import { AppService, ConfigService } from 'tabby-core';
2
3
  import { McpService } from './services/mcpService';
3
4
  import { McpLoggerService } from './services/mcpLogger.service';
@@ -15,7 +16,7 @@ import './styles.scss';
15
16
  * - Pair programming mode with command confirmation
16
17
  * - Comprehensive logging
17
18
  */
18
- export default class McpModule {
19
+ export default class McpModule implements OnDestroy {
19
20
  private app;
20
21
  private config;
21
22
  private mcpService;
@@ -24,11 +25,16 @@ export default class McpModule {
24
25
  private tabManagementTools;
25
26
  private sftpTools;
26
27
  private initialized;
28
+ private appReadySubscription?;
29
+ private shutdownInProgress;
27
30
  constructor(app: AppService, config: ConfigService, mcpService: McpService, logger: McpLoggerService, terminalTools: TerminalToolCategory, tabManagementTools: TabManagementToolCategory, sftpTools: SFTPToolCategory);
28
31
  /**
29
32
  * Initialize MCP server on application boot
30
33
  */
31
34
  private initializeOnBoot;
35
+ ngOnDestroy(): void;
36
+ private handleBeforeUnload;
37
+ private shutdownServer;
32
38
  }
33
39
  export * from './services/mcpService';
34
40
  export * from './services/mcpLogger.service';
@@ -37,6 +37,11 @@ export declare class McpConfigProvider extends ConfigProvider {
37
37
  maxDownloadSize: number;
38
38
  timeout: number;
39
39
  };
40
+ environmentDetection: {
41
+ enabled: boolean;
42
+ useEnhancedHeuristics: boolean;
43
+ mode: string;
44
+ };
40
45
  };
41
46
  };
42
47
  }
@@ -20,6 +20,9 @@ export declare class McpService {
20
20
  private isRunning;
21
21
  private toolCategories;
22
22
  private registeredTools;
23
+ private toolEndpointsConfigured;
24
+ private isToolEnabled;
25
+ private getEnabledToolsFromCategory;
23
26
  constructor(config: ConfigService, logger: McpLoggerService);
24
27
  /**
25
28
  * Initialize the MCP service (no longer creates a single server)
@@ -62,6 +65,12 @@ export declare class McpService {
62
65
  * Stop the MCP server
63
66
  */
64
67
  stopServer(): Promise<void>;
68
+ /**
69
+ * Best-effort synchronous cleanup for window/application shutdown.
70
+ * Avoids awaiting async transport closes during unload while still releasing the port.
71
+ */
72
+ stopServerSync(reason?: string): void;
73
+ private stopServerInternal;
65
74
  /**
66
75
  * Restart the MCP server
67
76
  */
@@ -31,6 +31,11 @@ export declare class TabManagementToolCategory extends BaseToolCategory {
31
31
  * If no locator is provided, returns the currently active/focused tab
32
32
  */
33
33
  private findTabByLocator;
34
+ private getQuickConnectProviders;
35
+ private getQuickConnectProvider;
36
+ private buildSshQuickConnectProfile;
37
+ private resolveQuickConnectTarget;
38
+ private openProfileTabAndBuildResponse;
34
39
  private createListTabsTool;
35
40
  private createSelectTabTool;
36
41
  private createCloseTabTool;
@@ -93,6 +93,12 @@ export declare class TerminalToolCategory extends BaseToolCategory {
93
93
  * Tool: Send raw input to terminal (for interactive commands)
94
94
  */
95
95
  private createSendInputTool;
96
+ private parseEnvironmentFromBuffer;
97
+ /**
98
+ * Tool: Get the current environment context of a session
99
+ */
100
+ private createGetSessionEnvironmentTool;
101
+ private detectActiveShellEnvironment;
96
102
  /**
97
103
  * Tool: Get terminal buffer content
98
104
  */