refactor: remove getCustomConfig dependency in config route

This commit is contained in:
Danny Avila 2025-08-17 23:15:43 -04:00
parent 2229672929
commit 677481dde6
No known key found for this signature in database
GPG key ID: BF31EEB2C5CA0956
2 changed files with 27 additions and 13 deletions

View file

@ -1,10 +1,14 @@
const express = require('express'); const express = require('express');
const { isEnabled } = require('@librechat/api'); const { isEnabled } = require('@librechat/api');
const { logger } = require('@librechat/data-schemas'); const { logger } = require('@librechat/data-schemas');
const { CacheKeys, defaultSocialLogins, Constants } = require('librechat-data-provider'); const {
const { getCustomConfig } = require('~/server/services/Config/getCustomConfig'); Constants,
const { getAppConfig } = require('~/server/services/Config/getAppConfig'); CacheKeys,
removeNullishValues,
defaultSocialLogins,
} = require('librechat-data-provider');
const { getLdapConfig } = require('~/server/services/Config/ldap'); const { getLdapConfig } = require('~/server/services/Config/ldap');
const { getAppConfig } = require('~/server/services/Config/app');
const { getProjectByName } = require('~/models/Project'); const { getProjectByName } = require('~/models/Project');
const { getMCPManager } = require('~/config'); const { getMCPManager } = require('~/config');
const { getLogStores } = require('~/cache'); const { getLogStores } = require('~/cache');
@ -112,25 +116,30 @@ router.get('/', async function (req, res) {
}; };
payload.mcpServers = {}; payload.mcpServers = {};
const config = await getCustomConfig(); const getMCPServers = () => {
if (config?.mcpServers != null) {
try { try {
const mcpManager = getMCPManager(); const mcpManager = getMCPManager();
if (!mcpManager) {
return;
}
const mcpServers = mcpManager.getAllServers();
if (!mcpServers) return;
const oauthServers = mcpManager.getOAuthServers(); const oauthServers = mcpManager.getOAuthServers();
for (const serverName in config.mcpServers) { for (const serverName in mcpServers) {
const serverConfig = config.mcpServers[serverName]; const serverConfig = mcpServers[serverName];
payload.mcpServers[serverName] = { payload.mcpServers[serverName] = removeNullishValues({
startup: serverConfig?.startup, startup: serverConfig?.startup,
chatMenu: serverConfig?.chatMenu, chatMenu: serverConfig?.chatMenu,
isOAuth: oauthServers?.has(serverName), isOAuth: oauthServers?.has(serverName),
customUserVars: serverConfig?.customUserVars || {}, customUserVars: serverConfig?.customUserVars,
}; });
} }
} catch (err) { } catch (error) {
logger.error('Error loading MCP servers', err); logger.error('Error loading MCP servers', error);
} }
} };
getMCPServers();
const webSearchConfig = appConfig.webSearch; const webSearchConfig = appConfig.webSearch;
if ( if (
webSearchConfig != null && webSearchConfig != null &&

View file

@ -54,6 +54,11 @@ export class MCPManager extends UserConnectionManager {
return this.serversRegistry.oauthServers!; return this.serversRegistry.oauthServers!;
} }
/** Get all servers */
public getAllServers(): t.MCPServers | null {
return this.serversRegistry.rawConfigs!;
}
/** Returns all available tool functions from app-level connections */ /** Returns all available tool functions from app-level connections */
public getAppToolFunctions(): t.LCAvailableTools | null { public getAppToolFunctions(): t.LCAvailableTools | null {
return this.serversRegistry.toolFunctions!; return this.serversRegistry.toolFunctions!;