danielmiessler / danielmiessler/Fabric

[Feature request]: A2A (Agent2Agent Protocol) integration support for providing more tools and context to agents?

Open
#1,438 4 comments 1 reaction 0 assignees View on GitHub
enhancement
Dominant language
Go
Stars
43.9k
Forks
4.3k
Avg merge
1d 4h
Merged PRs (30d)
8

Description

### What do you need?

Could we achieve more via Fabric if could manage to somehow integrate A2A (Agent2Agent Protocol) and Fabric?

A2A (Agent2Agent Protocol) is a new open protocol enabling communication and interoperability between agentic AI applications (that is complementary to the MCP protocol (which someone posted a seperate feature request for here -> https://github.com/danielmiessler/fabric/issues/1387 )

Any thoughts if can integrate support **"A2A" (Agent2Agent) open protocol**? Development of it is lead by Google:

- https://developers.googleblog.com/en/a2a-a-new-era-of-agent-interoperability/

- https://google.github.io/A2A/#/

- https://github.com/google/A2A

*A2A is an open protocol that complements Anthropic's Model Context Protocol (MCP), which provides helpful tools and context to agents. A2A protocol is designed to address the challenges identified in deploying large-scale, multi-agent systems. A2A empowers developers to build agents capable of connecting with any other agent built using the protocol and offers users the flexibility to combine agents from various providers. Critically, businesses benefit from a standardized method for managing their agents across diverse platforms and cloud environments. We believe this universal interoperability is essential for fully realizing the potential of collaborative AI agents.*

https://youtube.com/watch?v=rAeqTaYj_aI

- https://www.koyeb.com/blog/a2a-and-mcp-start-of-the-ai-agent-protocol-wars#what-is-googles-a2a

*While introducing A2A, Google claims building AI agentic system demands two layers:*

* ***Tools and data integration**: Standard ways for agents/LLMs access external sources and tools*
* ***Agent-to-agent communication**: A standard way for determines how agents interact with one another*

*MCP focuses on the first category: organizing what agents, tools, or users send into the model, whereas A2A focuses on the second category: coordination between intelligent agents. On the other hand, by separating tools from agents, Google is able to position A2A as complementary to — rather than in competition with — MCP.*

https://youtu.be/vIfagfHOLmI?si=pKEOugt3oZJlWRaj

- https://blog.logto.io/a2a-mcp

https://www.youtube.com/watch?v=voaKr_JHvF4

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

* [Agent2Agent Protocol A2A](https://github.com/google/A2A?tab=readme-ov-file#agent2agent-protocol-a2a)
* [Getting Started](https://github.com/google/A2A?tab=readme-ov-file#getting-started)
* [Contributing](https://github.com/google/A2A?tab=readme-ov-file#contributing)
* [What's next](https://github.com/google/A2A?tab=readme-ov-file#whats-next)
* [About](https://github.com/google/A2A?tab=readme-ov-file#about)

*One of the biggest challenges in enterprise AI adoption is getting agents built on different frameworks and vendors to work together. That’s why we created an open *Agent2Agent (A2A) protocol*, a collaborative way to help agents across different ecosystems communicate with each other. Google is driving this open protocol initiative for the industry because we believe this protocol will be **critical to support multi-agent communication by giving your agents a common language – irrespective of the framework or vendor they are built on**. With *A2A*, agents can show each other their capabilities and negotiate how they will interact with users (via text, forms, or bidirectional audio/video) – all while working securely together.*

### ***See A2A in Action***

*Watch [this demo video](https://storage.googleapis.com/gweb-developer-goog-blog-assets/original_videos/A2A_demo_v4.mp4) to see how A2A enables seamless communication between different agent frameworks.*

### *Conceptual Overview*

*The Agent2Agent (A2A) protocol facilitates communication between independent AI agents. Here are the core concepts:*

* ***Agent Card:** A public metadata file (usually at `/.well-known/agent.json`) describing an agent's capabilities, skills, endpoint URL, and authentication requirements. Clients use this for discovery.*
* ***A2A Server:** An agent exposing an HTTP endpoint that implements the A2A protocol methods (defined in the [json specification](https://github.com/google/A2A/blob/72b60eb6e6f28284a1d7b3723f4f59057153e7c4/specification)). It receives requests and manages task execution.*
* ***A2A Client:** An application or another agent that consumes A2A services. It sends requests (like `tasks/send`) to an A2A Server's URL.*
* ***Task:** The central unit of work. A client initiates a task by sending a message (`tasks/send` or `tasks/sendSubscribe`). Tasks have unique IDs and progress through states (`submitted`, `working`, `input-required`, `completed`, `failed`, `canceled`).*
* ***Message:** Represents communication turns between the client (`role: "user"`) and the agent (`role: "agent"`). Messages contain `Parts`.*
* ***Part:** The fundamental content unit within a `Message` or `Artifact`. Can be `TextPart`, `FilePart` (with inline bytes or a URI), or `DataPart` (for structured JSON, e.g., forms).*
* ***Artifact:** Represents outputs generated by the agent during a task (e.g., generated files, final structured data). Artifacts also contain `Parts`.*
* ***Streaming:** For long-running tasks, servers supporting the `streaming` capability can use `tasks/sendSubscribe`. The client receives Server-Sent Events (SSE) containing `TaskStatusUpdateEvent` or `TaskArtifactUpdateEvent` messages, providing real-time progress.*
* ***Push Notifications:** Servers supporting `pushNotifications` can proactively send task updates to a client-provided webhook URL, configured via `tasks/pushNotification/set`.*

Contributor guide

Open the contributing guide

Research direction

The issue does not identify any Fabric files, tests, or entry points. Start by reviewing Fabric's existing agent integration approach and the linked A2A specification, then define the supported client or server scope, configuration, and acceptance tests before implementation.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
ai, api
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.