---
name: discover-skills
description: Search the AgentRoot registry to find AI capabilities — agents, MCP servers, skills, and A2A endpoints — by query, type, or domain. Use when a user wants to find or browse available capabilities.
auth: none
cost: free
endpoints:
  - method: GET
    url: https://agentroot.io/api/discover
    description: Search all record types (agents, MCP servers, skills, A2A endpoints)
    params:
      q: Search query (optional, omit to list all)
      type: Filter by record type - agent, mcp, skill, a2a (optional)
  - method: GET
    url: https://agentroot.io/api/find-skills
    description: Search individual skills across all domains (legacy endpoint)
    params:
      q: Search query (optional, omit to list all)
  - method: GET
    url: https://agentroot.io/api/agents
    description: Search agents only
    params:
      q: Search query
      caps: Comma-separated capabilities filter
      category: Category filter (research, finance, devtools, data, communication, automation, media, security)
---

# Discover Capabilities

Search the AgentRoot registry to find AI capabilities — agents, MCP servers, skills, and A2A endpoints — registered by any domain.

## When to use

- The user wants to find a skill, agent, MCP server, or A2A endpoint
- The user asks "is there a skill/agent for X?"
- The user wants to browse what's available in the registry
- The user wants to discover capabilities by domain, type, or keyword

## How it works

AgentRoot indexes capabilities that domains publish via DNS TXT records and manifests. You query its public API to search the registry.

## Usage

### Via CLI (preferred)

```bash
# Search all record types
npx agent-root search "payments"

# Filter by type
npx agent-root search "database" --type mcp
npx agent-root search "deploy" --type agent

# Output as JSON
npx agent-root search "github" --json
```

### Via MCP

If the `agentroot` MCP server is connected, use its `search_skills` tool:

```
search_skills({ query: "github actions" })
```

To filter by record type (agent, mcp, skill, a2a), use the `search_records` tool instead:

```
search_records({ query: "database", type: "mcp" })
```

Returns structured JSON with record IDs, names, descriptions, domains, and types.

### Via HTTP (WebFetch)

#### Search all record types

```
GET https://agentroot.io/api/discover?q=<query>&type=<type>
```

Returns `{ results: [...], total: N }`

Each result includes:
- `domain` — the publishing domain
- `type` — record type (agent, mcp, skill, a2a)
- `id` / `record_id` — unique identifier
- `name` — display name
- `description` — what it does
- `address` — full address (`domain/id`) for install or resolve

#### Search individual skills

```
GET https://agentroot.io/api/find-skills?q=<query>
```

Returns `{ skills: [...], count: N }`

#### Search agents only

```
GET https://agentroot.io/api/agents?q=<query>&caps=<cap1,cap2>&category=<category>
```

Returns `{ agents: [...] }`

## Instructions

1. Use the CLI (`npx agent-root search`), MCP tool, or HTTP API — whichever is available
2. Parse the results and present them clearly — show name, type, description, domain, and address
3. If the user wants more details about a result, resolve it: `npx agent-root resolve <domain>/<id>`
4. If the user wants to install a result, use: `npx agent-root install <domain>/<id>`
5. If no results are found, suggest broader search terms or try without a type filter

## Example

User: "Find me an MCP server for databases"

1. Run `npx agent-root search "database" --type mcp` or fetch `https://agentroot.io/api/discover?q=database&type=mcp`
2. Present results:
   - **DB Tools** [MCP Server] (example.com/db-tools) — Query and manage databases
3. If the user wants to use it: `npx agent-root install example.com/db-tools`
