StackA2A
utilitycsharp

A2AProtocol.NET

17

by senbihan

A .NET library that enables ASP.NET Application to host Agent2Agent Server following Google's A2A protocol

Updated 2025-05-25MIT
Quality Score17/100
Community
0
Freshness
15
Official
30
Skills
10
Protocol
30
🔒 Security
20

Getting Started

1Clone the repository
$ git clone https://github.com/senbihan/A2AProtocol.NET
2Navigate to the project
$ cd A2AProtocol.NET
3Install dependencies
$ dotnet restore
4Run the agent
$ dotnet run

README

Agent2Agent (A2A) Protocol.NET

License: MIT

This is a .NET implmentation of Google's Agent-to-Agent (A2A) Protocol.


From Google's A2A Repo

An open protocol enabling communication and interoperability between opaque agentic applications.

The Agent2Agent (A2A) protocol addresses a critical challenge in the AI landscape: enabling gen AI agents, built on diverse frameworks by different companies running on separate servers, to communicate and collaborate effectively - as agents, not just as tools. A2A aims to provide a common language for agents, fostering a more interconnected, powerful, and innovative AI ecosystem.

With A2A, agents can:

  • Discover each other's capabilities.
  • Negotiate interaction modalities (text, forms, media).
  • Securely collaborate on long running tasks.
  • Operate without exposing their internal state, memory, or tools.

The motivation of this project is to

  • Enable an ASP.NET Core Application to create an A2A server just by using this SDK.
  • Add more capabilities - multi agent hosting, enterprise grade features like observability etc.

Getting Started

For any ASP.NET Core Service, refer the the A2AProtocol.Server library (Nuget - TBD)

Add a configuration in your appsetting.json

"A2AConfiguration": {
    "AgentCardPath": "resource/AgentCard.json"
}
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddA2AServerModules();
builder.Services.AddSingleton<IA2AServer, A2AServer>();
var app = builder.Build();
app.HostServer(path: "your/own/path");
app.Run();

There is an A2AProtocol ASP.NET Core Application present in this repo (Don't take a dependency, as it may be removed in future, and moved to a sample directory)

Relevant Sources

Capabilities

StreamingPush NotificationsMulti-TurnAuth: none
agentic-aiagentsaiasp-net-corecsharpdotnetgoogle-a2amcp
View on GitHub