@samanhappy/mcphub 1.0.35 → 1.0.37
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.fr.md +48 -17
- package/README.md +50 -39
- package/README.zh.md +50 -37
- package/dist/clients/openapi.js +32 -1
- package/dist/clients/openapi.js.map +1 -1
- package/dist/controllers/credentialBindingController.js +56 -0
- package/dist/controllers/credentialBindingController.js.map +1 -0
- package/dist/controllers/groupController.js +63 -14
- package/dist/controllers/groupController.js.map +1 -1
- package/dist/controllers/serverController.js +26 -4
- package/dist/controllers/serverController.js.map +1 -1
- package/dist/controllers/userController.js +3 -0
- package/dist/controllers/userController.js.map +1 -1
- package/dist/dao/CredentialBindingDao.js +48 -0
- package/dist/dao/CredentialBindingDao.js.map +1 -0
- package/dist/dao/CredentialBindingDaoDbImpl.js +20 -0
- package/dist/dao/CredentialBindingDaoDbImpl.js.map +1 -0
- package/dist/dao/DaoFactory.js +7 -0
- package/dist/dao/DaoFactory.js.map +1 -1
- package/dist/dao/DatabaseDaoFactory.js +4 -0
- package/dist/dao/DatabaseDaoFactory.js.map +1 -1
- package/dist/dao/GroupDaoDbImpl.js +18 -0
- package/dist/dao/GroupDaoDbImpl.js.map +1 -1
- package/dist/dao/ServerDaoDbImpl.js +3 -0
- package/dist/dao/ServerDaoDbImpl.js.map +1 -1
- package/dist/db/connection.js +3 -2
- package/dist/db/connection.js.map +1 -1
- package/dist/db/entities/CredentialBinding.js +33 -0
- package/dist/db/entities/CredentialBinding.js.map +1 -0
- package/dist/db/entities/Group.js +9 -1
- package/dist/db/entities/Group.js.map +1 -1
- package/dist/db/entities/Server.js +4 -0
- package/dist/db/entities/Server.js.map +1 -1
- package/dist/db/entities/index.js +3 -1
- package/dist/db/entities/index.js.map +1 -1
- package/dist/db/groupSchema.js +29 -0
- package/dist/db/groupSchema.js.map +1 -0
- package/dist/middlewares/auth.js +2 -0
- package/dist/middlewares/auth.js.map +1 -1
- package/dist/middlewares/i18n.js +2 -1
- package/dist/middlewares/i18n.js.map +1 -1
- package/dist/routes/index.js +19 -4
- package/dist/routes/index.js.map +1 -1
- package/dist/services/activityLoggingService.js +21 -8
- package/dist/services/activityLoggingService.js.map +1 -1
- package/dist/services/credentialBindingService.js +193 -0
- package/dist/services/credentialBindingService.js.map +1 -0
- package/dist/services/groupService.js +57 -23
- package/dist/services/groupService.js.map +1 -1
- package/dist/services/logService.js +11 -2
- package/dist/services/logService.js.map +1 -1
- package/dist/services/mcpService.js +478 -77
- package/dist/services/mcpService.js.map +1 -1
- package/dist/services/oauthClientRegistration.js +22 -7
- package/dist/services/oauthClientRegistration.js.map +1 -1
- package/dist/services/oauthSettingsStore.js +3 -0
- package/dist/services/oauthSettingsStore.js.map +1 -1
- package/dist/services/principalRuntimeService.js +109 -0
- package/dist/services/principalRuntimeService.js.map +1 -0
- package/dist/services/serverConfigPresenter.js +3 -0
- package/dist/services/serverConfigPresenter.js.map +1 -1
- package/dist/services/sseService.js +65 -16
- package/dist/services/sseService.js.map +1 -1
- package/dist/utils/credentialTemplate.js +38 -0
- package/dist/utils/credentialTemplate.js.map +1 -0
- package/dist/utils/groupAccess.js +17 -0
- package/dist/utils/groupAccess.js.map +1 -0
- package/dist/utils/migration.js +11 -0
- package/dist/utils/migration.js.map +1 -1
- package/dist/utils/rateLimit.js +85 -18
- package/dist/utils/rateLimit.js.map +1 -1
- package/dist/utils/serverConfigPersistence.js +2 -0
- package/dist/utils/serverConfigPersistence.js.map +1 -1
- package/frontend/dist/assets/{ActivityPage-B4OBJUBq.js → ActivityPage-Bx5-Jrxq.js} +2 -2
- package/frontend/dist/assets/{ActivityPage-B4OBJUBq.js.map → ActivityPage-Bx5-Jrxq.js.map} +1 -1
- package/frontend/dist/assets/{ConfirmDialog-3APts2Y9.js → ConfirmDialog-uWBwm8J1.js} +2 -2
- package/frontend/dist/assets/{ConfirmDialog-3APts2Y9.js.map → ConfirmDialog-uWBwm8J1.js.map} +1 -1
- package/frontend/dist/assets/CredentialsPage-BGbk_kBx.js +2 -0
- package/frontend/dist/assets/CredentialsPage-BGbk_kBx.js.map +1 -0
- package/frontend/dist/assets/{Dashboard-czP-DGHn.js → Dashboard-gHeXLPEn.js} +2 -2
- package/frontend/dist/assets/{Dashboard-czP-DGHn.js.map → Dashboard-gHeXLPEn.js.map} +1 -1
- package/frontend/dist/assets/{DeleteDialog-D9ycSRvn.js → DeleteDialog-BYhrMGZo.js} +2 -2
- package/frontend/dist/assets/{DeleteDialog-D9ycSRvn.js.map → DeleteDialog-BYhrMGZo.js.map} +1 -1
- package/frontend/dist/assets/{EndpointCopy-CDwtdCHE.js → EndpointCopy-BRwX7Dpv.js} +2 -2
- package/frontend/dist/assets/{EndpointCopy-CDwtdCHE.js.map → EndpointCopy-BRwX7Dpv.js.map} +1 -1
- package/frontend/dist/assets/GroupsPage-grCAx55k.js +33 -0
- package/frontend/dist/assets/GroupsPage-grCAx55k.js.map +1 -0
- package/frontend/dist/assets/{LoginPage-BBzViqLx.js → LoginPage-C7-m2jmB.js} +2 -2
- package/frontend/dist/assets/{LoginPage-BBzViqLx.js.map → LoginPage-C7-m2jmB.js.map} +1 -1
- package/frontend/dist/assets/{LogsPage-CqbaqFiQ.js → LogsPage-B00XTokA.js} +2 -2
- package/frontend/dist/assets/{LogsPage-CqbaqFiQ.js.map → LogsPage-B00XTokA.js.map} +1 -1
- package/frontend/dist/assets/{MarketPage-DinCKwrj.js → MarketPage-CVJMdSDD.js} +2 -2
- package/frontend/dist/assets/{MarketPage-DinCKwrj.js.map → MarketPage-CVJMdSDD.js.map} +1 -1
- package/frontend/dist/assets/{OAuthConsentPage-BuPcJ2zS.js → OAuthConsentPage-znW3HtpR.js} +2 -2
- package/frontend/dist/assets/{OAuthConsentPage-BuPcJ2zS.js.map → OAuthConsentPage-znW3HtpR.js.map} +1 -1
- package/frontend/dist/assets/{Pagination-Dwko3g48.js → Pagination-CLUvn47x.js} +2 -2
- package/frontend/dist/assets/{Pagination-Dwko3g48.js.map → Pagination-CLUvn47x.js.map} +1 -1
- package/frontend/dist/assets/{PromptsPage-CJ-wYRAL.js → PromptsPage-DGcNS3fO.js} +2 -2
- package/frontend/dist/assets/{PromptsPage-CJ-wYRAL.js.map → PromptsPage-DGcNS3fO.js.map} +1 -1
- package/frontend/dist/assets/{ResourcesPage-DRV8gnZV.js → ResourcesPage-CfyZoadu.js} +2 -2
- package/frontend/dist/assets/{ResourcesPage-DRV8gnZV.js.map → ResourcesPage-CfyZoadu.js.map} +1 -1
- package/frontend/dist/assets/ServersPage-BlC0RdIu.js +39 -0
- package/frontend/dist/assets/ServersPage-BlC0RdIu.js.map +1 -0
- package/frontend/dist/assets/{SettingsPage-Czv4OhtK.js → SettingsPage-CiVNDyr_.js} +2 -2
- package/frontend/dist/assets/{SettingsPage-Czv4OhtK.js.map → SettingsPage-CiVNDyr_.js.map} +1 -1
- package/frontend/dist/assets/{StatusDot-CwpmIlJi.js → StatusDot-DYO56shE.js} +2 -2
- package/frontend/dist/assets/{StatusDot-CwpmIlJi.js.map → StatusDot-DYO56shE.js.map} +1 -1
- package/frontend/dist/assets/{ToggleGroup-1qFTkDqh.js → ToggleGroup-r8yGt_Fq.js} +2 -2
- package/frontend/dist/assets/{ToggleGroup-1qFTkDqh.js.map → ToggleGroup-r8yGt_Fq.js.map} +1 -1
- package/frontend/dist/assets/{UsersPage-CAMXgywh.js → UsersPage-B3muXE90.js} +2 -2
- package/frontend/dist/assets/{UsersPage-CAMXgywh.js.map → UsersPage-B3muXE90.js.map} +1 -1
- package/frontend/dist/assets/{framework-vendor-BHAQX05P.js → framework-vendor-_YL27Pfc.js} +2 -2
- package/frontend/dist/assets/{framework-vendor-BHAQX05P.js.map → framework-vendor-_YL27Pfc.js.map} +1 -1
- package/frontend/dist/assets/{i18n-vendor-CMcB7XUR.js → i18n-vendor-BMaj5qV8.js} +2 -2
- package/frontend/dist/assets/{i18n-vendor-CMcB7XUR.js.map → i18n-vendor-BMaj5qV8.js.map} +1 -1
- package/frontend/dist/assets/{icons-vendor-HZHHWeTa.js → icons-vendor-VW-UwEhw.js} +3 -3
- package/frontend/dist/assets/{icons-vendor-HZHHWeTa.js.map → icons-vendor-VW-UwEhw.js.map} +1 -1
- package/frontend/dist/assets/index-B-aT0HW5.js +3 -0
- package/frontend/dist/assets/index-B-aT0HW5.js.map +1 -0
- package/frontend/dist/assets/{index-DtrCVU1h.css → index-B3OqAhGz.css} +1 -1
- package/frontend/dist/assets/{resourceService-BTVgor9F.js → resourceService-CSXOSi7M.js} +2 -2
- package/frontend/dist/assets/{resourceService-BTVgor9F.js.map → resourceService-CSXOSi7M.js.map} +1 -1
- package/frontend/dist/assets/{useCostData-CDVGUx_e.js → useCostData-BOxUFQAH.js} +2 -2
- package/frontend/dist/assets/{useCostData-CDVGUx_e.js.map → useCostData-BOxUFQAH.js.map} +1 -1
- package/frontend/dist/assets/useSettingsData-DmpLlRI6.js +2 -0
- package/frontend/dist/assets/{useSettingsData-92nglN_X.js.map → useSettingsData-DmpLlRI6.js.map} +1 -1
- package/frontend/dist/assets/variableDetection-cmwwuSWB.js +16 -0
- package/frontend/dist/assets/variableDetection-cmwwuSWB.js.map +1 -0
- package/frontend/dist/index.html +5 -5
- package/package.json +4 -5
- package/frontend/dist/assets/GroupsPage-BgUHjkGb.js +0 -33
- package/frontend/dist/assets/GroupsPage-BgUHjkGb.js.map +0 -1
- package/frontend/dist/assets/ServersPage-CbtcAcVH.js +0 -39
- package/frontend/dist/assets/ServersPage-CbtcAcVH.js.map +0 -1
- package/frontend/dist/assets/index-Cb6IBpZR.js +0 -3
- package/frontend/dist/assets/index-Cb6IBpZR.js.map +0 -1
- package/frontend/dist/assets/useSettingsData-92nglN_X.js +0 -2
- package/frontend/dist/assets/variableDetection-BlOwsGsz.js +0 -16
- package/frontend/dist/assets/variableDetection-BlOwsGsz.js.map +0 -1
|
@@ -17,6 +17,7 @@ import { createRedirectValidatingFetch } from '../utils/ssrf.js';
|
|
|
17
17
|
import { mutateOAuthSettings, persistClientCredentials, persistTokens, } from './oauthSettingsStore.js';
|
|
18
18
|
// Cache for registered clients to avoid re-registering on every restart
|
|
19
19
|
const registeredClients = new Map();
|
|
20
|
+
const pendingRegistrations = new Map();
|
|
20
21
|
export const createOAuthFetch = async (serverConfig) => {
|
|
21
22
|
const ownerUser = serverConfig?.owner
|
|
22
23
|
? await getUserDao().findByUsername(serverConfig.owner)
|
|
@@ -179,6 +180,20 @@ export const registerClient = async (serverName, serverConfig, autoDetectedIssue
|
|
|
179
180
|
logger.log('Using cached OAuth client', { serverName });
|
|
180
181
|
return cached;
|
|
181
182
|
}
|
|
183
|
+
const pending = pendingRegistrations.get(serverName);
|
|
184
|
+
if (pending) {
|
|
185
|
+
return pending;
|
|
186
|
+
}
|
|
187
|
+
const registration = registerAndPersistClient(serverName, serverConfig, autoDetectedIssuer, autoDetectedScopes);
|
|
188
|
+
pendingRegistrations.set(serverName, registration);
|
|
189
|
+
try {
|
|
190
|
+
return await registration;
|
|
191
|
+
}
|
|
192
|
+
finally {
|
|
193
|
+
pendingRegistrations.delete(serverName);
|
|
194
|
+
}
|
|
195
|
+
};
|
|
196
|
+
const registerAndPersistClient = async (serverName, serverConfig, autoDetectedIssuer, autoDetectedScopes) => {
|
|
182
197
|
const dynamicConfig = serverConfig.oauth?.dynamicRegistration;
|
|
183
198
|
try {
|
|
184
199
|
let serverUrl;
|
|
@@ -251,8 +266,6 @@ export const registerClient = async (serverName, serverConfig, autoDetectedIssue
|
|
|
251
266
|
: undefined,
|
|
252
267
|
metadata: config,
|
|
253
268
|
};
|
|
254
|
-
// Cache the registered client
|
|
255
|
-
registeredClients.set(serverName, clientInfo);
|
|
256
269
|
// Persist the client credentials and scopes to configuration
|
|
257
270
|
const persistedConfig = await persistClientCredentials(serverName, {
|
|
258
271
|
clientId,
|
|
@@ -262,12 +275,14 @@ export const registerClient = async (serverName, serverConfig, autoDetectedIssue
|
|
|
262
275
|
tokenEndpoint: clientInfo.config.serverMetadata().token_endpoint,
|
|
263
276
|
revocationEndpoint: clientInfo.config.serverMetadata().revocation_endpoint,
|
|
264
277
|
});
|
|
265
|
-
if (persistedConfig) {
|
|
266
|
-
|
|
267
|
-
...(serverConfig.oauth || {}),
|
|
268
|
-
...persistedConfig.oauth,
|
|
269
|
-
};
|
|
278
|
+
if (!persistedConfig) {
|
|
279
|
+
throw new Error(`Failed to persist OAuth client credentials for server ${serverName}`);
|
|
270
280
|
}
|
|
281
|
+
serverConfig.oauth = {
|
|
282
|
+
...(serverConfig.oauth || {}),
|
|
283
|
+
...persistedConfig.oauth,
|
|
284
|
+
};
|
|
285
|
+
registeredClients.set(serverName, clientInfo);
|
|
271
286
|
return clientInfo;
|
|
272
287
|
}
|
|
273
288
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauthClientRegistration.js","sourceRoot":"","sources":["../../src/services/oauthClientRegistration.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"oauthClientRegistration.js","sourceRoot":"","sources":["../../src/services/oauthClientRegistration.ts"],"names":[],"mappings":"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"}
|
|
@@ -55,6 +55,9 @@ export const persistClientCredentials = async (serverName, credentials) => {
|
|
|
55
55
|
oauth.revocationEndpoint = credentials.revocationEndpoint;
|
|
56
56
|
}
|
|
57
57
|
});
|
|
58
|
+
if (!updated) {
|
|
59
|
+
return undefined;
|
|
60
|
+
}
|
|
58
61
|
logger.log(`Persisted OAuth client credentials for server: ${serverName}`);
|
|
59
62
|
if (credentials.scopes && credentials.scopes.length > 0) {
|
|
60
63
|
logger.log(`Stored OAuth scopes for ${serverName}: ${credentials.scopes.join(', ')}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauthSettingsStore.js","sourceRoot":"","sources":["../../src/services/oauthSettingsStore.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"oauthSettingsStore.js","sourceRoot":"","sources":["../../src/services/oauthSettingsStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { getServerDao } from '../dao/DaoFactory.js';
|
|
2
|
+
import { credentialBindingEvents, resolveCredentialBinding } from './credentialBindingService.js';
|
|
3
|
+
import { authorizationService } from './authorizationService.js';
|
|
4
|
+
import { CredentialBindingError, hasCredentialTemplate } from '../utils/credentialTemplate.js';
|
|
5
|
+
import { replaceEnvVars } from '../config/index.js';
|
|
6
|
+
/** Reuses children across MCP sessions, but never across authenticated principals. */
|
|
7
|
+
export class PrincipalRuntimeService {
|
|
8
|
+
constructor(connect, close) {
|
|
9
|
+
this.connect = connect;
|
|
10
|
+
this.close = close;
|
|
11
|
+
this.entries = new Map();
|
|
12
|
+
credentialBindingEvents.on('invalidate', (filter) => this.invalidate(filter));
|
|
13
|
+
}
|
|
14
|
+
invalidate(filter = {}) {
|
|
15
|
+
for (const [key, entry] of this.entries) {
|
|
16
|
+
if (filter.serverName !== undefined && entry.serverName !== filter.serverName)
|
|
17
|
+
continue;
|
|
18
|
+
if (filter.username !== undefined && entry.username !== filter.username)
|
|
19
|
+
continue;
|
|
20
|
+
entry.valid = false;
|
|
21
|
+
clearTimeout(entry.timer);
|
|
22
|
+
this.entries.delete(key);
|
|
23
|
+
void entry.promise.then((info) => this.close(info)).catch(() => undefined);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
async acquire(serverName, principal) {
|
|
27
|
+
if (principal.credentialEligible === false)
|
|
28
|
+
throw new CredentialBindingError('Personal authentication is required');
|
|
29
|
+
const definition = await getServerDao().findById(serverName);
|
|
30
|
+
if (!definition ||
|
|
31
|
+
definition.enabled === false ||
|
|
32
|
+
!hasCredentialTemplate(definition) ||
|
|
33
|
+
!authorizationService.can('server.invoke', definition, principal)) {
|
|
34
|
+
throw new CredentialBindingError('Server not available');
|
|
35
|
+
}
|
|
36
|
+
// These snapshots only detect runtime changes in memory; they are never persisted or logged.
|
|
37
|
+
const definitionSnapshot = JSON.stringify(definition);
|
|
38
|
+
const resolved = await resolveCredentialBinding(serverName, principal.username, replaceEnvVars(definition));
|
|
39
|
+
const revision = JSON.stringify([definitionSnapshot, resolved.revision]);
|
|
40
|
+
const key = JSON.stringify([serverName, principal.username]);
|
|
41
|
+
let entry = this.entries.get(key);
|
|
42
|
+
if (entry && (entry.revision !== revision || entry.info?.status === 'disconnected')) {
|
|
43
|
+
this.invalidate({ serverName, username: principal.username });
|
|
44
|
+
entry = undefined;
|
|
45
|
+
}
|
|
46
|
+
if (!entry) {
|
|
47
|
+
const created = {
|
|
48
|
+
serverName,
|
|
49
|
+
username: principal.username,
|
|
50
|
+
revision,
|
|
51
|
+
valid: true,
|
|
52
|
+
active: 0,
|
|
53
|
+
promise: undefined,
|
|
54
|
+
};
|
|
55
|
+
this.entries.set(key, created);
|
|
56
|
+
created.promise = (async () => {
|
|
57
|
+
let info;
|
|
58
|
+
try {
|
|
59
|
+
info = await this.connect(serverName, resolved.config);
|
|
60
|
+
// A rotation/deletion may have raced the initial read or async handshake.
|
|
61
|
+
const latest = await resolveCredentialBinding(serverName, principal.username, definition);
|
|
62
|
+
const currentDefinition = await getServerDao().findById(serverName);
|
|
63
|
+
if (!created.valid ||
|
|
64
|
+
latest.revision !== resolved.revision ||
|
|
65
|
+
JSON.stringify(currentDefinition) !== definitionSnapshot) {
|
|
66
|
+
throw new CredentialBindingError('Personal credentials or server configuration changed; retry the request');
|
|
67
|
+
}
|
|
68
|
+
created.info = info;
|
|
69
|
+
return info;
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
if (info)
|
|
73
|
+
this.close(info);
|
|
74
|
+
if (this.entries.get(key) === created)
|
|
75
|
+
this.entries.delete(key);
|
|
76
|
+
created.valid = false;
|
|
77
|
+
throw error instanceof CredentialBindingError
|
|
78
|
+
? error
|
|
79
|
+
: new CredentialBindingError(`Unable to connect '${serverName}' with your personal credentials. Check your binding in Credentials.`);
|
|
80
|
+
}
|
|
81
|
+
})();
|
|
82
|
+
entry = created;
|
|
83
|
+
}
|
|
84
|
+
clearTimeout(entry.timer);
|
|
85
|
+
entry.active += 1;
|
|
86
|
+
const held = entry;
|
|
87
|
+
const release = () => {
|
|
88
|
+
held.active -= 1;
|
|
89
|
+
if (held.active === 0 && held.valid) {
|
|
90
|
+
const idleMs = definition.idleTimeoutMs && definition.idleTimeoutMs > 0
|
|
91
|
+
? definition.idleTimeoutMs
|
|
92
|
+
: 300000;
|
|
93
|
+
held.timer = setTimeout(() => this.invalidate({ serverName, username: principal.username }), idleMs);
|
|
94
|
+
held.timer.unref?.();
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
try {
|
|
98
|
+
const info = await held.promise;
|
|
99
|
+
if (!held.valid)
|
|
100
|
+
throw new CredentialBindingError('Personal credentials changed; retry the request');
|
|
101
|
+
return { info, release };
|
|
102
|
+
}
|
|
103
|
+
catch (error) {
|
|
104
|
+
release();
|
|
105
|
+
throw error;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=principalRuntimeService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"principalRuntimeService.js","sourceRoot":"","sources":["../../src/services/principalRuntimeService.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,6 +26,9 @@ const presentSafeServerConfig = (config) => {
|
|
|
26
26
|
safe[field] = clone(config[field]);
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
|
+
if (Array.isArray(config.credentialTemplate)) {
|
|
30
|
+
safe.credentialTemplate = config.credentialTemplate.map(({ target, name, label }) => ({ target, name, ...(label ? { label } : {}) }));
|
|
31
|
+
}
|
|
29
32
|
// Explicit marker so callers (and the dashboard) can tell a restricted view
|
|
30
33
|
// apart from "this server genuinely has no credentials".
|
|
31
34
|
return { ...safe, configRestricted: true };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serverConfigPresenter.js","sourceRoot":"","sources":["../../src/services/serverConfigPresenter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"serverConfigPresenter.js","sourceRoot":"","sources":["../../src/services/serverConfigPresenter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { randomUUID } from 'node:crypto';
|
|
2
|
+
import { canAccessGroupRoute } from '../utils/groupAccess.js';
|
|
2
3
|
import { SSEServerTransport } from '@modelcontextprotocol/sdk/server/sse.js';
|
|
3
4
|
import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
|
|
4
5
|
import { isInitializeRequest } from '@modelcontextprotocol/sdk/types.js';
|
|
@@ -89,6 +90,34 @@ const normalizeBearerScopeParam = (groupParam) => {
|
|
|
89
90
|
}
|
|
90
91
|
return groupParam;
|
|
91
92
|
};
|
|
93
|
+
const getRequestSessionId = (req) => (req.headers['mcp-session-id'] || req.query.sessionId);
|
|
94
|
+
const attachSessionGroupToRequest = (req) => {
|
|
95
|
+
const sessionId = getRequestSessionId(req);
|
|
96
|
+
const sessionGroup = sessionId ? transports[sessionId]?.group : undefined;
|
|
97
|
+
if (sessionGroup && !req.params.group) {
|
|
98
|
+
req.params.group = sessionGroup;
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
const resolveGroupRouteReference = async (reference) => {
|
|
102
|
+
const groupDao = getGroupDao();
|
|
103
|
+
const byName = await groupDao.findByName(reference);
|
|
104
|
+
if (byName || !isValidUUID(reference))
|
|
105
|
+
return byName;
|
|
106
|
+
return groupDao.findById(reference);
|
|
107
|
+
};
|
|
108
|
+
const groupRouteReferencesMatch = async (requestedGroup, sessionGroup) => {
|
|
109
|
+
const normalizedRequestedGroup = normalizeBearerScopeParam(requestedGroup);
|
|
110
|
+
const normalizedSessionGroup = normalizeBearerScopeParam(sessionGroup);
|
|
111
|
+
if (normalizedRequestedGroup === normalizedSessionGroup)
|
|
112
|
+
return true;
|
|
113
|
+
if (!normalizedRequestedGroup || !normalizedSessionGroup)
|
|
114
|
+
return false;
|
|
115
|
+
const [requested, session] = await Promise.all([
|
|
116
|
+
resolveGroupRouteReference(normalizedRequestedGroup),
|
|
117
|
+
resolveGroupRouteReference(normalizedSessionGroup),
|
|
118
|
+
]);
|
|
119
|
+
return Boolean(requested && session && requested.id === session.id);
|
|
120
|
+
};
|
|
92
121
|
const isBearerKeyAllowedForRequest = async (req, key) => {
|
|
93
122
|
if (key.kind === 'user') {
|
|
94
123
|
return true;
|
|
@@ -315,6 +344,25 @@ const validateBearerAuth = async (req) => {
|
|
|
315
344
|
logger.warn('Bearer authentication failed: token did not match any key or OAuth user');
|
|
316
345
|
return { valid: false, reason: 'invalid' };
|
|
317
346
|
};
|
|
347
|
+
// Recheck every request, including existing sessions and smart group routes.
|
|
348
|
+
const authorizeGroupRoute = async (req, res) => {
|
|
349
|
+
const sessionId = getRequestSessionId(req);
|
|
350
|
+
const session = sessionId ? transports[sessionId] : undefined;
|
|
351
|
+
if (session && !(await groupRouteReferencesMatch(req.params.group, session.group))) {
|
|
352
|
+
res.status(403).json({ error: 'forbidden', error_description: 'Session route mismatch' });
|
|
353
|
+
return false;
|
|
354
|
+
}
|
|
355
|
+
const key = normalizeBearerScopeParam(req.params.group);
|
|
356
|
+
if (!key)
|
|
357
|
+
return true;
|
|
358
|
+
const dao = getGroupDao();
|
|
359
|
+
const group = (await dao.findByName(key)) || (isValidUUID(key) ? await dao.findById(key) : null);
|
|
360
|
+
if (group && !canAccessGroupRoute(group)) {
|
|
361
|
+
res.status(403).json({ error: 'forbidden', error_description: 'Group access denied' });
|
|
362
|
+
return false;
|
|
363
|
+
}
|
|
364
|
+
return true;
|
|
365
|
+
};
|
|
318
366
|
const attachUserContextFromBearer = (result, res) => {
|
|
319
367
|
if (!result.valid || !result.user) {
|
|
320
368
|
return;
|
|
@@ -408,6 +456,8 @@ export const handleSseConnection = async (req, res) => {
|
|
|
408
456
|
return;
|
|
409
457
|
}
|
|
410
458
|
attachUserContextFromBearer(bearerAuthResult, res);
|
|
459
|
+
if (!(await authorizeGroupRoute(req, res)))
|
|
460
|
+
return;
|
|
411
461
|
const currentUser = userContextService.getCurrentUser();
|
|
412
462
|
const username = currentUser?.username;
|
|
413
463
|
const systemConfigDao = getSystemConfigDao();
|
|
@@ -461,13 +511,7 @@ export const handleSseMessage = async (req, res) => {
|
|
|
461
511
|
// (no :group param), so isBearerKeyAllowedForRequest would see an empty paramValue
|
|
462
512
|
// and reject the key with 401. Injecting the group here lets the validator use
|
|
463
513
|
// the correct scope from the already-authenticated session.
|
|
464
|
-
|
|
465
|
-
if (preSessionId && transports[preSessionId] && !req.params.group) {
|
|
466
|
-
const sessionGroup = transports[preSessionId].group;
|
|
467
|
-
if (sessionGroup) {
|
|
468
|
-
req.params.group = sessionGroup;
|
|
469
|
-
}
|
|
470
|
-
}
|
|
514
|
+
attachSessionGroupToRequest(req);
|
|
471
515
|
// Check bearer auth using filtered settings
|
|
472
516
|
const bearerAuthResult = await validateBearerAuth(req);
|
|
473
517
|
if (!bearerAuthResult.valid) {
|
|
@@ -475,6 +519,8 @@ export const handleSseMessage = async (req, res) => {
|
|
|
475
519
|
return;
|
|
476
520
|
}
|
|
477
521
|
attachUserContextFromBearer(bearerAuthResult, res);
|
|
522
|
+
if (!(await authorizeGroupRoute(req, res)))
|
|
523
|
+
return;
|
|
478
524
|
const currentUser = userContextService.getCurrentUser();
|
|
479
525
|
const username = currentUser?.username;
|
|
480
526
|
const sessionId = req.query.sessionId;
|
|
@@ -568,6 +614,9 @@ async function createNewSession(group, username, hostedAuth) {
|
|
|
568
614
|
export const handleMcpPostRequest = async (req, res) => {
|
|
569
615
|
// User context is now set by sseUserContextMiddleware
|
|
570
616
|
const userContextService = UserContextService.getInstance();
|
|
617
|
+
// Streamable HTTP clients may continue an existing session on the global route.
|
|
618
|
+
// Reuse the session's group before bearer-scope validation in that case.
|
|
619
|
+
attachSessionGroupToRequest(req);
|
|
571
620
|
// Check bearer auth using filtered settings
|
|
572
621
|
const bearerAuthResult = await validateBearerAuth(req);
|
|
573
622
|
if (!bearerAuthResult.valid) {
|
|
@@ -575,6 +624,8 @@ export const handleMcpPostRequest = async (req, res) => {
|
|
|
575
624
|
return;
|
|
576
625
|
}
|
|
577
626
|
attachUserContextFromBearer(bearerAuthResult, res);
|
|
627
|
+
if (!(await authorizeGroupRoute(req, res)))
|
|
628
|
+
return;
|
|
578
629
|
const currentUser = userContextService.getCurrentUser();
|
|
579
630
|
const username = currentUser?.username;
|
|
580
631
|
const sessionId = req.headers['mcp-session-id'];
|
|
@@ -642,14 +693,7 @@ export const handleMcpPostRequest = async (req, res) => {
|
|
|
642
693
|
else {
|
|
643
694
|
// Session rebuild is disabled, return error
|
|
644
695
|
logger.warn(`[SESSION ERROR] Session ${sessionId} not found and session rebuild is disabled${username ? ` for user: ${username}` : ''}`);
|
|
645
|
-
res
|
|
646
|
-
jsonrpc: '2.0',
|
|
647
|
-
error: {
|
|
648
|
-
code: -32000,
|
|
649
|
-
message: 'Bad Request: No valid session ID provided',
|
|
650
|
-
},
|
|
651
|
-
id: null,
|
|
652
|
-
});
|
|
696
|
+
sendSessionNotFoundJsonRpc(res);
|
|
653
697
|
return;
|
|
654
698
|
}
|
|
655
699
|
}
|
|
@@ -710,6 +754,9 @@ export const handleMcpPostRequest = async (req, res) => {
|
|
|
710
754
|
export const handleMcpOtherRequest = async (req, res) => {
|
|
711
755
|
// User context is now set by sseUserContextMiddleware
|
|
712
756
|
const userContextService = UserContextService.getInstance();
|
|
757
|
+
// Streamable HTTP clients may continue an existing session on the global route.
|
|
758
|
+
// Reuse the session's group before bearer-scope validation in that case.
|
|
759
|
+
attachSessionGroupToRequest(req);
|
|
713
760
|
// Check bearer auth using filtered settings
|
|
714
761
|
const bearerAuthResult = await validateBearerAuth(req);
|
|
715
762
|
if (!bearerAuthResult.valid) {
|
|
@@ -717,6 +764,8 @@ export const handleMcpOtherRequest = async (req, res) => {
|
|
|
717
764
|
return;
|
|
718
765
|
}
|
|
719
766
|
attachUserContextFromBearer(bearerAuthResult, res);
|
|
767
|
+
if (!(await authorizeGroupRoute(req, res)))
|
|
768
|
+
return;
|
|
720
769
|
const currentUser = userContextService.getCurrentUser();
|
|
721
770
|
const username = currentUser?.username;
|
|
722
771
|
logger.log(`Handling MCP other request${username ? ` for user: ${username}` : ''}`);
|
|
@@ -759,7 +808,7 @@ export const handleMcpOtherRequest = async (req, res) => {
|
|
|
759
808
|
}
|
|
760
809
|
else {
|
|
761
810
|
logger.warn(`[SESSION ERROR] Session ${sessionId} not found and session rebuild is disabled in handleMcpOtherRequest`);
|
|
762
|
-
res
|
|
811
|
+
sendSessionNotFoundText(res);
|
|
763
812
|
return;
|
|
764
813
|
}
|
|
765
814
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sseService.js","sourceRoot":"","sources":["../../src/services/sseService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sseService.js","sourceRoot":"","sources":["../../src/services/sseService.ts"],"names":[],"mappings":"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"}
|