Skip to content

feat(a2a): add Agent Card generation for A2A protocol discovery#23871

Closed
JezzaHehn wants to merge 1 commit into
NousResearch:mainfrom
JezzaHehn:feature/a2a-agent-card
Closed

feat(a2a): add Agent Card generation for A2A protocol discovery#23871
JezzaHehn wants to merge 1 commit into
NousResearch:mainfrom
JezzaHehn:feature/a2a-agent-card

Conversation

@JezzaHehn

Copy link
Copy Markdown
Contributor

Implements Phase 1 of A2A (Agent-to-Agent) protocol support - Agent Card generation and serving.

A2A is the Linux Foundation open standard for inter-agent communication. It complements MCP: MCP connects agents to tools, A2A connects agents to agents.

Related Issue: #514

What's Changed:

  • agent/a2a/init.py - Package entry point
  • agent/a2a/agent_card.py - A2A Agent Card generation (~500 LOC)
  • gateway/platforms/api_server.py - Added /.well-known/agent.json endpoint
  • tests/gateway/test_api_server.py - Added TestAgentCard test class
  • pyproject.toml - Added [a2a] optional dependency (a2a-sdk>=1.0.0)

Testing:

pytest tests/gateway/test_api_server.py::TestAgentCard -v
curl http://localhost:8642/.well-known/agent.json

All 4 new tests pass.

Future Work:

  • Phase 2: A2A client (discover/call remote agents)
  • Phase 3: Full A2A server (JSON-RPC endpoints)

Implements Phase 1 of A2A (Agent-to-Agent) protocol support:

- Add agent/a2a/ module with Agent Card generation
- Generate A2A-compliant Agent Card from Hermes tools/config
- Add GET /.well-known/agent.json endpoint to API server
- Map Hermes tools to A2A skills with proper metadata
- Include CORS headers and cache control for discovery
- Add a2a-sdk>=1.0.0 as optional dependency

A2A is the Linux Foundation standard for inter-agent communication.
This enables other A2A-compliant agents to discover Hermes.

Refs: NousResearch#514
@JezzaHehn

Copy link
Copy Markdown
Contributor Author

As usual I am reviewing any failed pipelines to make sure it's not something related to the proposed changes

@alt-glitch alt-glitch added type/feature New feature or request comp/gateway Gateway runner, session dispatch, delivery P3 Low — cosmetic, nice to have duplicate This issue or pull request already exists labels May 11, 2026
@alt-glitch

Copy link
Copy Markdown
Collaborator

Duplicate of #4135 — A2A protocol implementation — saturated feature cluster with #4135, #11025, #4952, #4948 all addressing #514. This PR covers Phase 1 (Agent Card) which is a subset of #4135's full client+server scope.

@JezzaHehn

JezzaHehn commented May 11, 2026

Copy link
Copy Markdown
Contributor Author

Noting also this duplicates PRs #4135 and #11025, whoopsies

Edit, @alt-glitch left a comment at the same time with more detail 👍 💚

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/gateway Gateway runner, session dispatch, delivery duplicate This issue or pull request already exists P3 Low — cosmetic, nice to have type/feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants