LibreChat/api/config
Theo N. Truong 8780a78165
♻️ refactor: MCPManager for Scalability, Fix App-Level Detection, Add Lazy Connections (#8930)
* feat: MCP Connection management overhaul - Making MCPManager manageable

Refactor the monolithic MCPManager into focused, single-responsibility classes:

• MCPServersRegistry: Server configuration discovery and metadata management
• UserConnectionManager: Manages user-level connections
• ConnectionsRepository: Low-level connection pool with lazy loading
• MCPConnectionFactory: Handles MCP connection creation with OAuth support

New Features:
• Lazy loading of app-level connections for horizontal scaling
• Automatic reconnection for app-level connections
• Enhanced OAuth detection with explicit requiresOAuth flag
• Centralized MCP configuration management

Bug Fixes:
• App-level connection detection in MCPManager.callTool
• MCP Connection Reinitialization route behavior

Optimizations:
• MCPConnection.isConnected() caching to reduce overhead
• Concurrent server metadata retrieval instead of sequential

This refactoring addresses scalability bottlenecks and improves reliability
while maintaining backward compatibility with existing configurations.

* feat: Enabled import order in eslint.

* # Moved tests to __tests__ folder
# added tests for MCPServersRegistry.ts

* # Add unit tests for ConnectionsRepository functionality

* # Add unit tests for MCPConnectionFactory functionality

* # Reorganize MCP connection tests and improve error handling

* # reordering imports

* # Update testPathIgnorePatterns in jest.config.mjs to exclude development TypeScript files

* # removed mcp/manager.ts
2025-08-13 11:45:06 -04:00
..
index.js ♻️ refactor: MCPManager for Scalability, Fix App-Level Detection, Add Lazy Connections (#8930) 2025-08-13 11:45:06 -04:00
meiliLogger.js 🔧 refactor: Consolidate Logging, Model Selection & Actions Optimizations, Minor Fixes (#6553) 2025-03-26 14:10:52 -04:00
parsers.js 🚀 fix: Resolve Google Client Issues, CDN Screenshots, Update Models (#5703) 2025-02-06 18:13:18 -05:00
paths.js 🔒 feat: Authenticated Image Requests (#2389) 2024-04-11 02:50:57 -04:00
winston.js 🔧 refactor: Consolidate Logging, Model Selection & Actions Optimizations, Minor Fixes (#6553) 2025-03-26 14:10:52 -04:00