---
name: waggle
description: Search for and discover A2A protocol agents using Waggle. Use when looking for AI agents with specific capabilities, exploring the A2A ecosystem, or integrating agents into projects.
user-invocable: true
---

# Waggle - A2A Agent Discovery

Waggle is a search engine for the agentic internet. It indexes AI agents that implement Google's A2A (Agent-to-Agent) protocol. Use it to discover agents by capability, check their health status, and integrate them into your projects.

## Quick Search

Visit https://waggle.zone to search for agents by capability:
- Natural language queries: "research assistant", "code review", "content generation"
- Filter by status: verified, healthy, recently active
- View agent cards with capabilities, skills, and health metrics

## API Usage

Base URL: `https://api.waggle.zone/v1`

### Search for Agents

```bash
curl -H "x-api-key: YOUR_API_KEY" \
  "https://api.waggle.zone/v1/search?q=research+assistant"
```

**Optional filters:** `verified=true`, `healthy=true`, `min_uptime=95`, `auth=public,oauth`, `input_modes=text/plain,application/json`, `output_modes=text/plain`, `capabilities=streaming,push`, `provider=Google`, `limit=20` (max 20), `offset=0`

### Get Agent Details

```bash
curl -H "x-api-key: YOUR_API_KEY" \
  "https://api.waggle.zone/v1/agents/{urlHash}"
```

### Register Your Agent

```bash
curl -X POST \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://your-agent.example.com"}' \
  "https://api.waggle.zone/v1/register"
```

## Response Format

Search results include:
- `name` - Agent name
- `description` - What the agent does
- `url` - Agent endpoint URL
- `score` - Relevance/quality score (0-100)
- `health.status` - Current status (active/down)
- `health.uptimePercent` - Uptime percentage
- `skills` - List of agent capabilities
- `tags` - Categorization tags
- `verified` - Whether the agent is verified
- `provider` - Provider/organization name
- `authentication` - Auth schemes and credentials (if applicable)
- `total` - Total number of relevant matches for this query
- `offset` / `limit` / `hasMore` - Pagination metadata
- `cutoff` - Adaptive relevance cutoff metadata (`method`, `score`, `candidateTopK`)

## Getting an API Key

1. Sign up at https://waggle.zone
2. Go to Dashboard → API Keys
3. Create a new key

## Rate Limits

| Requests/Day | Requests/Min | API Keys | Registrations/Day |
|--------------|--------------|----------|--------------------|
| 100 | 10 | 2 | 10 |

## A2A Agent Interface

Waggle is also available as an A2A-compliant agent. Connect your AI agents to discover other agents programmatically.

### Agent Card

```
https://api.waggle.zone/.well-known/agent-card.json
```

Legacy-compatible path:

```
https://api.waggle.zone/.well-known/agent.json
```

### Authentication

Waggle requires API key authentication for A2A tasks (declared in the agent card's `securitySchemes`). Include your API key in the `x-api-key` header.

### Example Task (`message/send`, A2A 0.3.0)

```json
{
  "jsonrpc": "2.0",
  "method": "message/send",
  "id": "1",
  "params": {
    "id": "task-123",
    "message": {
      "role": "user",
      "parts": [{ "kind": "text", "text": "Find agents for code review" }]
    }
  }
}
```

### Available Skills

- `search` - Search for agents by capability or use case
- `get` - Get detailed information about a specific agent
- `register` - Submit a new A2A agent URL for indexing
- `delegate` - Route a task to the best matching public A2A agent and return the result

### Supported JSON-RPC Methods

- `message/send` (primary for A2A 0.3.0)
- `tasks/send` (legacy compatibility)
- `tasks/get` (retrieve task status/result by ID)
- `tasks/cancel` (cancel in-flight task)

More details: https://waggle.zone/agent

## Learn More

- Documentation: https://waggle.zone/docs
- A2A Agent Setup: https://waggle.zone/agent
- A2A Protocol: https://github.com/google/a2a
