tabby-mcp-server 1.1.6 → 1.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.
- package/README.md +94 -53
- package/dist/index.js +59204 -58316
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/typings/components/mcpSettingsTab.component.d.ts +22 -1
- package/typings/services/mcpConfigProvider.d.ts +2 -0
- package/typings/services/mcpService.d.ts +14 -0
- package/typings/tools/sftp.d.ts +39 -2
- package/typings/tools/terminal.d.ts +18 -3
- package/typings/types/types.d.ts +1 -0
package/README.md
CHANGED
|
@@ -20,63 +20,68 @@
|
|
|
20
20
|
|
|
21
21
|
---
|
|
22
22
|
|
|
23
|
+
> 🚀 **Tabby-MCP** is a powerful plugin for [Tabby Terminal](https://github.com/eugeny/tabby), bridging the gap between AI agents and your terminal environment. It provides a standardized MCP interface for AI to execute commands, manage tabs, and handle file operations securely.
|
|
24
|
+
>
|
|
25
|
+
> *Give your AI hands to work with.*
|
|
26
|
+
|
|
27
|
+
<div align="center">
|
|
28
|
+
<img src="assets/tabby-mcp-intro.gif" width="100%" alt="Tabby-MCP Intro">
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
23
33
|
## ✨ Features
|
|
24
34
|
|
|
25
|
-
<table>
|
|
26
|
-
<tr>
|
|
27
|
-
<td width="50%">
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
</td>
|
|
37
|
-
<td width="50%">
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
</td>
|
|
47
|
-
</tr>
|
|
48
|
-
<tr>
|
|
49
|
-
<td>
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
</td>
|
|
58
|
-
<td>
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
</td>
|
|
67
|
-
</tr>
|
|
68
|
-
<tr>
|
|
69
|
-
<td colspan="2">
|
|
70
|
-
|
|
71
|
-
### 🔒 Security Features
|
|
72
|
-
- Pair programming mode with confirmation dialogs
|
|
73
|
-
- Comprehensive logging
|
|
74
|
-
- Safe command execution
|
|
75
|
-
|
|
76
|
-
</td>
|
|
77
|
-
</tr>
|
|
35
|
+
<table width="100%">
|
|
36
|
+
<tr>
|
|
37
|
+
<td width="50%" align="center" valign="top">
|
|
38
|
+
<h3>🖥️ Terminal Control</h3>
|
|
39
|
+
<ul align="left">
|
|
40
|
+
<li>Execute commands with output capture</li>
|
|
41
|
+
<li><b>Stable session IDs</b> (v1.1+)</li>
|
|
42
|
+
<li>Send interactive input (vim, less, top)</li>
|
|
43
|
+
<li>Read terminal buffer content</li>
|
|
44
|
+
<li>Abort/monitor running commands</li>
|
|
45
|
+
</ul>
|
|
46
|
+
</td>
|
|
47
|
+
<td width="50%" align="center" valign="top">
|
|
48
|
+
<h3>📑 Tab Management</h3>
|
|
49
|
+
<ul align="left">
|
|
50
|
+
<li>Create/Close/Duplicate tabs</li>
|
|
51
|
+
<li><b>Split panes</b> (horizontal/vertical)</li>
|
|
52
|
+
<li>Navigate between tabs</li>
|
|
53
|
+
<li>Move tabs left/right</li>
|
|
54
|
+
<li>Reopen closed tabs</li>
|
|
55
|
+
</ul>
|
|
56
|
+
</td>
|
|
57
|
+
</tr>
|
|
58
|
+
<tr>
|
|
59
|
+
<td width="50%" align="center" valign="top">
|
|
60
|
+
<h3>🔗 Profile & SSH</h3>
|
|
61
|
+
<ul align="left">
|
|
62
|
+
<li>List all terminal profiles</li>
|
|
63
|
+
<li>Open new tabs with profiles</li>
|
|
64
|
+
<li>SSH quick connect</li>
|
|
65
|
+
<li>Profile selector dialog</li>
|
|
66
|
+
</ul>
|
|
67
|
+
</td>
|
|
68
|
+
<td width="50%" align="center" valign="top">
|
|
69
|
+
<h3>📁 SFTP Operations (v1.1+)</h3>
|
|
70
|
+
<ul align="left">
|
|
71
|
+
<li>List/read/write remote files</li>
|
|
72
|
+
<li>Create/delete directories</li>
|
|
73
|
+
<li>Rename/move files</li>
|
|
74
|
+
<li><i>(Requires tabby-ssh)</i></li>
|
|
75
|
+
</ul>
|
|
76
|
+
</td>
|
|
77
|
+
</tr>
|
|
78
78
|
</table>
|
|
79
79
|
|
|
80
|
+
<div align="center">
|
|
81
|
+
<h3>🔒 Security Features</h3>
|
|
82
|
+
<p>Pair programming mode with confirmation dialogs • Comprehensive logging • Safe command execution</p>
|
|
83
|
+
</div>
|
|
84
|
+
|
|
80
85
|
---
|
|
81
86
|
|
|
82
87
|
## 📦 Installation
|
|
@@ -371,6 +376,25 @@ This project builds upon the work of [tabby-mcp-server](https://github.com/thuan
|
|
|
371
376
|
|
|
372
377
|
## 📝 Changelog
|
|
373
378
|
|
|
379
|
+
### v1.2.0 (2026-01-24)
|
|
380
|
+
|
|
381
|
+
**🔧 Critical Bug Fixes:**
|
|
382
|
+
- 🔴 **SFTP Session ID Mismatch** - Fixed critical bug where SFTP tools operated on wrong SSH server
|
|
383
|
+
- Root cause: SFTP had separate session registry from Terminal, causing ID mismatch
|
|
384
|
+
- Fix: SFTP now shares session registry with Terminal tools
|
|
385
|
+
- SFTP no longer silently falls back to first SSH tab when sessionId doesn't match
|
|
386
|
+
- 🔴 **Local Directory Auto-Creation** - SFTP downloads now automatically create missing local directories
|
|
387
|
+
- 🔴 **Error Reporting** - Fixed misleading "Remote file not found" when local directory was missing
|
|
388
|
+
|
|
389
|
+
**🎨 UI Improvements:**
|
|
390
|
+
- 📋 **Connection Monitor** - Added "Connections" button to settings (always visible)
|
|
391
|
+
- 🛠️ **Server Lifecycle** - Improved server restart with forced socket cleanup
|
|
392
|
+
- 📊 **Session Tracking** - Added session metadata with activity history
|
|
393
|
+
|
|
394
|
+
**🔧 Terminal Improvements:**
|
|
395
|
+
- 🐚 **Heredoc Support** - Fixed complex shell commands (Python heredoc) execution
|
|
396
|
+
- 📝 **Detailed Logging** - Added `[findSSHSession]` debug logs for troubleshooting
|
|
397
|
+
|
|
374
398
|
### v1.1.6 (2026-01-22)
|
|
375
399
|
|
|
376
400
|
**Improvements:**
|
|
@@ -423,6 +447,23 @@ This project builds upon the work of [tabby-mcp-server](https://github.com/thuan
|
|
|
423
447
|
- All dependencies (express, zod, @modelcontextprotocol/sdk) are now bundled into dist/index.js
|
|
424
448
|
- Installing from npm/Tabby store no longer downloads unnecessary packages
|
|
425
449
|
|
|
450
|
+
### v1.3.0 (2026-02-04)
|
|
451
|
+
|
|
452
|
+
**Bug Fixes:**
|
|
453
|
+
- 🔧 Fixed session disconnect false positives - `exec_command` and `send_input` no longer incorrectly report "Session disconnected"
|
|
454
|
+
- Root cause: `tab.destroyed` is a `Subject<void>` (RxJS Observable), NOT a boolean
|
|
455
|
+
- Now correctly uses `session.open === false` for disconnect detection
|
|
456
|
+
|
|
457
|
+
**Cleanup:**
|
|
458
|
+
- 🗑️ Removed non-functional SFTP "Advanced Tuning" settings (Chunk Size, Concurrency)
|
|
459
|
+
- These had no effect with Tabby's `russh`-based SFTP implementation
|
|
460
|
+
- 🗑️ Removed obsolete `fastPut`/`fastGet` detection code
|
|
461
|
+
|
|
462
|
+
**i18n:**
|
|
463
|
+
- ✏️ Fixed SFTP size descriptions: corrected "10 MB" → "10 GB" in all translations
|
|
464
|
+
|
|
465
|
+
---
|
|
466
|
+
|
|
426
467
|
### v1.1.1 (2026-01-21)
|
|
427
468
|
|
|
428
469
|
**Bug Fixes:**
|