google / google/adk-python

feat: Add DNS-AID tools for agent discovery via DNS

Open
#4,859 1 comment 0 reactions 2 assignees Claimed by @klateefa View on GitHub
needs review tools
Dominant language
Python
Stars
21.5k
Forks
4k
Avg merge
1d 14h
Merged PRs (30d)
37

Description

## Feature Request

Add DNS-AID (DNS-based Agent Identification and Discovery) tools to Google ADK, enabling agents to discover, publish, and unpublish other agents via DNS SVCB records.

## Motivation

AI agent ecosystems need a decentralized, standards-based discovery mechanism. DNS-AID ([IETF draft-mozleywilliams-dnsop-dnsaid-01](https://datatracker.ietf.org/doc/draft-mozleywilliams-dnsop-dnsaid/)) uses DNS SVCB records to publish agent metadata — capabilities, endpoints, protocols, and versions — making agents discoverable without centralized registries.

Google ADK already supports A2A (Agent-to-Agent) protocol. DNS-AID complements A2A by providing the discovery layer: agents publish their A2A endpoints to DNS, and other agents find them via standard DNS queries. This enables:

- **Decentralized discovery**: No central registry needed
- **DNS-native**: Leverages existing DNS infrastructure, caching, and security (DNSSEC)
- **A2A bridge**: DNS-discovered agents with `protocol=a2a` can be converted to ADK `RemoteAgent` references

## Proposed Implementation

1. **FunctionTool wrappers**: `discover_agents`, `publish_agent`, `unpublish_agent` async functions wrapped as `FunctionTool` objects
2. **Tool factory**: `get_dns_aid_tools(backend_name=...)` for convenient tool creation with DNS backend binding
3. **A2A bridge**: `a2a_agent_from_record()` to convert DNS-AID discovered agents into ADK-compatible RemoteAgent references

## Related PR

PR #4856 implements this feature.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.