Skip to content

Known limitations

NSmithy is a preview implementation. Protocol status is the authoritative coverage matrix; passing protocol tests does not establish compatibility with every service or model.

AWS JSON, AWS Query, EC2 Query, and REST XML generate clients only. gRPC is experimental and requires protobuf field indices in the model.

Streaming support depends on the protocol and shape. restJson1 includes streaming blobs and event streams; RPC v2 CBOR, RPC v2 JSON, and gRPC include event streams. Consult the individual protocol pages for supported directions, payloads, and restrictions.

ASP.NET Core hosts the supported wire protocols. The separate MCP adapter exposes modeled tools and prompts; it does not infer MCP resources from Smithy resources.

The server does not validate individual stream events or enforce @length on unread streaming blobs. Traits outside the implemented constraint set, such as @idRef, are not enforced. See Validation.

Codecs use generated schema accessors without runtime reflection. CI publishes and runs a NativeAOT smoke test for REST JSON with label, header, query, and body bindings. This does not cover every codec and protocol combination.

Common Smithy and alloy dependencies are bundled. Additional Maven artifacts need a repository listed in smithy-build.json; see Maven dependencies.

NuGet contract packages require explicit model and build-file imports. A package reference alone does not trigger generation. See Distributing contracts for the supported setup.