Releases: btwld/nest-mcp
Release list
@nest-mcp/server@0.5.0
Minor Changes
-
632d8f0: Add tool exposure / discovery-strategy configuration. Large tool catalogs can now avoid bloating the initial prompt by deferring schemas until they are needed.
Configure via
McpModuleOptions.exposurewith a static strategy or a per-client resolver:{ kind: 'eager' }— current behaviour, full schemas intools/list.{ kind: 'search', variant: 'bm25' | 'regex', eager?, onAllDeferred? }— annotates deferred tools with_meta.defer_loading: truefor Anthropic's Tool Search Tool beta.{ kind: 'lazy', eager?, indexToolName?, schemaToolName?, maxBatchSize?, requireDiscovery? }— vendor-neutral: shipslist_available_toolsandget_tool_schemameta-tools so clients pull definitions on demand.{ kind: 'typed-api' }— reserved for Code Mode; throws at runtime in this release.
Also ships:
clientSupports.search(ctx)capability helper (checks theadvanced-tool-use-2025-11-20beta header — no model regex required in user code).preferSearchElseLazy({ eager })preset resolver for the common per-client tiering case.defineResolver([...kinds], fn)to declare which strategy kinds a custom resolver can produce.ExposureServiceuses this declaration to skip conservative meta-tool registration whenlazyis not reachable.buildClientContext({ transport, request, clientInfo, model })helper that parsesanthropic-betaheaders intoClientContext.@Tool({ ..., tags, exposure })decorator fields.tagsfeeds selectors likeeager: { tags: ['core'] };exposure: 'eager' | 'deferred' | 'auto'overrides module policy per tool.
All new fields are optional; existing servers continue to behave as before. No protocol extensions — both the
searchannotations and thelazymeta-tools work over plain MCP JSON-RPC.
Patch Changes
- Updated dependencies [632d8f0]
- @nest-mcp/common@0.3.0
@nest-mcp/gateway@0.2.8
Patch Changes
- Updated dependencies [632d8f0]
- @nest-mcp/common@0.3.0
- @nest-mcp/server@0.5.0
- @nest-mcp/client@0.2.7
@nest-mcp/gateway@0.2.7
Patch Changes
- Updated dependencies [e4e8017]
- @nest-mcp/client@0.2.6
@nest-mcp/common@0.3.0
Minor Changes
-
632d8f0: Add tool exposure / discovery-strategy configuration. Large tool catalogs can now avoid bloating the initial prompt by deferring schemas until they are needed.
Configure via
McpModuleOptions.exposurewith a static strategy or a per-client resolver:{ kind: 'eager' }— current behaviour, full schemas intools/list.{ kind: 'search', variant: 'bm25' | 'regex', eager?, onAllDeferred? }— annotates deferred tools with_meta.defer_loading: truefor Anthropic's Tool Search Tool beta.{ kind: 'lazy', eager?, indexToolName?, schemaToolName?, maxBatchSize?, requireDiscovery? }— vendor-neutral: shipslist_available_toolsandget_tool_schemameta-tools so clients pull definitions on demand.{ kind: 'typed-api' }— reserved for Code Mode; throws at runtime in this release.
Also ships:
clientSupports.search(ctx)capability helper (checks theadvanced-tool-use-2025-11-20beta header — no model regex required in user code).preferSearchElseLazy({ eager })preset resolver for the common per-client tiering case.defineResolver([...kinds], fn)to declare which strategy kinds a custom resolver can produce.ExposureServiceuses this declaration to skip conservative meta-tool registration whenlazyis not reachable.buildClientContext({ transport, request, clientInfo, model })helper that parsesanthropic-betaheaders intoClientContext.@Tool({ ..., tags, exposure })decorator fields.tagsfeeds selectors likeeager: { tags: ['core'] };exposure: 'eager' | 'deferred' | 'auto'overrides module policy per tool.
All new fields are optional; existing servers continue to behave as before. No protocol extensions — both the
searchannotations and thelazymeta-tools work over plain MCP JSON-RPC.
@nest-mcp/client@0.2.7
Patch Changes
- Updated dependencies [632d8f0]
- @nest-mcp/common@0.3.0
@nest-mcp/client@0.2.6
Patch Changes
- e4e8017: Fix
McpClientBootstrap.wireNotificationHandlerscrashing withTypeErrorwhen a sibling provider's prototype exposes non-function own properties (e.g.useValue: {}providers, whose prototypeObject.prototype.__proto__resolves tonull). The notification scan now skips prototype entries whose value is not a function before callingReflect.getMetadata. Fixes #18.
@nest-mcp/server@0.4.0
Minor Changes
- 043aa34: Add
importsoption toMcpModule.forFeature()allowing feature modules to import other modules that export providers needed by the feature's tools.
@nest-mcp/gateway@0.2.6
Patch Changes
- Updated dependencies [043aa34]
- @nest-mcp/server@0.4.0
@nest-mcp/server@0.3.0
Minor Changes
-
5a6ef8e: feat: add advanced transport options and fix logging configuration
Transport options —
StreamableHttpTransportOptionsnow supportssessionIdGenerator,enableJsonResponse,eventStore,onsessioninitialized,onsessionclosed, andretryInterval, passed through to the MCP SDK'sStreamableHTTPServerTransport.Logging —
McpModuleOptions.loggingtype changed from{ level?: string }tofalse | LogLevel[]. The old type was declared but never consumed.bootstrapStdioApp()now readsloggingfromMcpModule.forRoot()as a fallback whenStdioBootstrapOptions.logLevelsis not explicitly provided.SDK re-exports —
EventStore,StreamId, andEventIdtypes are now re-exported from@nest-mcp/server.BREAKING:
loggingtype change is compile-time only (the old field was never consumed at runtime). Migration:{ level: 'error' }→['error'].
Patch Changes
- Updated dependencies [5a6ef8e]
- @nest-mcp/common@0.2.0
@nest-mcp/gateway@0.2.5
Patch Changes
- Updated dependencies [5a6ef8e]
- @nest-mcp/common@0.2.0
- @nest-mcp/server@0.3.0
- @nest-mcp/client@0.2.5