Agntcy.SlimA2A 0.2.0

dotnet add package Agntcy.SlimA2A --version 0.2.0
                    
NuGet\Install-Package Agntcy.SlimA2A -Version 0.2.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Agntcy.SlimA2A" Version="0.2.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Agntcy.SlimA2A" Version="0.2.0" />
                    
Directory.Packages.props
<PackageReference Include="Agntcy.SlimA2A" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Agntcy.SlimA2A --version 0.2.0
                    
#r "nuget: Agntcy.SlimA2A, 0.2.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Agntcy.SlimA2A@0.2.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Agntcy.SlimA2A&version=0.2.0
                    
Install as a Cake Addin
#tool nuget:?package=Agntcy.SlimA2A&version=0.2.0
                    
Install as a Cake Tool

slim-a2a-dotnet

.NET library that maps the A2A gRPC contract to a2a-dotnet (IA2AClient / IA2ARequestHandler) over SLIMRPC, similar to slim-a2a-go / slim-a2a-python.

Dependencies

Agntcy.Slim / Agntcy.Slim.SlimRpc are consumed from NuGet (Agntcy.Slim.SlimRpc), pinned to 2.0.0. In 2.0 the SLIMRPC FFI types (Channel, Server, Context, RpcException, …) moved out of uniffi.slim_bindings into their own uniffi.slim_rpc namespace, so the generated stubs and the SLIMRPC plugin must be on 2.x together.

A2A is consumed from NuGet (A2A preview) so the solution builds with the stock .NET 8 SDK. You can instead use a ProjectReference to a local a2a-dotnet clone if you need unreleased API changes.

Codegen

  1. Install the SlimRPC protoc plugin so protoc-gen-slimrpc-csharp is on your PATH (published as agntcy-protoc-slimrpc-plugin on crates.io):

    cargo install agntcy-protoc-slimrpc-plugin --version 2.0.0
    
  2. From src/SlimA2A.Protos:

    buf generate
    

The A2A proto git ref is pinned in buf.gen.yaml; re-verify when bumping a2a-dotnet / spec versions. When you upgrade the plugin, align the cargo install version (and CI) with the release you want.

Build & test

dotnet build SlimA2A.sln
dotnet test SlimA2A.sln

Echo sample

examples/EchoAgent hosts an A2AServer + InMemoryTaskStore + ChannelEventNotifier behind SlimA2AHandler (same stack idea as the HTTP JSON-RPC samples, but transport is SLIMRPC).

Requires a running SLIM server and compatible shared secret (see slim .NET examples). Demo default secret matches slim samples; override with SLIM_SHARED_SECRET (min 32 characters). SLIM_SERVER defaults to http://localhost:46357.

# terminal 1 — SLIM server (use your usual slim server setup)
# terminal 2
dotnet run --project examples/EchoAgent/EchoAgent.csproj -- server
# terminal 3
dotnet run --project examples/EchoAgent/EchoAgent.csproj -- client

Optional env: SLIM_A2A_SERVER_NAME, SLIM_A2A_CLIENT_NAME (SLIM identities, defaults agntcy/a2a/echo and agntcy/a2a/client).

CLI overrides env for endpoint and secret: --server, --shared-secret (server and client must use the same secret as the SLIM server).

Security note

The sample insecure client config and demo shared secret are for local development only, not for production.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.2.0 88 8/7/2026
0.1.0-preview.1 1,343 6/26/2026