A collection of public, NativeAOT-ready building blocks for modern .NET β secure transport, messaging, IoT connectivity, scalability protocols, consensus, replication, and file access β plus a couple of Model Context Protocol (MCP) servers.
Model Context Protocol servers. These ship as container images and/or .NET tools rather than reusable nuget.org libraries.
π opcuakb-mcp
An OPC UA Knowledge Base MCP server that crawls and indexes the OPC UA specification for retrieval-augmented tooling.
- Distributed as a GHCR container image:
docker pull ghcr.io/marcschier/opcua-mcp-server - Also published as the
OpcUaKb.McpServer.NET tool to GitHub Packages.
πΈοΈ netcap-mcp
An MCP server that captures network traces (pcap/http) and returns them as pcap, pcapng, JSON, CSV, or text.
- The MCP server (
Netcap.Mcp) is published as a .NET tool to GitHub Packages, with a container image built from the in-repoDockerfile.
π¨ mqtt-client
High-performance, low-allocation MQTT 3.1.1 + 5.0 client for .NET. Channels-style API, NativeAOT-ready.
| Package | Version | Downloads |
|---|---|---|
Mqtt.Client |
||
Mqtt.Client.Testing |
𧬠crdt
High-performance, NativeAOT-ready Conflict-free Replicated Data Types (CRDTs) for modern .NET β the aggregating stack that ties the transports and consensus together.
| Package | Version | Downloads |
|---|---|---|
Crdt |
||
Crdt.Consensus |
||
Crdt.Consensus.Raft |
||
Crdt.Gc |
||
Crdt.Transport |
||
Crdt.Transport.Dtls |
||
Crdt.Transport.Mqtt |
||
Crdt.Transport.NanoMsg |
||
Crdt.Transport.Pgm |
π nanomsg-sharp
A pure, modern .NET implementation of the nanomsg and NNG Scalability Protocols (SP) β wire-compatible with both, with a zero-copy System.IO.Pipelines data path.
| Package | Version | Downloads |
|---|---|---|
NanoMsgSharp |
||
NanoMsgSharp.Dtls |
π³οΈ raft-cs
Pure-managed, NativeAOT-ready Raft consensus for .NET (modeled on tikv/raft-rs) with replaceable storage and transport.
| Package | Version | Downloads |
|---|---|---|
RaftCs |
||
RaftCs.Transport |
||
RaftCs.Transport.NanoMsg |
||
RaftCs.Storage.File |
ποΈ nfs
A modern, NativeAOT-ready .NET 10 NFS client & server library (ONC/RPC + XDR) supporting NFS v2 / v3 / v4.0 / 4.1 / 4.2 β built for protocol compliance and interop.
| Package | Version | Downloads |
|---|---|---|
Nfs |
βΉοΈ
Nfsis a consolidated umbrella package; the granularNfs.*assemblies are published to GitHub Packages.
π‘ pgm
Pure-managed, NativeAOT-ready PGM (RFC 3208) reliable multicast over UDP for modern .NET.
| Package | Version | Downloads |
|---|---|---|
Pgm |
π dtls
Cross-platform DTLS 1.0 / 1.2 / 1.3 for .NET using the host OS cryptography β a managed, AOT-friendly 1.3 engine plus native OpenSSL / Schannel / Apple backends.
| Package | Version | Downloads |
|---|---|---|
DtlsSharp |
π°οΈ iothubby
High-performance, NativeAOT-ready Azure IoT Hub & IoT Edge device/module SDK over MQTT (built on Mqtt.Client) β telemetry, cloud-to-device, direct methods, device/module twins, edge module routing, and DPS provisioning.
| Package | Version | Downloads |
|---|---|---|
IoTHubby |
||
IoTHubby.Edge |
βοΈ opc-classic
A cross-platform, NativeAOT-ready .NET 10 OPC Classic stack β DA, AE, HDA, Batch, Commands, Complex Data, DX, Security, Discovery, and XML-DA β over a fully managed DCOM/MSRPC transport with self-contained NTLMv2 / Kerberos / SPNEGO authentication. No Windows COM required at runtime.
| Package | Version | Downloads |
|---|---|---|
Opc.Classic |
||
Opc.Classic.Windows |
||
Opc.Classic.Generators |
||
Opc.Classic.MigrationAnalyzer |
||
Opc.Classic.Mcp |
βΉοΈ
Opc.Classicis a self-contained SDK meta-package (client + managed server);Opc.Classic.Windowsadds Windows DCOM server hosting;Opc.Classic.Generators/Opc.Classic.MigrationAnalyzerare Roslyn source-generator / migration analyzer packages;Opc.Classic.Mcpis an MCP server tool. The granular per-specOpc.Classic.*assemblies ship to GitHub Packages.
All cross-repository links are via published NuGet packages (no source coupling), each repo produces a core nuget without any dependencies to other nugets produced from other repositories. Extension libraries pull in nugets from other repositories to extend the functionality of the core nuget:
| Project | Extensions depend on | Via package(s) |
|---|---|---|
| 𧬠crdt | raft-cs, nanomsg-sharp, dtls, pgm, mqtt-client | RaftCs, RaftCs.Transport, NanoMsgSharp, DtlsSharp, Pgm, Mqtt.Client |
| π³οΈ raft-cs | nanomsg-sharp | NanoMsgSharp (RaftCs.Transport.NanoMsg) |
| π nanomsg-sharp | dtls | DtlsSharp (NanoMsgSharp.Dtls) |
| π°οΈ iothubby | mqtt-client | Mqtt.Client |
| π¨ mqtt-client Β· π‘ pgm Β· π dtls Β· ποΈ nfs Β· βοΈ opc-classic | β | standalone |
| π opcuakb-mcp Β· πΈοΈ netcap-mcp | β | standalone |
The libraries are layered: lower-level transports and consensus are independent packages that the higher-level CRDT stack composes. An arrow A β B means A depends on B (consumes B's NuGet package).
graph TD
crdt["𧬠crdt"] -->|RaftCs| raftcs["π³οΈ raft-cs"]
crdt -->|NanoMsgSharp| nanomsg["π nanomsg-sharp"]
crdt -->|DtlsSharp| dtls["π dtls"]
crdt -->|Pgm| pgm["π‘ pgm"]
crdt -->|Mqtt.Client| mqtt["π¨ mqtt-client"]
raftcs -->|NanoMsgSharp| nanomsg
nanomsg -->|DtlsSharp| dtls
iothubby["π°οΈ iothubby"] -->|Mqtt.Client| mqtt
nfs["ποΈ nfs"]
opcclassic["βοΈ opc-classic"]
opcuakb["π opcuakb-mcp"]
netcap["πΈοΈ netcap-mcp"]
classDef standalone fill:#f6f8fa,stroke:#999,stroke-dasharray:4 3,color:#333;
class nfs,opcclassic,opcuakb,netcap standalone;
Dashed nodes (
nfs,opc-classic,opcuakb-mcp,netcap-mcp) are standalone β they have no dependencies on the other projects here.




