@samanhappy/mcphub 1.0.12 → 1.0.14

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.
Files changed (62) hide show
  1. package/dist/controllers/changelogController.js +26 -0
  2. package/dist/controllers/changelogController.js.map +1 -0
  3. package/dist/routes/index.js +3 -0
  4. package/dist/routes/index.js.map +1 -1
  5. package/dist/services/changelogService.js +121 -0
  6. package/dist/services/changelogService.js.map +1 -0
  7. package/dist/services/sseService.js +85 -132
  8. package/dist/services/sseService.js.map +1 -1
  9. package/frontend/dist/assets/{ActivityPage-BPfkCkM3.js → ActivityPage-BOpR9H2i.js} +2 -2
  10. package/frontend/dist/assets/{ActivityPage-BPfkCkM3.js.map → ActivityPage-BOpR9H2i.js.map} +1 -1
  11. package/frontend/dist/assets/{Dashboard-BvEkS4H1.js → Dashboard-C_-XmWQD.js} +2 -2
  12. package/frontend/dist/assets/{Dashboard-BvEkS4H1.js.map → Dashboard-C_-XmWQD.js.map} +1 -1
  13. package/frontend/dist/assets/{EndpointCopy-KhSo4Y6F.js → EndpointCopy-8kX4-19c.js} +2 -2
  14. package/frontend/dist/assets/{EndpointCopy-KhSo4Y6F.js.map → EndpointCopy-8kX4-19c.js.map} +1 -1
  15. package/frontend/dist/assets/{GroupsPage-CLkFTxqd.js → GroupsPage-htoQ6Qs0.js} +2 -2
  16. package/frontend/dist/assets/{GroupsPage-CLkFTxqd.js.map → GroupsPage-htoQ6Qs0.js.map} +1 -1
  17. package/frontend/dist/assets/{LoginPage-lM-z_O3X.js → LoginPage-aPFHvaWh.js} +2 -2
  18. package/frontend/dist/assets/{LoginPage-lM-z_O3X.js.map → LoginPage-aPFHvaWh.js.map} +1 -1
  19. package/frontend/dist/assets/{LogsPage-CS9OFma4.js → LogsPage-Chwx1nBj.js} +2 -2
  20. package/frontend/dist/assets/{LogsPage-CS9OFma4.js.map → LogsPage-Chwx1nBj.js.map} +1 -1
  21. package/frontend/dist/assets/{MarketPage-9LSDiVvR.js → MarketPage-AeI9OXrF.js} +3 -3
  22. package/frontend/dist/assets/{MarketPage-9LSDiVvR.js.map → MarketPage-AeI9OXrF.js.map} +1 -1
  23. package/frontend/dist/assets/PromptsPage-B4hqDzUf.js +2 -0
  24. package/frontend/dist/assets/{PromptsPage-CPFRMMgV.js.map → PromptsPage-B4hqDzUf.js.map} +1 -1
  25. package/frontend/dist/assets/ResourcesPage-D6Pjuosf.js +2 -0
  26. package/frontend/dist/assets/{ResourcesPage-DJ_7k1MF.js.map → ResourcesPage-D6Pjuosf.js.map} +1 -1
  27. package/frontend/dist/assets/ServersPage-CUIUW61l.js +37 -0
  28. package/frontend/dist/assets/ServersPage-CUIUW61l.js.map +1 -0
  29. package/frontend/dist/assets/{SettingsPage-CyYl7pb8.js → SettingsPage-BhlkLfh2.js} +2 -2
  30. package/frontend/dist/assets/{SettingsPage-CyYl7pb8.js.map → SettingsPage-BhlkLfh2.js.map} +1 -1
  31. package/frontend/dist/assets/{StatusDot-CZZGigtR.js → StatusDot-DeAk18AU.js} +2 -2
  32. package/frontend/dist/assets/{StatusDot-CZZGigtR.js.map → StatusDot-DeAk18AU.js.map} +1 -1
  33. package/frontend/dist/assets/ToggleGroup-B4Kg4S_t.js +2 -0
  34. package/frontend/dist/assets/ToggleGroup-B4Kg4S_t.js.map +1 -0
  35. package/frontend/dist/assets/{UsersPage-CLXhNpvg.js → UsersPage-DW6DqEcG.js} +2 -2
  36. package/frontend/dist/assets/{UsersPage-CLXhNpvg.js.map → UsersPage-DW6DqEcG.js.map} +1 -1
  37. package/frontend/dist/assets/{contextCost-mvvSAnFv.js → contextCost-Cy6hGdzI.js} +2 -2
  38. package/frontend/dist/assets/{contextCost-mvvSAnFv.js.map → contextCost-Cy6hGdzI.js.map} +1 -1
  39. package/frontend/dist/assets/{icons-vendor-IYX_ppgH.js → icons-vendor-BTEm6PQs.js} +65 -55
  40. package/frontend/dist/assets/icons-vendor-BTEm6PQs.js.map +1 -0
  41. package/frontend/dist/assets/index-Btd1KKSH.js +3 -0
  42. package/frontend/dist/assets/index-Btd1KKSH.js.map +1 -0
  43. package/frontend/dist/assets/index-H0KbCXxe.css +1 -0
  44. package/frontend/dist/assets/{resourceService-jx5dJGUy.js → resourceService-BECsvcJr.js} +2 -2
  45. package/frontend/dist/assets/{resourceService-jx5dJGUy.js.map → resourceService-BECsvcJr.js.map} +1 -1
  46. package/frontend/dist/assets/useSettingsData-ClhR9PBd.js +2 -0
  47. package/frontend/dist/assets/{useSettingsData-B4hMPWdK.js.map → useSettingsData-ClhR9PBd.js.map} +1 -1
  48. package/frontend/dist/assets/{variableDetection-Dnh8qFpO.js → variableDetection-hIevXYOZ.js} +2 -2
  49. package/frontend/dist/assets/{variableDetection-Dnh8qFpO.js.map → variableDetection-hIevXYOZ.js.map} +1 -1
  50. package/frontend/dist/index.html +3 -3
  51. package/package.json +2 -1
  52. package/frontend/dist/assets/PromptsPage-CPFRMMgV.js +0 -2
  53. package/frontend/dist/assets/ResourcesPage-DJ_7k1MF.js +0 -2
  54. package/frontend/dist/assets/ServersPage-BtPOdp4X.js +0 -37
  55. package/frontend/dist/assets/ServersPage-BtPOdp4X.js.map +0 -1
  56. package/frontend/dist/assets/ToggleGroup-C24CNPSz.js +0 -2
  57. package/frontend/dist/assets/ToggleGroup-C24CNPSz.js.map +0 -1
  58. package/frontend/dist/assets/icons-vendor-IYX_ppgH.js.map +0 -1
  59. package/frontend/dist/assets/index-D8V2fxz_.css +0 -1
  60. package/frontend/dist/assets/index-DRcTlhkb.js +0 -3
  61. package/frontend/dist/assets/index-DRcTlhkb.js.map +0 -1
  62. package/frontend/dist/assets/useSettingsData-B4hMPWdK.js +0 -2
@@ -0,0 +1,26 @@
1
+ import config from '../config/index.js';
2
+ import { getChangelogUpdateInfo } from '../services/changelogService.js';
3
+ export const getChangelogUpdateInfoHandler = async (req, res) => {
4
+ try {
5
+ const locale = typeof req.query.locale === 'string' ? req.query.locale : undefined;
6
+ const force = req.query.force === 'true';
7
+ const currentVersion = typeof req.query.currentVersion === 'string' ? req.query.currentVersion : config.mcpHubVersion;
8
+ const data = await getChangelogUpdateInfo({
9
+ currentVersion,
10
+ locale,
11
+ force,
12
+ });
13
+ res.json({
14
+ success: true,
15
+ data,
16
+ });
17
+ }
18
+ catch (error) {
19
+ console.error('Error fetching changelog update info:', error);
20
+ res.status(500).json({
21
+ success: false,
22
+ message: error instanceof Error ? error.message : 'Failed to fetch changelog update information',
23
+ });
24
+ }
25
+ };
26
+ //# sourceMappingURL=changelogController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"changelogController.js","sourceRoot":"","sources":["../../src/controllers/changelogController.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAEzE,MAAM,CAAC,MAAM,6BAA6B,GAAG,KAAK,EAChD,GAAY,EACZ,GAAa,EACE,EAAE;IACjB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QACnF,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,MAAM,CAAC;QACzC,MAAM,cAAc,GAClB,OAAO,GAAG,CAAC,KAAK,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;QAEjG,MAAM,IAAI,GAAG,MAAM,sBAAsB,CAAC;YACxC,cAAc;YACd,MAAM;YACN,KAAK;SACN,CAAC,CAAC;QAEH,GAAG,CAAC,IAAI,CAAC;YACP,OAAO,EAAE,IAAI;YACb,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;QAC9D,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,OAAO,EACL,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,8CAA8C;SAC1F,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC"}
@@ -8,6 +8,7 @@ import { getUsers, getUser, createUser, updateExistingUser, deleteExistingUser,
8
8
  import { getAllMarketServers, getMarketServer, getAllMarketCategories, getAllMarketTags, searchMarketServersByQuery, getMarketServersByCategory, getMarketServersByTag, } from '../controllers/marketController.js';
9
9
  import { getAllCloudServers, getCloudServer, getAllCloudCategories, getAllCloudTags, searchCloudServersByQuery, getCloudServersByCategory, getCloudServersByTag, getCloudServerToolsList, callCloudTool, } from '../controllers/cloudController.js';
10
10
  import { getAllRegistryServers, getRegistryServerVersions, getRegistryServerVersion, } from '../controllers/registryController.js';
11
+ import { getChangelogUpdateInfoHandler } from '../controllers/changelogController.js';
11
12
  import { listDiscoveryServers, getDiscoveryServer, getDiscoveryServerInstall, listDiscoveryCategories, listDiscoveryTags, getMarketplaceWellKnown, } from '../controllers/discoveryController.js';
12
13
  import { login, register, getCurrentUser, changePassword } from '../controllers/authController.js';
13
14
  import { getAllLogs, clearLogs, streamLogs } from '../controllers/logController.js';
@@ -182,6 +183,8 @@ export const initRoutes = async (app) => {
182
183
  authenticatedRouter.get('/registry/servers', getAllRegistryServers);
183
184
  authenticatedRouter.get('/registry/servers/versions', getRegistryServerVersions);
184
185
  authenticatedRouter.get('/registry/servers/version', getRegistryServerVersion);
186
+ // Changelog routes (proxy to mcphub-web changelog API)
187
+ authenticatedRouter.get('/changelog/update-info', getChangelogUpdateInfoHandler);
185
188
  // Log routes
186
189
  authenticatedRouter.get('/logs', getAllLogs);
187
190
  authenticatedRouter.delete('/logs', clearLogs);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/routes/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/routes/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,121 @@
1
+ const DEFAULT_CHANGELOG_API_BASE = 'https://www.mcphub.app/api/v1/changelog';
2
+ const DEFAULT_NPM_LATEST_URL = 'https://registry.npmjs.org/@samanhappy/mcphub/latest';
3
+ const DEFAULT_TIMEOUT_MS = 5000;
4
+ const DEFAULT_CACHE_TTL_SECONDS = 21600;
5
+ let cachedUpdateInfo = null;
6
+ export function clearChangelogUpdateCache() {
7
+ cachedUpdateInfo = null;
8
+ }
9
+ export async function getChangelogUpdateInfo(input) {
10
+ const locale = normalizeLocale(input.locale);
11
+ const currentVersion = input.currentVersion || 'dev';
12
+ const allChangelogUrl = defaultChangelogUrl(locale);
13
+ if (process.env.DISABLE_UPDATE_CHECK === 'true') {
14
+ return {
15
+ latestVersion: null,
16
+ hasUpdate: false,
17
+ entries: [],
18
+ totalUpdateCount: 0,
19
+ changelogUrl: allChangelogUrl,
20
+ allChangelogUrl,
21
+ source: 'disabled',
22
+ };
23
+ }
24
+ const cacheKey = `${currentVersion}:${locale}`;
25
+ const now = Date.now();
26
+ if (!input.force && cachedUpdateInfo?.key === cacheKey && cachedUpdateInfo.expiresAt > now) {
27
+ return cachedUpdateInfo.data;
28
+ }
29
+ const data = await fetchUpdateInfoFromMcphubWeb(currentVersion, locale).catch(async (error) => {
30
+ console.warn('[changelog] mcphub-web update check failed, falling back to npm latest', {
31
+ error: error instanceof Error ? error.message : String(error),
32
+ });
33
+ return fetchNpmFallback(currentVersion, locale);
34
+ });
35
+ cachedUpdateInfo = {
36
+ key: cacheKey,
37
+ expiresAt: now + cacheTtlMs(),
38
+ data,
39
+ };
40
+ return data;
41
+ }
42
+ async function fetchUpdateInfoFromMcphubWeb(currentVersion, locale) {
43
+ const apiBase = changelogApiBase();
44
+ const url = new URL(`${apiBase}/update-info`);
45
+ url.searchParams.set('currentVersion', currentVersion);
46
+ url.searchParams.set('locale', locale);
47
+ const response = await fetch(url, {
48
+ headers: { Accept: 'application/json' },
49
+ signal: AbortSignal.timeout(timeoutMs()),
50
+ });
51
+ const envelope = (await response.json().catch(() => null));
52
+ if (!response.ok || !envelope?.success || !envelope.data) {
53
+ throw new Error(envelope?.message || `Changelog request failed: ${response.status}`);
54
+ }
55
+ return envelope.data;
56
+ }
57
+ async function fetchNpmFallback(currentVersion, locale) {
58
+ const allChangelogUrl = defaultChangelogUrl(locale);
59
+ const response = await fetch(process.env.MCPHUB_NPM_LATEST_URL || DEFAULT_NPM_LATEST_URL, {
60
+ headers: { Accept: 'application/json' },
61
+ signal: AbortSignal.timeout(timeoutMs()),
62
+ });
63
+ if (!response.ok) {
64
+ throw new Error(`npm latest request failed: ${response.status}`);
65
+ }
66
+ const payload = (await response.json().catch(() => ({})));
67
+ const latestVersion = payload.version || null;
68
+ const hasUpdate = latestVersion !== null &&
69
+ currentVersion !== 'dev' &&
70
+ compareStableVersions(latestVersion, currentVersion) > 0;
71
+ return {
72
+ latestVersion,
73
+ hasUpdate,
74
+ entries: [],
75
+ totalUpdateCount: hasUpdate ? 1 : 0,
76
+ changelogUrl: latestVersion ? `${allChangelogUrl}/${latestVersion}` : allChangelogUrl,
77
+ allChangelogUrl,
78
+ source: 'npm-fallback',
79
+ };
80
+ }
81
+ function normalizeLocale(value) {
82
+ return value?.toLowerCase().startsWith('zh') ? 'zh' : 'en';
83
+ }
84
+ function changelogApiBase() {
85
+ return (process.env.MCPHUB_CHANGELOG_API_BASE || DEFAULT_CHANGELOG_API_BASE).replace(/\/+$/, '');
86
+ }
87
+ function defaultChangelogUrl(locale) {
88
+ const siteBase = changelogApiBase()
89
+ .replace(/\/api\/v1\/changelog$/i, '')
90
+ .replace(/\/+$/, '');
91
+ return `${siteBase}${locale === 'zh' ? '/zh' : ''}/changelog`;
92
+ }
93
+ function timeoutMs() {
94
+ const value = Number(process.env.MCPHUB_UPDATE_CHECK_TIMEOUT_MS);
95
+ return Number.isFinite(value) && value > 0 ? Math.floor(value) : DEFAULT_TIMEOUT_MS;
96
+ }
97
+ function cacheTtlMs() {
98
+ const value = Number(process.env.MCPHUB_UPDATE_CHECK_CACHE_TTL_SECONDS);
99
+ const seconds = Number.isFinite(value) && value >= 0 ? Math.floor(value) : DEFAULT_CACHE_TTL_SECONDS;
100
+ return seconds * 1000;
101
+ }
102
+ function parseStableVersion(version) {
103
+ const match = version.trim().match(/^v?(\d+)\.(\d+)\.(\d+)$/);
104
+ if (!match)
105
+ return null;
106
+ return [Number(match[1]), Number(match[2]), Number(match[3])];
107
+ }
108
+ function compareStableVersions(a, b) {
109
+ const parsedA = parseStableVersion(a);
110
+ const parsedB = parseStableVersion(b);
111
+ if (!parsedA || !parsedB)
112
+ return 0;
113
+ for (let i = 0; i < 3; i++) {
114
+ if (parsedA[i] > parsedB[i])
115
+ return 1;
116
+ if (parsedA[i] < parsedB[i])
117
+ return -1;
118
+ }
119
+ return 0;
120
+ }
121
+ //# sourceMappingURL=changelogService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"changelogService.js","sourceRoot":"","sources":["../../src/services/changelogService.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,8 @@ import { getBearerAuthHeaderValue, getBearerTokenFromHeaders } from '../utils/be
13
13
  import { HostedAuthUnavailableError, isHostedApiKey, validateHostedBearer, } from './hostedAuthService.js';
14
14
  import { isHostedModeEnabled } from './hostedMode.js';
15
15
  export const transports = {};
16
+ const SESSION_NOT_FOUND_CODE = -32001;
17
+ const SESSION_NOT_FOUND_MESSAGE = 'Session not found. Please reinitialize the session.';
16
18
  // Session creation locks to prevent concurrent session creation conflicts
17
19
  const sessionCreationLocks = {};
18
20
  export const getGroup = (sessionId) => {
@@ -26,6 +28,39 @@ export const getSessionContext = (sessionId) => {
26
28
  keyName: session?.keyName,
27
29
  };
28
30
  };
31
+ const cleanupSessionState = (sessionId) => {
32
+ const session = transports[sessionId];
33
+ if (session?.transport && typeof session.transport.close === 'function') {
34
+ session.transport.close().catch((err) => {
35
+ console.error('[SESSION] Error closing transport during cleanup for %s:', sessionId, err);
36
+ });
37
+ }
38
+ delete transports[sessionId];
39
+ deleteMcpServer(sessionId);
40
+ };
41
+ const sendSessionNotFoundJsonRpc = (res) => {
42
+ res.status(404).json({
43
+ jsonrpc: '2.0',
44
+ error: {
45
+ code: SESSION_NOT_FOUND_CODE,
46
+ message: SESSION_NOT_FOUND_MESSAGE,
47
+ },
48
+ id: null,
49
+ });
50
+ };
51
+ const sendSessionNotFoundText = (res) => {
52
+ res.status(404).send(SESSION_NOT_FOUND_MESSAGE);
53
+ };
54
+ const rehydrateRebuiltTransport = (transport, sessionId) => {
55
+ const transportRecord = transport;
56
+ const internalTransport = transportRecord._webStandardTransport;
57
+ if (!internalTransport) {
58
+ return false;
59
+ }
60
+ internalTransport.sessionId = sessionId;
61
+ internalTransport._initialized = true;
62
+ return true;
63
+ };
29
64
  /**
30
65
  * Check if a string is a valid UUID v4 format
31
66
  */
@@ -479,18 +514,13 @@ async function createSessionWithId(sessionId, group, username, hostedAuth) {
479
514
  };
480
515
  // Connect to MCP server
481
516
  await server.connect(transport);
482
- // Wait for the server to fully initialize
483
- await new Promise((resolve) => setTimeout(resolve, 500));
484
- // Ensure the transport is properly initialized
485
- if (!transports[sessionId]) {
486
- console.warn(`[SESSION REBUILD] Transport not found in transports after initialization, forcing registration`);
487
- transports[sessionId] = { transport, group, needsInitialization: true, hostedAuth };
517
+ if (!rehydrateRebuiltTransport(transport, sessionId)) {
518
+ console.error(`[SESSION REBUILD] Failed to rehydrate transport state for session ${sessionId}`);
519
+ await transport.close();
520
+ throw new Error('Failed to rebuild session transport state');
488
521
  }
489
- else {
490
- // Mark the session as needing initialization
491
- transports[sessionId].needsInitialization = true;
492
- }
493
- console.log(`[SESSION REBUILD] Session ${sessionId} created but not yet initialized. It will be initialized on first use.`);
522
+ transports[sessionId] = { transport, group, hostedAuth };
523
+ console.log(`[SESSION REBUILD] Rehydrated session ${sessionId} for immediate request handling.`);
494
524
  console.log(`[SESSION REBUILD] Successfully rebuilt session ${sessionId} in group: ${group}`);
495
525
  return transport;
496
526
  }
@@ -557,25 +587,30 @@ export const handleMcpPostRequest = async (req, res) => {
557
587
  const enableSessionRebuild = systemConfig?.enableSessionRebuild || false;
558
588
  if (enableSessionRebuild) {
559
589
  console.log(`[SESSION AUTO-REBUILD] Session ${sessionId} not found, initiating transparent rebuild${username ? ` for user: ${username}` : ''}`);
560
- // Prevent concurrent session creation
561
- if (sessionCreationLocks[sessionId] !== undefined) {
562
- console.log(`[SESSION AUTO-REBUILD] Session creation in progress for ${sessionId}, waiting...`);
563
- transport = await sessionCreationLocks[sessionId];
590
+ const ownsSessionCreationLock = sessionCreationLocks[sessionId] === undefined;
591
+ if (ownsSessionCreationLock) {
592
+ sessionCreationLocks[sessionId] = createSessionWithId(sessionId, group, username, bearerAuthResult.hostedAuth);
564
593
  }
565
594
  else {
566
- sessionCreationLocks[sessionId] = createSessionWithId(sessionId, group, username, bearerAuthResult.hostedAuth);
567
- try {
568
- transport = await sessionCreationLocks[sessionId];
595
+ console.log(`[SESSION AUTO-REBUILD] Session creation in progress for ${sessionId}, waiting...`);
596
+ }
597
+ try {
598
+ transport = await sessionCreationLocks[sessionId];
599
+ if (ownsSessionCreationLock) {
569
600
  console.log(`[SESSION AUTO-REBUILD] Successfully transparently rebuilt session: ${sessionId}`);
570
601
  }
571
- catch (error) {
572
- console.error('[SESSION AUTO-REBUILD] Failed to rebuild session', {
573
- sessionId,
574
- error,
575
- });
576
- throw error;
577
- }
578
- finally {
602
+ }
603
+ catch (error) {
604
+ console.error('[SESSION AUTO-REBUILD] Failed to rebuild session', {
605
+ sessionId,
606
+ error,
607
+ });
608
+ cleanupSessionState(sessionId);
609
+ sendSessionNotFoundJsonRpc(res);
610
+ return;
611
+ }
612
+ finally {
613
+ if (ownsSessionCreationLock) {
579
614
  delete sessionCreationLocks[sessionId];
580
615
  }
581
616
  }
@@ -632,115 +667,17 @@ export const handleMcpPostRequest = async (req, res) => {
632
667
  requestContextService.setGroupContext(group);
633
668
  requestContextService.setUsernameContext(username);
634
669
  requestContextService.setHostedAuthContext(bearerAuthResult.hostedAuth || transportInfo?.hostedAuth);
635
- // Check if the session needs initialization (for rebuilt sessions)
636
- if (transportInfo && transportInfo.needsInitialization) {
637
- console.log(`[MCP] Session ${sessionId} needs initialization, performing proactive initialization`);
638
- try {
639
- // Create a mock response object that doesn't actually send headers
640
- const mockRes = {
641
- writeHead: () => { },
642
- end: () => { },
643
- json: () => { },
644
- status: () => mockRes,
645
- send: () => { },
646
- headersSent: false,
647
- };
648
- // First, send the initialize request
649
- const initializeRequest = {
650
- method: 'initialize',
651
- params: {
652
- protocolVersion: '2025-03-26',
653
- capabilities: {},
654
- clientInfo: {
655
- name: 'MCPHub-Client',
656
- version: '1.0.0',
657
- },
658
- },
659
- jsonrpc: '2.0',
660
- id: `init-${sessionId}-${Date.now()}`,
661
- };
662
- console.log(`[MCP] Sending initialize request for session ${sessionId}`);
663
- // Use mock response to avoid sending actual HTTP response
664
- await transport.handleRequest(req, mockRes, initializeRequest);
665
- // Then send the initialized notification
666
- const initializedNotification = {
667
- method: 'notifications/initialized',
668
- jsonrpc: '2.0',
669
- };
670
- console.log(`[MCP] Sending initialized notification for session ${sessionId}`);
671
- await transport.handleRequest(req, mockRes, initializedNotification);
672
- // Mark the session as initialized
673
- transportInfo.needsInitialization = false;
674
- console.log(`[MCP] Session ${sessionId} successfully initialized`);
675
- }
676
- catch (initError) {
677
- console.error('[MCP] Failed to initialize session', {
678
- sessionId,
679
- error: initError,
680
- });
681
- console.error('[MCP] Initialization error details', {
682
- sessionId,
683
- error: initError,
684
- });
685
- // Don't return here, continue with the original request
686
- }
687
- }
688
670
  try {
689
671
  await transport.handleRequest(req, res, req.body);
690
672
  }
691
673
  catch (error) {
692
- // Check if this is a "Server not initialized" error for a newly rebuilt session
693
- if (sessionId && error.message && error.message.includes('Server not initialized')) {
694
- console.log(`[SESSION AUTO-REBUILD] Server not initialized for ${sessionId}. Attempting to initialize with the current request.`);
695
- // Check if the current request is an 'initialize' request
696
- if (isInitializeRequest(req.body)) {
697
- // If it is, we can just retry it. The transport should now be in the transports map.
698
- console.log(`[SESSION AUTO-REBUILD] Retrying initialize request for ${sessionId}.`);
699
- await transport.handleRequest(req, res, req.body);
700
- }
701
- else {
702
- // If not, we need to send an initialize request first.
703
- // We construct a mock initialize request, but use the REAL req/res objects.
704
- const initializeRequest = {
705
- method: 'initialize',
706
- params: {
707
- protocolVersion: '2025-03-26',
708
- capabilities: {},
709
- clientInfo: {
710
- name: 'MCPHub-Client',
711
- version: '1.0.0',
712
- },
713
- },
714
- jsonrpc: '2.0',
715
- id: `init-${sessionId}-${Date.now()}`,
716
- };
717
- console.log(`[SESSION AUTO-REBUILD] Sending initialize request for ${sessionId} before handling the actual request.`);
718
- try {
719
- // Temporarily replace the body to send the initialize request
720
- const originalBody = req.body;
721
- req.body = initializeRequest;
722
- await transport.handleRequest(req, res, req.body);
723
- // Now, send the notifications/initialized
724
- const initializedNotification = {
725
- method: 'notifications/initialized',
726
- jsonrpc: '2.0',
727
- };
728
- req.body = initializedNotification;
729
- await transport.handleRequest(req, res, req.body);
730
- // Restore the original body and retry the original request
731
- req.body = originalBody;
732
- console.log(`[SESSION AUTO-REBUILD] Initialization complete for ${sessionId}. Retrying original request.`);
733
- await transport.handleRequest(req, res, req.body);
734
- }
735
- catch (initError) {
736
- console.error('[SESSION AUTO-REBUILD] Failed to initialize session on-the-fly', {
737
- sessionId,
738
- error: initError,
739
- });
740
- // Re-throw the original error if initialization fails
741
- throw error;
742
- }
674
+ if (sessionId && error?.message?.includes('Server not initialized')) {
675
+ console.warn(`[SESSION AUTO-REBUILD] Rebuilt session ${sessionId} is not initialized. Returning explicit session-not-found response.`);
676
+ cleanupSessionState(sessionId);
677
+ if (!res.headersSent) {
678
+ sendSessionNotFoundJsonRpc(res);
743
679
  }
680
+ return;
744
681
  }
745
682
  else {
746
683
  // If it's a different error, just re-throw it
@@ -794,6 +731,9 @@ export const handleMcpOtherRequest = async (req, res) => {
794
731
  sessionId,
795
732
  error,
796
733
  });
734
+ cleanupSessionState(sessionId);
735
+ sendSessionNotFoundText(res);
736
+ return;
797
737
  }
798
738
  }
799
739
  else {
@@ -803,11 +743,24 @@ export const handleMcpOtherRequest = async (req, res) => {
803
743
  }
804
744
  }
805
745
  if (!transportEntry) {
806
- res.status(400).send('Invalid or missing session ID');
746
+ sendSessionNotFoundText(res);
807
747
  return;
808
748
  }
809
749
  const { transport } = transportEntry;
810
- await transport.handleRequest(req, res);
750
+ try {
751
+ await transport.handleRequest(req, res);
752
+ }
753
+ catch (error) {
754
+ if (error?.message?.includes('Server not initialized')) {
755
+ console.warn(`[SESSION AUTO-REBUILD] Rebuilt session ${sessionId} is not initialized for auxiliary request. Returning explicit session-not-found response.`);
756
+ cleanupSessionState(sessionId);
757
+ if (!res.headersSent) {
758
+ sendSessionNotFoundText(res);
759
+ }
760
+ return;
761
+ }
762
+ throw error;
763
+ }
811
764
  };
812
765
  export const getConnectionCount = () => {
813
766
  return Object.keys(transports).length;