@winstonsayno/mcp-gateway 1.1.0 → 1.2.0

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 (67) hide show
  1. package/CHANGELOG.md +85 -0
  2. package/README.md +32 -6
  3. package/dashboard/README.md +4 -0
  4. package/dashboard/index.html +42 -3
  5. package/dist/auth/middleware.d.ts +29 -0
  6. package/dist/auth/middleware.d.ts.map +1 -1
  7. package/dist/auth/middleware.js +142 -18
  8. package/dist/auth/middleware.js.map +1 -1
  9. package/dist/cli.js +54 -1
  10. package/dist/cli.js.map +1 -1
  11. package/dist/config/loader.d.ts.map +1 -1
  12. package/dist/config/loader.js +110 -2
  13. package/dist/config/loader.js.map +1 -1
  14. package/dist/gateway/api.d.ts +5 -0
  15. package/dist/gateway/api.d.ts.map +1 -1
  16. package/dist/gateway/api.js +86 -4
  17. package/dist/gateway/api.js.map +1 -1
  18. package/dist/gateway/index.d.ts +9 -1
  19. package/dist/gateway/index.d.ts.map +1 -1
  20. package/dist/gateway/index.js +76 -5
  21. package/dist/gateway/index.js.map +1 -1
  22. package/dist/index.d.ts +11 -3
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +7 -1
  25. package/dist/index.js.map +1 -1
  26. package/dist/mcp/catalog.d.ts +1 -1
  27. package/dist/mcp/endpoint.d.ts +46 -1
  28. package/dist/mcp/endpoint.d.ts.map +1 -1
  29. package/dist/mcp/endpoint.js +312 -10
  30. package/dist/mcp/endpoint.js.map +1 -1
  31. package/dist/middleware/error-handler.d.ts +10 -1
  32. package/dist/middleware/error-handler.d.ts.map +1 -1
  33. package/dist/middleware/error-handler.js +17 -3
  34. package/dist/middleware/error-handler.js.map +1 -1
  35. package/dist/monitor/index.d.ts.map +1 -1
  36. package/dist/monitor/index.js +5 -0
  37. package/dist/monitor/index.js.map +1 -1
  38. package/dist/proxy/index.d.ts +15 -0
  39. package/dist/proxy/index.d.ts.map +1 -1
  40. package/dist/proxy/index.js +44 -4
  41. package/dist/proxy/index.js.map +1 -1
  42. package/dist/security/headers.d.ts +23 -0
  43. package/dist/security/headers.d.ts.map +1 -0
  44. package/dist/security/headers.js +71 -0
  45. package/dist/security/headers.js.map +1 -0
  46. package/dist/security/lockout.d.ts +41 -0
  47. package/dist/security/lockout.d.ts.map +1 -0
  48. package/dist/security/lockout.js +117 -0
  49. package/dist/security/lockout.js.map +1 -0
  50. package/dist/security/network.d.ts +31 -0
  51. package/dist/security/network.d.ts.map +1 -0
  52. package/dist/security/network.js +147 -0
  53. package/dist/security/network.js.map +1 -0
  54. package/dist/security/posture.d.ts +18 -0
  55. package/dist/security/posture.d.ts.map +1 -0
  56. package/dist/security/posture.js +73 -0
  57. package/dist/security/posture.js.map +1 -0
  58. package/dist/security/redact.d.ts +34 -0
  59. package/dist/security/redact.d.ts.map +1 -0
  60. package/dist/security/redact.js +115 -0
  61. package/dist/security/redact.js.map +1 -0
  62. package/dist/utils/logger.d.ts.map +1 -1
  63. package/dist/utils/logger.js +4 -2
  64. package/dist/utils/logger.js.map +1 -1
  65. package/dist/utils/types.d.ts +81 -2
  66. package/dist/utils/types.d.ts.map +1 -1
  67. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/gateway/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/gateway/api.ts"],"names":[],"mappings":"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"}
@@ -17,10 +17,16 @@ export declare class Gateway {
17
17
  private mcp?;
18
18
  private live?;
19
19
  private cors;
20
+ private ipFilter?;
21
+ private jsonParser;
20
22
  private readonly reloadLock;
21
23
  private started;
22
24
  private stopping?;
23
25
  constructor(config: GatewayConfig);
26
+ private maxBodyBytes;
27
+ /** Host header patterns to enforce (undefined = no check). */
28
+ private allowedHosts;
29
+ private applyTrustProxy;
24
30
  start(): Promise<void>;
25
31
  /** Bound address (useful when listening on port 0). */
26
32
  address(): AddressInfo | undefined;
@@ -39,7 +45,9 @@ export declare class Gateway {
39
45
  * - servers that were removed or disabled are disconnected, new or changed
40
46
  * ones (re)connected;
41
47
  * - auth (strategy, keys, secret, protect flags), rate limits, CORS origins,
42
- * monitor.requestLog / monitor.prometheus, reconnect policy and logLevel
48
+ * monitor.requestLog / monitor.prometheus, reconnect policy, logLevel and
49
+ * `security` (headers, trustProxy, ipAllowlist, allowedHosts,
50
+ * dnsRebindingProtection, body / argument limits, lockout, redaction)
43
51
  * take effect immediately.
44
52
  * port, host, monitor.retentionHours, healthCheckIntervalMs and dashboard
45
53
  * still require a restart.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/gateway/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,KAAK,CAAC;AAIvC,OAAO,KAAK,EAAE,aAAa,EAAmB,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAYtD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAUjD,qBAAa,OAAO;IAeN,OAAO,CAAC,MAAM;IAd1B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAa;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkC;IACzD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;IAC1C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAW;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAC3C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;IAC9C,OAAO,CAAC,MAAM,CAAC,CAAY;IAC3B,OAAO,CAAC,GAAG,CAAC,CAAc;IAC1B,OAAO,CAAC,IAAI,CAAC,CAAa;IAC1B,OAAO,CAAC,IAAI,CAAyB;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAe;IAC1C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,CAAgB;gBAEb,MAAM,EAAE,aAAa;IAQnC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAwG5B,uDAAuD;IACvD,OAAO,IAAI,WAAW,GAAG,SAAS;IAKlC,kFAAkF;IAClF,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAKP,KAAK;IAkBnB;;;;OAIG;YACW,WAAW;YAkBX,iBAAiB;IAmB/B;;;;;;;;;OASG;IACG,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;YA6ElC,cAAc;IAiB5B,2FAA2F;IAC3F,cAAc,IAAI,WAAW,GAAG,SAAS;IAIzC,sDAAsD;IACtD,WAAW,IAAI,cAAc;CAG9B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/gateway/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,KAAK,CAAC;AAKvC,OAAO,KAAK,EAAE,aAAa,EAAmB,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAgBtD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAUjD,qBAAa,OAAO;IAiBN,OAAO,CAAC,MAAM;IAhB1B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAa;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkC;IACzD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;IAC1C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAW;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAC3C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;IAC9C,OAAO,CAAC,MAAM,CAAC,CAAY;IAC3B,OAAO,CAAC,GAAG,CAAC,CAAc;IAC1B,OAAO,CAAC,IAAI,CAAC,CAAa;IAC1B,OAAO,CAAC,IAAI,CAAyB;IACrC,OAAO,CAAC,QAAQ,CAAC,CAAyB;IAC1C,OAAO,CAAC,UAAU,CAAyB;IAC3C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAe;IAC1C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,CAAgB;gBAEb,MAAM,EAAE,aAAa;IAWzC,OAAO,CAAC,YAAY;IAIpB,8DAA8D;IAC9D,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,eAAe;IASjB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA2H5B,uDAAuD;IACvD,OAAO,IAAI,WAAW,GAAG,SAAS;IAKlC,kFAAkF;IAClF,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAKP,KAAK;IAkBnB;;;;OAIG;YACW,WAAW;YAkBX,iBAAiB;IAmB/B;;;;;;;;;;;OAWG;IACG,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;YA8FlC,cAAc;IAiB5B,2FAA2F;IAC3F,cAAc,IAAI,WAAW,GAAG,SAAS;IAIzC,sDAAsD;IACtD,WAAW,IAAI,cAAc;CAG9B"}
@@ -4,6 +4,7 @@
4
4
  import express from 'express';
5
5
  import { createServer } from 'http';
6
6
  import { existsSync } from 'fs';
7
+ import { readFile } from 'fs/promises';
7
8
  import { dirname, resolve } from 'path';
8
9
  import { fileURLToPath } from 'url';
9
10
  import { ServerRegistry } from '../registry/index.js';
@@ -14,7 +15,11 @@ import { ServerSupervisor } from './supervisor.js';
14
15
  import { createLiveRouter } from './live.js';
15
16
  import { corsMiddleware } from '../middleware/cors.js';
16
17
  import { requestIdMiddleware } from '../middleware/request-id.js';
17
- import { errorHandler, notFoundHandler } from '../middleware/error-handler.js';
18
+ import { createErrorHandler, notFoundHandler } from '../middleware/error-handler.js';
19
+ import { dashboardCsp, securityHeadersMiddleware } from '../security/headers.js';
20
+ import { defaultAllowedHosts, hostCheckMiddleware, ipAllowlistMiddleware } from '../security/network.js';
21
+ import { configureRedaction } from '../security/redact.js';
22
+ import { securityWarnings } from '../security/posture.js';
18
23
  import { logger } from '../utils/logger.js';
19
24
  import { Mutex } from '../utils/mutex.js';
20
25
  import { VERSION } from '../utils/version.js';
@@ -38,6 +43,8 @@ export class Gateway {
38
43
  mcp;
39
44
  live;
40
45
  cors;
46
+ ipFilter;
47
+ jsonParser;
41
48
  reloadLock = new Mutex();
42
49
  started = false;
43
50
  stopping;
@@ -48,6 +55,28 @@ export class Gateway {
48
55
  this.metrics = new MetricsCollector(config.monitor);
49
56
  this.supervisor = new ServerSupervisor(this.proxy, this.registry, { reconnect: config.reconnect });
50
57
  this.cors = corsMiddleware({ origins: config.corsOrigins ?? ['*'] });
58
+ this.jsonParser = express.json({ limit: this.maxBodyBytes() });
59
+ configureRedaction(config.security?.redactPatterns);
60
+ this.ipFilter = config.security?.ipAllowlist ? ipAllowlistMiddleware(config.security.ipAllowlist) : undefined;
61
+ }
62
+ maxBodyBytes() {
63
+ return this.config.security?.maxBodyBytes ?? 10 * 1024 * 1024;
64
+ }
65
+ /** Host header patterns to enforce (undefined = no check). */
66
+ allowedHosts() {
67
+ const sec = this.config.security;
68
+ if (sec?.allowedHosts)
69
+ return sec.allowedHosts;
70
+ return sec?.dnsRebindingProtection ? defaultAllowedHosts(this.config.host) : undefined;
71
+ }
72
+ applyTrustProxy() {
73
+ const tp = this.config.security?.trustProxy ?? false;
74
+ try {
75
+ this.app.set('trust proxy', tp);
76
+ }
77
+ catch (err) {
78
+ throw new Error(`Invalid security.trustProxy: ${err instanceof Error ? err.message : String(err)}`);
79
+ }
51
80
  }
52
81
  async start() {
53
82
  if (this.started)
@@ -60,7 +89,13 @@ export class Gateway {
60
89
  isShuttingDown: () => this.stopping !== undefined,
61
90
  });
62
91
  this.app.disable('x-powered-by');
92
+ this.applyTrustProxy();
63
93
  this.app.use(requestIdMiddleware);
94
+ this.app.use(securityHeadersMiddleware(() => this.config.security));
95
+ // Network guards first: nothing else (not even CORS preflights) runs for
96
+ // a disallowed client address or Host header.
97
+ this.app.use((req, res, next) => (this.ipFilter ? this.ipFilter(req, res, next) : next()));
98
+ this.app.use(hostCheckMiddleware(() => this.allowedHosts()));
64
99
  // Previously an inline handler joined multiple origins into one
65
100
  // Access-Control-Allow-Origin value, which browsers reject.
66
101
  // Indirection so CORS origins can be hot reloaded.
@@ -77,17 +112,27 @@ export class Gateway {
77
112
  corsOrigins: () => this.config.corsOrigins,
78
113
  resolveClient: (clientId) => router.resolveClient(clientId),
79
114
  requestLog: () => this.config.monitor?.requestLog !== false,
115
+ strictOrigins: () => this.config.security?.dnsRebindingProtection === true,
116
+ maxBodyBytes: () => this.maxBodyBytes(),
117
+ maxArgumentsBytes: () => this.config.security?.maxToolArgumentsBytes ?? 0,
80
118
  });
81
119
  this.app.use(this.mcp.router());
82
120
  }
83
- this.app.use(express.json({ limit: '10mb' }));
121
+ this.app.use((req, res, next) => this.jsonParser(req, res, next));
84
122
  // Live dashboard data: GET /api/v1/stats and the /api/v1/events SSE stream.
85
123
  this.live = createLiveRouter(this.metrics, this.registry, { authenticate: this.router.authenticate });
86
124
  this.app.use('/api/v1', this.live);
87
125
  this.app.use('/api/v1', this.router);
88
126
  const dashboard = this.config.dashboard?.enabled === false ? undefined : findDashboard();
89
127
  if (dashboard) {
90
- this.app.get('/dashboard', (_req, res) => res.sendFile(dashboard));
128
+ this.app.get('/dashboard', (_req, res, next) => {
129
+ // Read per request (small file) so the CSP hash always matches the served script.
130
+ readFile(dashboard, 'utf8').then((html) => {
131
+ if (this.config.security?.headers !== false)
132
+ res.setHeader('Content-Security-Policy', dashboardCsp(html));
133
+ res.type('html').set('Cache-Control', 'no-cache').send(html);
134
+ }, next);
135
+ });
91
136
  }
92
137
  this.app.get('/', (_req, res) => {
93
138
  res.json({
@@ -103,7 +148,7 @@ export class Gateway {
103
148
  });
104
149
  });
105
150
  this.app.use(notFoundHandler);
106
- this.app.use(errorHandler);
151
+ this.app.use(createErrorHandler(() => this.config.security?.exposeErrorDetails === true));
107
152
  this.metrics.start();
108
153
  if (this.config.audit?.enabled) {
109
154
  try {
@@ -130,6 +175,12 @@ export class Gateway {
130
175
  const { port } = this.address() ?? { port: this.config.port };
131
176
  logger.info(`mcp-gateway v${VERSION} listening on http://${this.config.host}:${port}`);
132
177
  logger.info(`API: http://${this.config.host}:${port}/api/v1`);
178
+ for (const w of securityWarnings(this.config)) {
179
+ if (w.level === 'warn')
180
+ logger.warn(`Security: ${w.message}`);
181
+ else
182
+ logger.info(`Security hint: ${w.message}`);
183
+ }
133
184
  resolveListen();
134
185
  };
135
186
  this.server.once('error', onError);
@@ -219,7 +270,9 @@ export class Gateway {
219
270
  * - servers that were removed or disabled are disconnected, new or changed
220
271
  * ones (re)connected;
221
272
  * - auth (strategy, keys, secret, protect flags), rate limits, CORS origins,
222
- * monitor.requestLog / monitor.prometheus, reconnect policy and logLevel
273
+ * monitor.requestLog / monitor.prometheus, reconnect policy, logLevel and
274
+ * `security` (headers, trustProxy, ipAllowlist, allowedHosts,
275
+ * dnsRebindingProtection, body / argument limits, lockout, redaction)
223
276
  * take effect immediately.
224
277
  * port, host, monitor.retentionHours, healthCheckIntervalMs and dashboard
225
278
  * still require a restart.
@@ -265,6 +318,15 @@ export class Gateway {
265
318
  this.cors = corsMiddleware({ origins: next.corsOrigins ?? ['*'] });
266
319
  applied.push('corsOrigins');
267
320
  }
321
+ if (!same(this.config.security, next.security)) {
322
+ const sec = next.security;
323
+ configureRedaction(sec?.redactPatterns);
324
+ this.ipFilter = sec?.ipAllowlist ? ipAllowlistMiddleware(sec.ipAllowlist) : undefined;
325
+ if ((sec?.maxBodyBytes ?? 0) !== (this.config.security?.maxBodyBytes ?? 0)) {
326
+ this.jsonParser = express.json({ limit: sec?.maxBodyBytes ?? 10 * 1024 * 1024 });
327
+ }
328
+ applied.push('security');
329
+ }
268
330
  if (reconnectChanged) {
269
331
  this.supervisor.setReconnectDefaults(next.reconnect);
270
332
  applied.push('reconnect');
@@ -288,7 +350,16 @@ export class Gateway {
288
350
  corsOrigins: next.corsOrigins,
289
351
  reconnect: next.reconnect,
290
352
  mcp: next.mcp,
353
+ security: next.security,
291
354
  };
355
+ if (applied.includes('security')) {
356
+ try {
357
+ this.applyTrustProxy();
358
+ }
359
+ catch (err) {
360
+ logger.error(err instanceof Error ? err.message : String(err));
361
+ }
362
+ }
292
363
  await this.connectServers(toConnect);
293
364
  logger.info(`Hot reload applied: ${toConnect.length} (re)connected, ${toRemove.length} removed` +
294
365
  (applied.length ? `; updated ${applied.join(', ')}` : ''));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/gateway/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/gateway/index.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -7,7 +7,7 @@ export { computeReadiness } from './gateway/api.js';
7
7
  export type { Readiness } from './gateway/api.js';
8
8
  export { ServerRegistry } from './registry/index.js';
9
9
  export { McpProxy, defaultChannelFactory, MCP_PROTOCOL_VERSION } from './proxy/index.js';
10
- export type { ProxyOptions, SessionInfo } from './proxy/index.js';
10
+ export type { ProxyOptions, SessionInfo, RequestOptions, ProgressUpdate } from './proxy/index.js';
11
11
  export { ServerSupervisor, computeBackoff, DEFAULT_RECONNECT } from './gateway/supervisor.js';
12
12
  export type { UpstreamChannel, ChannelFactory, ChannelOptions, JsonRpcMessage } from './transport/channel.js';
13
13
  export { MetricsCollector } from './monitor/index.js';
@@ -19,10 +19,18 @@ export { logger } from './utils/logger.js';
19
19
  export { isToolAllowed, filterTools } from './utils/tool-filter.js';
20
20
  export { isServerInScope, isToolInScope, filterToolsByScope, scopeFromJwt, JWT_SERVERS_CLAIM, JWT_TOOLS_CLAIM, } from './auth/scopes.js';
21
21
  export type { AccessScope } from './auth/scopes.js';
22
- export { McpEndpoint, DOWNSTREAM_PROTOCOL_VERSIONS, ERR_RATE_LIMITED } from './mcp/endpoint.js';
22
+ export { McpEndpoint, DOWNSTREAM_PROTOCOL_VERSIONS, ERR_RATE_LIMITED, LOG_LEVELS } from './mcp/endpoint.js';
23
+ export type { McpLogLevel } from './mcp/endpoint.js';
24
+ export { hashApiKey, isHashedKey, buildJwtVerifier, HMAC_ALGORITHMS, ASYMMETRIC_ALGORITHMS } from './auth/middleware.js';
25
+ export { redactString, redactValue, redactArgs, configureRedaction } from './security/redact.js';
26
+ export { securityWarnings } from './security/posture.js';
27
+ export type { SecurityWarning } from './security/posture.js';
28
+ export { AuthLockout } from './security/lockout.js';
29
+ export { createIpMatcher, hostAllowed } from './security/network.js';
30
+ export { dashboardCsp, inlineScriptHashes } from './security/headers.js';
23
31
  export type { McpSessionSummary } from './mcp/endpoint.js';
24
32
  export { toLlmToolSchemas, sanitizeToolName, LLM_SCHEMA_FORMATS } from './mcp/llm-schemas.js';
25
33
  export type { LlmSchemaFormat, LlmToolSchemas } from './mcp/llm-schemas.js';
26
34
  export { buildToolIndex, prefixedName, TOOL_NAME_SEPARATOR } from './mcp/naming.js';
27
- export type { GatewayConfig, McpServerConfig, ServerHealth, ServerStatus, ServerTransport, ToolInfo, RequestMetric, AggregatedMetrics, AuthConfig, RateLimitConfig, MonitorConfig, ReconnectConfig, ReconnectState, ToolFilterConfig, McpEndpointConfig, ToolNaming, ApiKeyConfig, AuditConfig, ResourceInfo, ResourceTemplateInfo, PromptInfo, PromptArgumentInfo, ServerCatalog, } from './utils/types.js';
35
+ export type { GatewayConfig, McpServerConfig, ServerHealth, ServerStatus, ServerTransport, ToolInfo, RequestMetric, AggregatedMetrics, AuthConfig, RateLimitConfig, MonitorConfig, ReconnectConfig, ReconnectState, ToolFilterConfig, McpEndpointConfig, ToolNaming, ApiKeyConfig, JwtConfig, SecurityConfig, AuthLockoutConfig, AuditConfig, ResourceInfo, ResourceTemplateInfo, PromptInfo, PromptArgumentInfo, ServerCatalog, } from './utils/types.js';
28
36
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACzF,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC9F,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC9G,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACvE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EACL,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EACL,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,4BAA4B,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAChG,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC9F,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACpF,YAAY,EACV,aAAa,EACb,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,QAAQ,EACR,aAAa,EACb,iBAAiB,EACjB,UAAU,EACV,eAAe,EACf,aAAa,EACb,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,EACV,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,UAAU,EACV,kBAAkB,EAClB,aAAa,GACd,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -14,7 +14,13 @@ export { loadConfig, generateDefaultConfig } from './config/loader.js';
14
14
  export { logger } from './utils/logger.js';
15
15
  export { isToolAllowed, filterTools } from './utils/tool-filter.js';
16
16
  export { isServerInScope, isToolInScope, filterToolsByScope, scopeFromJwt, JWT_SERVERS_CLAIM, JWT_TOOLS_CLAIM, } from './auth/scopes.js';
17
- export { McpEndpoint, DOWNSTREAM_PROTOCOL_VERSIONS, ERR_RATE_LIMITED } from './mcp/endpoint.js';
17
+ export { McpEndpoint, DOWNSTREAM_PROTOCOL_VERSIONS, ERR_RATE_LIMITED, LOG_LEVELS } from './mcp/endpoint.js';
18
+ export { hashApiKey, isHashedKey, buildJwtVerifier, HMAC_ALGORITHMS, ASYMMETRIC_ALGORITHMS } from './auth/middleware.js';
19
+ export { redactString, redactValue, redactArgs, configureRedaction } from './security/redact.js';
20
+ export { securityWarnings } from './security/posture.js';
21
+ export { AuthLockout } from './security/lockout.js';
22
+ export { createIpMatcher, hostAllowed } from './security/network.js';
23
+ export { dashboardCsp, inlineScriptHashes } from './security/headers.js';
18
24
  export { toLlmToolSchemas, sanitizeToolName, LLM_SCHEMA_FORMATS } from './mcp/llm-schemas.js';
19
25
  export { buildToolIndex, prefixedName, TOOL_NAME_SEPARATOR } from './mcp/naming.js';
20
26
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAEzF,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE9F,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAEvE,OAAO,EACL,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EACL,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,WAAW,EAAE,4BAA4B,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAEhG,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE9F,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAEzF,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE9F,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAEvE,OAAO,EACL,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EACL,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,WAAW,EAAE,4BAA4B,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE5G,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AACzH,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACjG,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEzE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE9F,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -23,8 +23,8 @@ export declare const toMcpResource: (r: ResourceInfo) => Omit<ResourceInfo, "ser
23
23
  export declare const toMcpResourceTemplate: (t: ResourceTemplateInfo) => Omit<ResourceTemplateInfo, "serverId" | "serverName">;
24
24
  export declare const toMcpPrompt: (name: string, p: PromptInfo) => {
25
25
  name: string;
26
- description?: string | undefined;
27
26
  title?: string | undefined;
27
+ description?: string | undefined;
28
28
  arguments?: import("../index.js").PromptArgumentInfo[] | undefined;
29
29
  };
30
30
  //# sourceMappingURL=catalog.d.ts.map
@@ -5,9 +5,16 @@
5
5
  * - `POST <path>`: JSON-RPC requests / notifications / responses (batches
6
6
  * accepted for 2025-03-26 clients). Answers with `application/json`.
7
7
  * - `GET <path>`: server→client SSE stream for notifications
8
- * (`notifications/tools/list_changed`).
8
+ * (`notifications/{tools,resources,prompts}/list_changed`,
9
+ * `notifications/resources/updated`, `notifications/message`).
9
10
  * - `DELETE <path>`: ends the session.
10
11
  *
12
+ * A `tools/call` carrying `_meta.progressToken` from a client that accepts
13
+ * `text/event-stream` is answered as an SSE stream as soon as the upstream
14
+ * server reports progress: `notifications/progress` events, then the result.
15
+ * `logging/setLevel`, `completion/complete` and `resources/subscribe` /
16
+ * `unsubscribe` are routed to the owning upstream servers.
17
+ *
11
18
  * Sessions (`Mcp-Session-Id`) are bound to the authenticated client: a
12
19
  * session id presented with another key is treated as unknown. Auth, rate
13
20
  * limiting (per `tools/call`), `maxConcurrency`, timeouts, metrics and the
@@ -23,6 +30,9 @@ import { type McpProxy } from '../proxy/index.js';
23
30
  import type { MetricsCollector } from '../monitor/index.js';
24
31
  import type { RateLimitDecision } from '../auth/ratelimit.js';
25
32
  import { type AccessScope } from '../auth/scopes.js';
33
+ /** MCP logging levels (RFC 5424 severities), least severe first. */
34
+ export declare const LOG_LEVELS: readonly ["debug", "info", "notice", "warning", "error", "critical", "alert", "emergency"];
35
+ export type McpLogLevel = (typeof LOG_LEVELS)[number];
26
36
  /** Protocol versions the endpoint speaks, newest first. */
27
37
  export declare const DOWNSTREAM_PROTOCOL_VERSIONS: string[];
28
38
  export declare const LATEST_PROTOCOL_VERSION: string;
@@ -69,6 +79,16 @@ export interface McpEndpointDeps {
69
79
  known: boolean;
70
80
  scope?: AccessScope;
71
81
  } | undefined;
82
+ /**
83
+ * DNS-rebinding protection: when true, browser requests are only accepted
84
+ * from the same origin, loopback origins or explicitly listed origins
85
+ * ("*" is ignored).
86
+ */
87
+ strictOrigins?: () => boolean;
88
+ /** Maximum request body (bytes, default 10 MiB). */
89
+ maxBodyBytes?: () => number;
90
+ /** Maximum `arguments` size of tools/call / prompts/get / completion (bytes, 0 = no limit). */
91
+ maxArgumentsBytes?: () => number;
72
92
  }
73
93
  export declare class McpEndpoint {
74
94
  private readonly deps;
@@ -79,6 +99,14 @@ export declare class McpEndpoint {
79
99
  private notifyTimer?;
80
100
  private closed;
81
101
  private readonly onRegistryChange;
102
+ /** Upstream resource subscriptions: `<serverId>\0<uri>` → subscribed session ids. */
103
+ private readonly upstreamSubs;
104
+ /** Last `logging/setLevel` sent to each upstream server. */
105
+ private readonly upstreamLogLevel;
106
+ private readonly onUpstreamNotification;
107
+ private readonly onUpstreamConnected;
108
+ private readonly onUpstreamDisconnected;
109
+ private jsonParser?;
82
110
  constructor(config: McpEndpointConfig | undefined, deps: McpEndpointDeps);
83
111
  get path(): string;
84
112
  /** Apply hot-reloadable settings (everything except `enabled` and `path`). */
@@ -90,6 +118,7 @@ export declare class McpEndpoint {
90
118
  getSessions(): McpSessionSummary[];
91
119
  private checkOrigin;
92
120
  private handlePost;
121
+ private replyStream;
93
122
  private initialize;
94
123
  /** Validate session + protocol headers; on failure the response is already sent. */
95
124
  private resolveSession;
@@ -115,6 +144,22 @@ export declare class McpEndpoint {
115
144
  private fingerprint;
116
145
  private listTools;
117
146
  private callTool;
147
+ private argumentsTooLarge;
148
+ private setLogLevel;
149
+ /** Most verbose level any session asked for (undefined when none did). */
150
+ private wantedLogLevel;
151
+ /** Send `logging/setLevel` to upstream servers with the `logging` capability when the wanted level changed. */
152
+ private pushUpstreamLogLevel;
153
+ private complete;
154
+ private routeUri;
155
+ private subscribe;
156
+ private unsubscribe;
157
+ private releaseSub;
158
+ private dropUpstreamSub;
159
+ /** Number of upstream subscriptions (for tests / monitoring). */
160
+ subscriptionCount(): number;
161
+ private handleUpstreamConnected;
162
+ private handleUpstreamNotification;
118
163
  private scheduleListChanged;
119
164
  /** Re-evaluate every session's scope (after an auth hot reload) and notify changes. */
120
165
  refreshClients(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"endpoint.d.ts","sourceRoot":"","sources":["../../src/mcp/endpoint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"endpoint.d.ts","sourceRoot":"","sources":["../../src/mcp/endpoint.ts"],"names":[],"mappings":"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"}