Discovery API
Server discovery endpoint for automatic capability detection and configuration
The Discovery API allows clients to automatically detect Agent Server capabilities, available models, and health status. This enables dynamic configuration and server selection in distributed environments.
Overview
The Discovery API provides a standardized way for clients to:
- Detect server capabilities and supported features
- Discover available AI models and providers
- Monitor server health and operational status
- Configure applications dynamically based on server capabilities
Endpoint
No authentication required for the discovery endpoint.
Response Format
The discovery endpoint returns comprehensive server information:
Response Fields
Server Information
Unique server identifier
Human-readable server name
Server version following semantic versioning
Primary orchestration provider (e.g., “adk”, “mcp”, “custom”)
Capabilities
Whether the server supports Server-Sent Events (SSE) streaming
Supported execution modes: ["plan", "act"]
Whether the server supports intelligent workflow orchestration
Whether the server supports Model Context Protocol (MCP)
Models
Array of available AI models with their metadata
Model identifier (e.g., “meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo”)
Human-readable model name
Model provider (e.g., “together”, “openai”, “anthropic”)
Health Status
Current server status: "healthy"
, "degraded"
, "unhealthy"
Number of currently running workflow executions
Maximum concurrent executions supported
Usage Examples
Basic Discovery
TypeScript Client
Python Client
Multi-Server Discovery
Integration Patterns
Dynamic Server Selection
Health Monitoring
Error Handling
HTTP Status | Description | Handling |
---|---|---|
200 | Success | Process discovery response |
404 | Endpoint not found | Server doesn’t support discovery |
500 | Server error | Server unhealthy, try again later |
Timeout | Network timeout | Server unreachable |
Best Practices
Cache Results
Cache discovery responses with appropriate TTL (5-10 minutes)
Handle Failures
Gracefully handle discovery failures and implement retries
Monitor Health
Regularly check server health for dynamic load balancing
Version Compatibility
Check discovery_version for compatibility with your client