tabby-mcp-server 1.3.0 → 1.4.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/README.md +41 -19
- package/dist/index.js +483 -62
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/typings/services/mcpService.d.ts +14 -4
- package/typings/tools/sftp.d.ts +22 -0
package/README.md
CHANGED
|
@@ -165,7 +165,7 @@ npm run build
|
|
|
165
165
|
|
|
166
166
|
## 🔌 Connecting AI Clients
|
|
167
167
|
|
|
168
|
-
###
|
|
168
|
+
### Streamable HTTP Mode (Cursor / Windsurf / Cline)
|
|
169
169
|
|
|
170
170
|
Add to `~/.cursor/mcp.json`:
|
|
171
171
|
|
|
@@ -173,7 +173,7 @@ Add to `~/.cursor/mcp.json`:
|
|
|
173
173
|
{
|
|
174
174
|
"mcpServers": {
|
|
175
175
|
"Tabby MCP": {
|
|
176
|
-
"type": "
|
|
176
|
+
"type": "streamable_http",
|
|
177
177
|
"url": "http://localhost:3001/mcp"
|
|
178
178
|
}
|
|
179
179
|
}
|
|
@@ -376,6 +376,45 @@ This project builds upon the work of [tabby-mcp-server](https://github.com/thuan
|
|
|
376
376
|
|
|
377
377
|
## 📝 Changelog
|
|
378
378
|
|
|
379
|
+
### v1.4.0 (2026-03-02)
|
|
380
|
+
|
|
381
|
+
**🐛 Bug Fixes:**
|
|
382
|
+
- 🔧 **Fixed log export double-serialization** (Issue #1) - Exported JSON was incorrectly serialized as a string instead of proper JSON
|
|
383
|
+
- 🔧 **Fixed MCP config type** (Issue #2) - Config example now correctly shows `streamable_http` instead of `sse`
|
|
384
|
+
- 🔧 **Fixed hardcoded version numbers** - `/health` and `/info` endpoints now use `PLUGIN_VERSION` constant
|
|
385
|
+
|
|
386
|
+
**🏗️ Architecture Improvements:**
|
|
387
|
+
- 🔒 **Per-session McpServer isolation** - Each AI client now gets its own McpServer instance
|
|
388
|
+
- Prevents one client's disconnect/reconnect from blocking other clients' requests
|
|
389
|
+
- Fixes MCP SDK Bug #1459 stale callback interference
|
|
390
|
+
- 🔄 **SFTP session cache redesign** - Replaced `WeakMap` with `Map + TTL (5min)`
|
|
391
|
+
- Proactive session expiration prevents stale SFTP sessions
|
|
392
|
+
- Health check validation with `stat('/')` before reuse
|
|
393
|
+
- SSH disconnect detection during active transfers
|
|
394
|
+
- Periodic cleanup of closed SSH sessions from cache
|
|
395
|
+
|
|
396
|
+
**📦 Build & Install:**
|
|
397
|
+
- 📝 Fixed install scripts (`install.sh` / `install.ps1`) extraction failure
|
|
398
|
+
- Archive directory name now consistently `tabby-mcp-server`
|
|
399
|
+
- Backward compatible with old `tabby-mcp` directory names
|
|
400
|
+
- Added prerelease support
|
|
401
|
+
- Improved JSON parsing with python3 fallback
|
|
402
|
+
|
|
403
|
+
### v1.3.0 (2026-02-04)
|
|
404
|
+
|
|
405
|
+
**Bug Fixes:**
|
|
406
|
+
- 🔧 Fixed session disconnect false positives - `exec_command` and `send_input` no longer incorrectly report "Session disconnected"
|
|
407
|
+
- Root cause: `tab.destroyed` is a `Subject<void>` (RxJS Observable), NOT a boolean
|
|
408
|
+
- Now correctly uses `session.open === false` for disconnect detection
|
|
409
|
+
|
|
410
|
+
**Cleanup:**
|
|
411
|
+
- 🗑️ Removed non-functional SFTP "Advanced Tuning" settings (Chunk Size, Concurrency)
|
|
412
|
+
- These had no effect with Tabby's `russh`-based SFTP implementation
|
|
413
|
+
- 🗑️ Removed obsolete `fastPut`/`fastGet` detection code
|
|
414
|
+
|
|
415
|
+
**i18n:**
|
|
416
|
+
- ✏️ Fixed SFTP size descriptions: corrected "10 MB" → "10 GB" in all translations
|
|
417
|
+
|
|
379
418
|
### v1.2.0 (2026-01-24)
|
|
380
419
|
|
|
381
420
|
**🔧 Critical Bug Fixes:**
|
|
@@ -447,23 +486,6 @@ This project builds upon the work of [tabby-mcp-server](https://github.com/thuan
|
|
|
447
486
|
- All dependencies (express, zod, @modelcontextprotocol/sdk) are now bundled into dist/index.js
|
|
448
487
|
- Installing from npm/Tabby store no longer downloads unnecessary packages
|
|
449
488
|
|
|
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
|
-
|
|
467
489
|
### v1.1.1 (2026-01-21)
|
|
468
490
|
|
|
469
491
|
**Bug Fixes:**
|