tabby-mcp-server 1.1.0 → 1.1.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 +14 -0
- package/dist/index.js +15 -5
- package/dist/index.js.map +1 -1
- package/package.json +6 -8
package/README.md
CHANGED
|
@@ -354,6 +354,20 @@ This project builds upon the work of [tabby-mcp-server](https://github.com/thuan
|
|
|
354
354
|
|
|
355
355
|
## 📝 Changelog
|
|
356
356
|
|
|
357
|
+
### v1.1.2 (2026-01-22)
|
|
358
|
+
|
|
359
|
+
**Optimization:**
|
|
360
|
+
- 📦 Reduced npm package size by moving bundled dependencies to devDependencies
|
|
361
|
+
- All dependencies (express, zod, @modelcontextprotocol/sdk) are now bundled into dist/index.js
|
|
362
|
+
- Installing from npm/Tabby store no longer downloads unnecessary packages
|
|
363
|
+
|
|
364
|
+
### v1.1.1 (2026-01-21)
|
|
365
|
+
|
|
366
|
+
**Bug Fixes:**
|
|
367
|
+
- 🔧 Fixed Streamable HTTP connection leak - connections were not being cleaned up when clients disconnected
|
|
368
|
+
- Added `transport.onclose` handler to properly remove closed sessions from tracking
|
|
369
|
+
- Enhanced SSE stream close logging for better debugging
|
|
370
|
+
|
|
357
371
|
### v1.1.0 (2026-01-20)
|
|
358
372
|
|
|
359
373
|
**Major Fixes:**
|
package/dist/index.js
CHANGED
|
@@ -17454,7 +17454,7 @@ const tabby_core_1 = __webpack_require__(1368);
|
|
|
17454
17454
|
const mcpService_1 = __webpack_require__(7554);
|
|
17455
17455
|
const mcpLogger_service_1 = __webpack_require__(9924);
|
|
17456
17456
|
// Version from package.json - update on each release
|
|
17457
|
-
const PLUGIN_VERSION = '1.1.
|
|
17457
|
+
const PLUGIN_VERSION = '1.1.2';
|
|
17458
17458
|
/**
|
|
17459
17459
|
* MCP Settings Tab Component
|
|
17460
17460
|
*/
|
|
@@ -52531,7 +52531,7 @@ let McpService = class McpService {
|
|
|
52531
52531
|
// Initialize MCP Server
|
|
52532
52532
|
this.server = new mcp_js_1.McpServer({
|
|
52533
52533
|
name: 'Tabby MCP',
|
|
52534
|
-
version: '1.1.
|
|
52534
|
+
version: '1.1.2'
|
|
52535
52535
|
});
|
|
52536
52536
|
// Configure Express
|
|
52537
52537
|
this.configureExpress();
|
|
@@ -52576,7 +52576,7 @@ let McpService = class McpService {
|
|
|
52576
52576
|
res.status(200).json({
|
|
52577
52577
|
status: 'ok',
|
|
52578
52578
|
server: 'Tabby MCP',
|
|
52579
|
-
version: '1.1.
|
|
52579
|
+
version: '1.1.2',
|
|
52580
52580
|
transport: 'StreamableHTTP + SSE',
|
|
52581
52581
|
uptime: process.uptime()
|
|
52582
52582
|
});
|
|
@@ -52585,7 +52585,7 @@ let McpService = class McpService {
|
|
|
52585
52585
|
this.app.get('/info', (_, res) => {
|
|
52586
52586
|
res.status(200).json({
|
|
52587
52587
|
name: 'Tabby MCP',
|
|
52588
|
-
version: '1.1.
|
|
52588
|
+
version: '1.1.2',
|
|
52589
52589
|
protocolVersion: '2025-03-26',
|
|
52590
52590
|
transports: ['streamable-http', 'sse'],
|
|
52591
52591
|
endpoints: {
|
|
@@ -52640,7 +52640,12 @@ let McpService = class McpService {
|
|
|
52640
52640
|
res.write(': heartbeat\n\n');
|
|
52641
52641
|
}
|
|
52642
52642
|
}, 15000);
|
|
52643
|
-
res.on('close', () =>
|
|
52643
|
+
res.on('close', () => {
|
|
52644
|
+
clearInterval(heartbeat);
|
|
52645
|
+
this.logger.info(`Streamable HTTP: SSE stream closed for session: ${sessionId}`);
|
|
52646
|
+
// Note: Don't delete transport here - it may still be used for POST requests
|
|
52647
|
+
// The transport.onclose handler will clean up when fully disconnected
|
|
52648
|
+
});
|
|
52644
52649
|
return;
|
|
52645
52650
|
}
|
|
52646
52651
|
// No session - return info about how to connect
|
|
@@ -52684,6 +52689,11 @@ let McpService = class McpService {
|
|
|
52684
52689
|
this.logger.info(`Streamable HTTP: Session initialized: ${sid}`);
|
|
52685
52690
|
}
|
|
52686
52691
|
});
|
|
52692
|
+
// Register close handler to clean up when connection is closed
|
|
52693
|
+
transport.onclose = () => {
|
|
52694
|
+
this.logger.info(`Streamable HTTP: Transport closed (onclose): ${sessionId}`);
|
|
52695
|
+
delete this.streamableTransports[sessionId];
|
|
52696
|
+
};
|
|
52687
52697
|
this.streamableTransports[sessionId] = transport;
|
|
52688
52698
|
// Connect to MCP server
|
|
52689
52699
|
await this.server.connect(transport);
|