Releases: btwld/nest-mcp
Release list
@nest-mcp/server@0.8.1
Patch Changes
- f0657f8: Add compatibility with the exact tested NestJS
12.0.0-alpha.5release while retaining NestJS 10
and 11 support. CI now runs the full workspace against NestJS 12 on Node.js 24 and verifies packed
CommonJS packages from a TypeScript 6 native ESM consumer, including registered client shutdown,
async imported-verifier dependency injection, and gateway initialization. - Updated dependencies [f0657f8]
- @nest-mcp/common@0.6.1
@nest-mcp/gateway@0.2.15
Patch Changes
- f0657f8: Add compatibility with the exact tested NestJS
12.0.0-alpha.5release while retaining NestJS 10
and 11 support. CI now runs the full workspace against NestJS 12 on Node.js 24 and verifies packed
CommonJS packages from a TypeScript 6 native ESM consumer, including registered client shutdown,
async imported-verifier dependency injection, and gateway initialization. - Updated dependencies [f0657f8]
- @nest-mcp/common@0.6.1
- @nest-mcp/client@0.3.2
- @nest-mcp/server@0.8.1
@nest-mcp/common@0.6.1
Patch Changes
- f0657f8: Add compatibility with the exact tested NestJS
12.0.0-alpha.5release while retaining NestJS 10
and 11 support. CI now runs the full workspace against NestJS 12 on Node.js 24 and verifies packed
CommonJS packages from a TypeScript 6 native ESM consumer, including registered client shutdown,
async imported-verifier dependency injection, and gateway initialization.
@nest-mcp/client@0.3.2
Patch Changes
- f0657f8: Add compatibility with the exact tested NestJS
12.0.0-alpha.5release while retaining NestJS 10
and 11 support. CI now runs the full workspace against NestJS 12 on Node.js 24 and verifies packed
CommonJS packages from a TypeScript 6 native ESM consumer, including registered client shutdown,
async imported-verifier dependency injection, and gateway initialization. - Updated dependencies [f0657f8]
- @nest-mcp/common@0.6.1
@nest-mcp/server@0.8.0
Minor Changes
-
41c7474: Harden HTTP transports and auth discovery for apps with global middleware:
- Parsed-body passthrough: the streamable HTTP and SSE transports now hand
an upstream-parsedreq.body(e.g. from a globalexpress.json()or
Fastify's built-in parser) to the SDK asparsedBody. Previously the SDK
tried to re-read the already-consumed stream and the request hung. Raw-stream
handling is unchanged when no parser ran. @IsMcpPublic()marker +isMcpPublic()helper: every generated HTTP
controller (transport endpoint,.well-knowndiscovery) is stamped with
MCP_HTTP_PUBLIC_METADATA— discovery documents are public per RFC 9728, and
MCP transports authenticate via the MCP authorization spec, never via an app
session. Apps with a global auth guard exempt these routes with one check:
if (isMcpPublic(context)) return true. Distinct from the per-tool
@Public()pipeline bypass.controllerDecoratorsonMcpAuthModule: extra class decorators for the
generated.well-knowncontroller (bothforRootandforRootAsync),
mirroring the transport controller option. Decorator application now uses
standardReflect.decoratesemantics in both factories.- Fastify at the SDK boundary: the streamable HTTP and SSE transports now
unwraprequest.raw/reply.rawbefore handing requests to the MCP SDK (and
mirror the guard-verifiedreq.authonto the raw request). Previously the
Fastify wrappers were passed straight through and the transports were broken
under@nestjs/platform-fastify— now covered by a real-HTTP e2e that runs
the streamable transport on BOTH adapters. Generated controllers also thread
the framework-parsed@Body()to the SDK explicitly. instructionsserver option: dedicated LLM usage guidance surfaced in
theinitializeresult, distinct fromdescription(which remains the
fallback for back-compat).- README quick-start fixed to use the real
transportoption (was showing a
nonexistenttransports: [{ type }]shape).
- Parsed-body passthrough: the streamable HTTP and SSE transports now hand
Patch Changes
- Updated dependencies [41c7474]
- @nest-mcp/common@0.6.0
@nest-mcp/gateway@0.2.14
Patch Changes
- Updated dependencies [41c7474]
- @nest-mcp/server@0.8.0
- @nest-mcp/common@0.6.0
- @nest-mcp/client@0.3.1
@nest-mcp/common@0.6.0
Minor Changes
-
41c7474: Harden HTTP transports and auth discovery for apps with global middleware:
- Parsed-body passthrough: the streamable HTTP and SSE transports now hand
an upstream-parsedreq.body(e.g. from a globalexpress.json()or
Fastify's built-in parser) to the SDK asparsedBody. Previously the SDK
tried to re-read the already-consumed stream and the request hung. Raw-stream
handling is unchanged when no parser ran. @IsMcpPublic()marker +isMcpPublic()helper: every generated HTTP
controller (transport endpoint,.well-knowndiscovery) is stamped with
MCP_HTTP_PUBLIC_METADATA— discovery documents are public per RFC 9728, and
MCP transports authenticate via the MCP authorization spec, never via an app
session. Apps with a global auth guard exempt these routes with one check:
if (isMcpPublic(context)) return true. Distinct from the per-tool
@Public()pipeline bypass.controllerDecoratorsonMcpAuthModule: extra class decorators for the
generated.well-knowncontroller (bothforRootandforRootAsync),
mirroring the transport controller option. Decorator application now uses
standardReflect.decoratesemantics in both factories.- Fastify at the SDK boundary: the streamable HTTP and SSE transports now
unwraprequest.raw/reply.rawbefore handing requests to the MCP SDK (and
mirror the guard-verifiedreq.authonto the raw request). Previously the
Fastify wrappers were passed straight through and the transports were broken
under@nestjs/platform-fastify— now covered by a real-HTTP e2e that runs
the streamable transport on BOTH adapters. Generated controllers also thread
the framework-parsed@Body()to the SDK explicitly. instructionsserver option: dedicated LLM usage guidance surfaced in
theinitializeresult, distinct fromdescription(which remains the
fallback for back-compat).- README quick-start fixed to use the real
transportoption (was showing a
nonexistenttransports: [{ type }]shape).
- Parsed-body passthrough: the streamable HTTP and SSE transports now hand
@nest-mcp/client@0.3.1
Patch Changes
- Updated dependencies [41c7474]
- @nest-mcp/common@0.6.0
@nest-mcp/gateway@0.2.13
Patch Changes
- Updated dependencies [1275606]
- @nest-mcp/client@0.3.0
@nest-mcp/client@0.3.0
Minor Changes
-
1275606: Add runtime connection registry to
McpClientsService:addConnection(connection),
getOrCreate(connection),removeConnection(name), andhas(name). This lets apps register and
tear down MCP client connections at runtime — for multi-tenant gateways where upstreams are
discovered after module init — instead of fixing all connections atforRoot/forRootAsynctime.addConnection/getOrCreateare idempotent (a connected client with the same name is reused, a
stale one is replaced, and concurrent first-connects dedupe to a single client); a client whose
connect()rejects is not registered. Runtime clients join the same collection as the static ones,
so they are returned bygetClient/getClientsand disconnected on application shutdown. Purely
additive — existinggetClient/getClientsbehavior is unchanged.