@ni-c/mcp-hub 0.10.0 → 0.11.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 (77) hide show
  1. package/CHANGELOG.md +388 -0
  2. package/README.md +77 -12
  3. package/dist/admin.js +1 -1
  4. package/dist/admin.js.map +1 -1
  5. package/dist/auth/api-tokens.js +27 -0
  6. package/dist/auth/api-tokens.js.map +1 -0
  7. package/dist/auth/headers.js +22 -1
  8. package/dist/auth/headers.js.map +1 -1
  9. package/dist/auth/oidc/adapter.js +135 -0
  10. package/dist/auth/oidc/adapter.js.map +1 -0
  11. package/dist/auth/oidc/interactions.js +187 -0
  12. package/dist/auth/oidc/interactions.js.map +1 -0
  13. package/dist/auth/oidc/mount.js +144 -0
  14. package/dist/auth/oidc/mount.js.map +1 -0
  15. package/dist/auth/oidc/provider.js +440 -0
  16. package/dist/auth/oidc/provider.js.map +1 -0
  17. package/dist/auth/oidc/quirks.js +234 -0
  18. package/dist/auth/oidc/quirks.js.map +1 -0
  19. package/dist/auth/oidc/verifier.js +121 -0
  20. package/dist/auth/oidc/verifier.js.map +1 -0
  21. package/dist/auth/protected-resource.js +41 -0
  22. package/dist/auth/protected-resource.js.map +1 -0
  23. package/dist/auth/rate-limit.js +115 -2
  24. package/dist/auth/rate-limit.js.map +1 -1
  25. package/dist/auth/redirect-uri.js +33 -1
  26. package/dist/auth/redirect-uri.js.map +1 -1
  27. package/dist/auth/registration.js +1 -1
  28. package/dist/auth/registration.js.map +1 -1
  29. package/dist/auth/session.js +43 -0
  30. package/dist/auth/session.js.map +1 -0
  31. package/dist/auth/store.js +160 -1
  32. package/dist/auth/store.js.map +1 -1
  33. package/dist/config.js +55 -2
  34. package/dist/config.js.map +1 -1
  35. package/dist/docker-proxy/policy.js +1 -0
  36. package/dist/docker-proxy/policy.js.map +1 -1
  37. package/dist/docker-proxy/server.js +1 -0
  38. package/dist/docker-proxy/server.js.map +1 -1
  39. package/dist/elicitation.js +0 -0
  40. package/dist/elicitation.js.map +1 -0
  41. package/dist/forward.js +0 -0
  42. package/dist/forward.js.map +1 -0
  43. package/dist/hub.js +309 -29
  44. package/dist/hub.js.map +1 -1
  45. package/dist/index.js +103 -21
  46. package/dist/index.js.map +1 -1
  47. package/dist/limits.js +13 -1
  48. package/dist/limits.js.map +1 -1
  49. package/dist/mcp-limits.js +14 -2
  50. package/dist/mcp-limits.js.map +1 -1
  51. package/dist/proxy.js +246 -40
  52. package/dist/proxy.js.map +1 -1
  53. package/dist/stdio.js +71 -6
  54. package/dist/stdio.js.map +1 -1
  55. package/dist/subscriptions.js +236 -0
  56. package/dist/subscriptions.js.map +1 -0
  57. package/dist/supervisor.js +322 -22
  58. package/dist/supervisor.js.map +1 -1
  59. package/dist/timings.js +61 -0
  60. package/dist/timings.js.map +1 -0
  61. package/dist/tool-filter.js +1 -0
  62. package/dist/tool-filter.js.map +1 -1
  63. package/dist/transports/docker.js.map +1 -1
  64. package/dist/transports/stream.js +33 -20
  65. package/dist/transports/stream.js.map +1 -1
  66. package/dist/upstream/auth.js +1 -1
  67. package/dist/upstream/auth.js.map +1 -1
  68. package/dist/upstream/provider.js.map +1 -1
  69. package/dist/upstream/routes.js +3 -2
  70. package/dist/upstream/routes.js.map +1 -1
  71. package/package.json +19 -6
  72. package/dist/auth/private-key-jwt.js +0 -213
  73. package/dist/auth/private-key-jwt.js.map +0 -1
  74. package/dist/auth/provider.js +0 -437
  75. package/dist/auth/provider.js.map +0 -1
  76. package/dist/auth/routes.js +0 -249
  77. package/dist/auth/routes.js.map +0 -1
package/dist/hub.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"hub.js","sourceRoot":"","sources":["../src/hub.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hub.js","sourceRoot":"","sources":["../src/hub.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,17 +1,22 @@
1
1
  #!/usr/bin/env node
2
2
  import path from 'node:path';
3
3
  import express from 'express';
4
- import { requireBearerAuth } from '@modelcontextprotocol/sdk/server/auth/middleware/bearerAuth.js';
4
+ import { requireBearerAuth } from '@modelcontextprotocol/express';
5
5
  import { loadConfig, ConfigWatcher, warnMutableDockerImages } from './config.js';
6
6
  import { Supervisor, UpstreamAuthRegistry } from './supervisor.js';
7
7
  import { ToolCache } from './tool-cache.js';
8
8
  import { warnSingleFileMount } from './mount-check.js';
9
- import { serverRequestHandler, handleMcpRequest } from './proxy.js';
9
+ import { serverRequestHandler, handleMcpRequest, createRoute } from './proxy.js';
10
10
  import { buildHubServer } from './hub.js';
11
11
  import { AuthStore, DEFAULT_CLIENT_LIMITS } from './auth/store.js';
12
12
  import { CimdResolver } from './auth/cimd.js';
13
- import { HubOAuthProvider } from './auth/provider.js';
14
- import { createAuthRoutes } from './auth/routes.js';
13
+ import { createOidcInteractionRoutes } from './auth/oidc/interactions.js';
14
+ import { mountOidcProvider } from './auth/oidc/mount.js';
15
+ import { buildOidcProvider } from './auth/oidc/provider.js';
16
+ import { OidcTokenVerifier } from './auth/oidc/verifier.js';
17
+ import { authSecurityHeaders } from './auth/headers.js';
18
+ import { createProtectedResourceRoutes } from './auth/protected-resource.js';
19
+ import { createRegistrationManagementRoutes } from './auth/registration.js';
15
20
  import { createUpstreamRoutes } from './upstream/routes.js';
16
21
  import { healthHandler } from './health.js';
17
22
  import { installFileLogging } from './logfile.js';
@@ -19,6 +24,7 @@ import { canonicalResourceUrl, resourceUrlForRoute } from './auth/resource.js';
19
24
  import { ClientRequestGate } from './limits.js';
20
25
  import { runStdio } from './stdio.js';
21
26
  import { isMainModule } from './main-module.js';
27
+ import { IDLE_TIMEOUT_MS } from './timings.js';
22
28
  /** How often the hub looks for registrations that have aged out. The windows
23
29
  * are a day and three months, so this only has to be far below those. */
24
30
  const CLIENT_PRUNE_INTERVAL_MS = 15 * 60_000;
@@ -60,8 +66,10 @@ export async function createHub(options) {
60
66
  const idleTimeoutMinutes = options.idleTimeoutMinutes ?? 60;
61
67
  if (!Number.isSafeInteger(idleTimeoutMinutes) || idleTimeoutMinutes < 0)
62
68
  throw new Error('idleTimeoutMinutes must be a non-negative integer');
69
+ // IDLE_TIMEOUT_MS is the sub-minute sibling of the documented knob; see timings.ts.
70
+ const idleTimeoutMs = IDLE_TIMEOUT_MS || idleTimeoutMinutes * 60_000;
63
71
  const cache = new ToolCache(options.toolCachePath ?? path.join(options.dataPath, 'tool-cache.json'));
64
- if (idleTimeoutMinutes > 0) {
72
+ if (idleTimeoutMs > 0) {
65
73
  cache.load();
66
74
  if (!cache.probeWritable()) {
67
75
  console.warn(`mcp-hub: tool cache ${cache.filePath} is not writable — on-demand servers warm-start at every boot instead of sleeping through it`);
@@ -85,12 +93,22 @@ export async function createHub(options) {
85
93
  }
86
94
  }
87
95
  const upstreamAuth = new UpstreamAuthRegistry(store, externalUrl);
88
- const supervisor = new Supervisor(config, { idleTimeoutMinutes, cache, upstreamAuth });
96
+ const supervisor = new Supervisor(config, { idleTimeoutMinutes, idleTimeoutMs, cache, upstreamAuth });
89
97
  // start() before reapOrphans(): reaping spares the container of any server
90
98
  // that is not asleep, so it must see the boot states. Deliberately not
91
99
  // awaited: an unreachable Docker endpoint must not hold up the HTTP listener
92
100
  // or the stdio children. Children come up (or hydrate into `sleeping`) in
93
101
  // the background; paths answer 503 until then.
102
+ // One long-lived route for the aggregate, because the handler inside owns the
103
+ // open subscription streams. /hub carries tools and nothing else, so the only
104
+ // change worth relaying is a child's tool list moving; the supervisor
105
+ // publishes those here.
106
+ const hubRoute = createRoute(era => buildHubServer(supervisor, store.cookieSecret, era).server, {
107
+ label: '/hub',
108
+ // Every child, because the aggregate's tool list spans all of them.
109
+ onDemandChange: () => supervisor.reconcileAll()
110
+ });
111
+ supervisor.hubSubscriptions = hubRoute.registry;
94
112
  supervisor.start();
95
113
  void supervisor
96
114
  .reapOrphans()
@@ -112,13 +130,6 @@ export async function createHub(options) {
112
130
  const cimd = mechanisms.includes('cimd')
113
131
  ? new CimdResolver({ allowedOrigins: options.cimdAllowedOrigins, allowPrivateAddresses: options.cimdAllowPrivateAddresses })
114
132
  : undefined;
115
- const provider = new HubOAuthProvider(store, externalUrl, {
116
- requireResource,
117
- resolveResource: resource => canonicalResourceUrl(resource, origin, watcher.current),
118
- defaultResource: options.defaultResource !== undefined ? resourceUrlForRoute(origin, options.defaultResource) : undefined,
119
- cimd,
120
- allowDynamicRegistration: mechanisms.includes('dcr')
121
- });
122
133
  const app = express();
123
134
  if (!options.trustedProxies?.length) {
124
135
  // Without this every request behind a proxy reports the proxy's address,
@@ -127,14 +138,65 @@ export async function createHub(options) {
127
138
  }
128
139
  app.set('trust proxy', options.trustedProxies ?? false);
129
140
  app.disable('x-powered-by');
141
+ /**
142
+ * A TRUSTED_PROXIES list that never matches is worse than an empty one,
143
+ * because the empty one is announced above and this is silent.
144
+ *
145
+ * The list is compared against the address the connection actually came from,
146
+ * and the easiest way to get that wrong is also the least visible: a proxy
147
+ * configured as `proxy_pass http://localhost:…` on a dual-stack host connects
148
+ * over `::1`, which `127.0.0.1` does not cover. Every forwarded header is
149
+ * then ignored, `req.ip` becomes the proxy for every request, per-caller rate
150
+ * limiting collapses into one global counter and every fail2ban line names
151
+ * the proxy — the exact failure the warning above exists for, with nothing
152
+ * said about it.
153
+ *
154
+ * Diagnosed rather than assumed: a forwarded header arrived and was not
155
+ * believed, which is the observable half of the mistake. Said once.
156
+ */
157
+ if (options.trustedProxies?.length) {
158
+ let warnedAboutProxy = false;
159
+ app.use((req, _res, next) => {
160
+ if (!warnedAboutProxy && req.headers['x-forwarded-for'] !== undefined && req.ip === req.socket.remoteAddress) {
161
+ warnedAboutProxy = true;
162
+ console.warn(`mcp-hub: a request from ${req.socket.remoteAddress} carried X-Forwarded-For but that address is not in TRUSTED_PROXIES ` +
163
+ `(${options.trustedProxies?.join(', ')}), so the header was ignored — check for the 127.0.0.1 vs ::1 mismatch. ` +
164
+ 'Until it matches, per-caller rate limiting and the fail2ban log lines see only the proxy.');
165
+ }
166
+ next();
167
+ });
168
+ }
130
169
  // A liveness check intentionally carries no topology. Detailed child state
131
170
  // lives behind OAuth at /health.
132
171
  app.get('/livez', (_req, res) => res.status(200).json({ status: 'ok' }));
133
- app.use(createAuthRoutes({ provider, store, externalUrl, passwordHash: options.passwordHash, password: options.password, cimd }));
172
+ // The resource server's own discovery document, independent of whichever
173
+ // authorization server is mounted below.
174
+ app.use(createProtectedResourceRoutes({ externalUrl }));
175
+ const oidc = buildOidcProvider(store, {
176
+ externalUrl,
177
+ requireResource,
178
+ resolveResource: resource => canonicalResourceUrl(resource, origin, watcher.current),
179
+ defaultResource: options.defaultResource !== undefined ? resourceUrlForRoute(origin, options.defaultResource) : undefined,
180
+ allowDynamicRegistration: mechanisms.includes('dcr'),
181
+ cimd
182
+ });
183
+ app.use(createOidcInteractionRoutes({
184
+ provider: oidc,
185
+ store,
186
+ externalUrl,
187
+ password: options.password,
188
+ passwordHash: options.passwordHash,
189
+ cimd
190
+ }));
191
+ // Ahead of the mount, so the hub's stricter RFC 7592 handlers win the
192
+ // /register/:id route over oidc-provider's.
193
+ if (mechanisms.includes('dcr'))
194
+ app.use(createRegistrationManagementRoutes({ store, externalUrl }));
195
+ mountOidcProvider(app, oidc, store, { externalUrl, common: [authSecurityHeaders] });
134
196
  // The upstream callback and the hub's own client metadata document. Mounted
135
197
  // after the auth routes so it inherits nothing from them but sits ahead of
136
198
  // the /:name catch-all.
137
- app.use(createUpstreamRoutes({ store, provider, registry: upstreamAuth, supervisor, watcher, externalUrl }));
199
+ app.use(createUpstreamRoutes({ store, registry: upstreamAuth, supervisor, watcher, externalUrl }));
138
200
  // Registrations age out on a clock, not on traffic, so this cannot wait for
139
201
  // the next write to state.json — an idle hub would never clean up at all.
140
202
  // The first pass runs at boot, which is also what gives clients from a state
@@ -153,11 +215,27 @@ export async function createHub(options) {
153
215
  sweepClients();
154
216
  const pruneTimer = setInterval(sweepClients, CLIENT_PRUNE_INTERVAL_MS);
155
217
  pruneTimer.unref(); // never a reason to keep the process alive
156
- const stopMaintenance = () => clearInterval(pruneTimer);
218
+ const stopMaintenance = () => {
219
+ clearInterval(pruneTimer);
220
+ // The aggregate's handler holds whatever listen streams are open on /hub;
221
+ // nothing else closes it, because it is not owned by a ManagedServer.
222
+ void hubRoute.close().catch(() => { });
223
+ };
157
224
  // Bearer auth for the MCP endpoints, advertising the path-scoped RFC 9728
158
225
  // metadata document in WWW-Authenticate so clients discover the AS.
226
+ const verifier = new OidcTokenVerifier(store, {
227
+ externalUrl,
228
+ requireResource,
229
+ resolveResource: resource => canonicalResourceUrl(resource, origin, watcher.current)
230
+ });
231
+ // From @modelcontextprotocol/express, not the frozen server-legacy copy the
232
+ // codemod reaches for by default. That copy exists for projects still running
233
+ // the SDK's own authorization server; the hub replaced its own with
234
+ // oidc-provider first, precisely so this dependency never had to be taken on.
235
+ // The one thing the maintained middleware needs in return is that the
236
+ // verifier throws v2's OAuthError -- see OidcTokenVerifier.
159
237
  const bearer = (req, res, next) => requireBearerAuth({
160
- verifier: provider,
238
+ verifier,
161
239
  resourceMetadataUrl: `${origin}/.well-known/oauth-protected-resource${req.path === '/' ? '' : req.path}`
162
240
  })(req, res, next);
163
241
  // A bound token may only reach the resource it was issued for. An unbound one
@@ -187,7 +265,7 @@ export async function createHub(options) {
187
265
  const parseMcpJson = express.json({ limit: options.mcpBodyLimit ?? '1mb' });
188
266
  const dispatch = (name) => async (req, res, next) => {
189
267
  if (name === 'hub') {
190
- await handleMcpRequest(() => buildHubServer(supervisor).server, req, res);
268
+ await handleMcpRequest(hubRoute, req, res);
191
269
  return;
192
270
  }
193
271
  const managed = supervisor.get(name);
@@ -195,10 +273,14 @@ export async function createHub(options) {
195
273
  next(); // fall through to 404
196
274
  return;
197
275
  }
198
- await serverRequestHandler(managed)(req, res);
276
+ await serverRequestHandler(managed, store.cookieSecret)(req, res);
199
277
  };
200
278
  for (const route of ['/:name', '/:name/mcp']) {
201
- app.all(route, bearer, gate.middleware, requireRouteResource, parseMcpJson, (req, res, next) => void dispatch(String(req.params.name))(req, res, next).catch(next));
279
+ // parseMcpJson ahead of the gate, which is a change of order: the gate has
280
+ // to tell a `subscriptions/listen` POST from an ordinary one, and that only
281
+ // shows in the parsed body. Authorization still runs first, so the parse is
282
+ // bounded by mcpBodyLimit and only ever done for a caller allowed to be here.
283
+ app.all(route, bearer, requireRouteResource, parseMcpJson, gate.middleware, (req, res, next) => void dispatch(String(req.params.name))(req, res, next).catch(next));
202
284
  }
203
285
  // Express only recognises a four-argument middleware as an error handler.
204
286
  // Without it a throw out of the proxy path would escape as an unhandled
@@ -215,7 +297,7 @@ export async function createHub(options) {
215
297
  }
216
298
  res.status(500).json({ jsonrpc: '2.0', error: { code: -32603, message: 'Internal error' }, id: null });
217
299
  });
218
- return { app, supervisor, watcher, provider, store, upstreamAuth, stopMaintenance };
300
+ return { app, supervisor, watcher, verifier, store, upstreamAuth, stopMaintenance };
219
301
  }
220
302
  function requireEnv(name) {
221
303
  const value = process.env[name];
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/limits.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { isListenRequest } from './subscriptions.js';
1
2
  /**
2
3
  * Bounds authenticated MCP traffic by OAuth client. This protects child
3
4
  * servers from one connector monopolising every proxy slot while avoiding an
@@ -25,8 +26,19 @@ export class ClientRequestGate {
25
26
  /**
26
27
  * For MCP routes, where a GET is the standing SSE listening channel by
27
28
  * definition — the spec has no other use for it.
29
+ *
30
+ * On 2026-07-28 there is no such GET: `subscriptions/listen` is a POST whose
31
+ * response stays open for the life of the subscription. Counted as a request
32
+ * it would hold an in-flight slot the whole time, and the default budget is
33
+ * four — so a handful of subscribed clients would lock every tool call on the
34
+ * hub out with a 429 while nothing was actually running. It is the same
35
+ * channel by another name, and it belongs in the same budget.
36
+ *
37
+ * This is why the gate runs after the JSON body parser: the method is in the
38
+ * body, and there is no way to tell the two shapes of POST apart before it
39
+ * has been read.
28
40
  */
29
- middleware = this.gate(req => req.method === 'GET');
41
+ middleware = this.gate(req => req.method === 'GET' || isListenRequest(req.body));
30
42
  /** For routes that only ever answer one request, such as `/health`. */
31
43
  requestMiddleware = this.gate(() => false);
32
44
  gate(isListeningStream) {
@@ -1 +1 @@
1
- {"version":3,"file":"limits.js","sourceRoot":"","sources":["../src/limits.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"limits.js","sourceRoot":"","sources":["../src/limits.ts"],"names":[],"mappings":"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"}
@@ -34,7 +34,7 @@ export const ABSOLUTE_CALL_OPTIONS = {
34
34
  * path and by the tests, and index.ts is the only place allowed to end the
35
35
  * process over a bad environment.
36
36
  */
37
- function positiveIntegerEnv(name, fallback) {
37
+ export function positiveIntegerEnv(name, fallback) {
38
38
  const raw = process.env[name];
39
39
  if (raw === undefined || raw === '')
40
40
  return fallback;
@@ -45,7 +45,19 @@ function positiveIntegerEnv(name, fallback) {
45
45
  }
46
46
  return value;
47
47
  }
48
- function booleanEnv(name, fallback) {
48
+ /** Same contract as `positiveIntegerEnv`, for the knobs where `0` means "off". */
49
+ export function nonNegativeIntegerEnv(name, fallback) {
50
+ const raw = process.env[name];
51
+ if (raw === undefined || raw === '')
52
+ return fallback;
53
+ const value = Number(raw);
54
+ if (!Number.isSafeInteger(value) || value < 0) {
55
+ console.error(`mcp-hub: ${name} must be a non-negative integer, using ${fallback}`);
56
+ return fallback;
57
+ }
58
+ return value;
59
+ }
60
+ export function booleanEnv(name, fallback) {
49
61
  const raw = process.env[name]?.trim().toLowerCase();
50
62
  if (raw === undefined || raw === '')
51
63
  return fallback;
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-limits.js","sourceRoot":"","sources":["../src/mcp-limits.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AACvC,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC;AAChC,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AACxD,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAC1D,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,GAAG,MAAM,CAAC;AAElD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,kBAAkB,CAAC,qBAAqB,EAAE,uBAAuB,CAAC,CAAC;AAC3G,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,OAAO,EAAE,wBAAwB;IACjC,sBAAsB,EAAE,UAAU,CAAC,+BAA+B,EAAE,KAAK,CAAC;CAClE,CAAC;AAEX;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,IAAY,EAAE,QAAgB;IACxD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,QAAQ,CAAC;IACrD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC9C,OAAO,CAAC,KAAK,CAAC,YAAY,IAAI,sCAAsC,QAAQ,EAAE,CAAC,CAAC;QAChF,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,UAAU,CAAC,IAAY,EAAE,QAAiB;IACjD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACpD,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,QAAQ,CAAC;IACrD,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IAC/C,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC;IACjD,OAAO,CAAC,KAAK,CAAC,YAAY,IAAI,iCAAiC,QAAQ,EAAE,CAAC,CAAC;IAC3E,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAI,MAAS;IACpD,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9B,IAAI,IAAI,GAAG,0BAA0B,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,0BAA0B,0BAA0B,wBAAwB,CAAC,CAAC;IAChG,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"mcp-limits.js","sourceRoot":"","sources":["../src/mcp-limits.ts"],"names":[],"mappings":"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"}