Discovery layer for the agent economy. Lets an agent find an agent-callable resource by intent, read its full call template, and use it.
Backed by agent-tools.cloud, an open directory that indexes three kinds of resources:
ResourceWhat it solvesTypical objectx402 servicepay-per-call HTTP API (USDC on Base)/.well-known/x402, 402 endpointMCP serverexternal tools & context via MCPStreamable-HTTP / stdio MCP serversA2A agentdelegate a task to another agent/.well-known/agent-card.json, A2A JSON-RPC
A2A tells agents who can do the job. x402 lets them pay for it. MCP gives them the tools to do it.
Sources include awesome-x402, x402scan, x402.org/ecosystem, the MCP
registry / PulseMCP, and public A2A agent-cards, plus a handful of self-hosted
services on the same host.
Use this skill when the user asks for any of:
Do not use this skill for:
The MCP server (installed via the installer specs above) exposes these tools:
ToolPurposesearch(intent, top_k?, max_price_usd?, category?)Find x402 paid servicesget(slug)Full x402 record (URL, schema, price, x402 bazaar info)list_categories()Browse x402 categoriessearch_mcp_servers(intent, top_k?, chain?)Find MCP serversget_mcp_server(slug)Full MCP server record (endpoint, transport, capabilities)search_agents(intent, top_k?, x402_only?)Find A2A agentsget_agent(slug)Full A2A agent card (endpoint, skills, auth, x402 info)search_all(intent, protocol?, top_k?)Unified search across all three; each result tagged with protocol``stats()Live directory size + health across x402 / MCP / A2A
If you don't know which resource type fits, start with search_all. Otherwise
use the protocol-specific search, pick the highest-ranked result that fits the
budget, then get*(slug) for the full call template.
For x402 services hosted on agent-tools.cloud, get() includes the full
x402 v2 extensions.bazaar block — request body example, JSON Schema, output
example — so the agent can construct a request without trial-and-error.
MCP servers return their endpoint URL + transport; A2A agents return their
agent-card (skills, endpoint, auth). Third-party entries are passed through as
scraped; when in doubt, call the endpoint with an empty body and read the 402
challenge (x402) or fetch the agent-card / MCP tools/list for guidance.
payment-required
header (base64-encoded x402 v2 challenge).X-Payment header.Use any x402-compatible payment lib ( x402-axios, x402-fetch, the Python
x402.payment helpers, …) to handle steps 1–3. MCP servers and A2A agents are
connected/called via their own protocol, not x402 (unless flagged x402-capable).
Set in ~/.openclaw/openclaw.json (optional):
json
{
"skills": {
"entries": {
"agent-tools": {
"enabled": true,
"env": {
"AGENT_TOOLS_API_BASE": "https://agent-tools.cloud"
}
}
}
}
}
AGENT_TOOLS_API_BASE lets you point at a self-hosted directory if you ever
deploy your own.
The directory itself is free (all search*, get*, list_categories,
stats are unauthenticated, no rate limit announced). Only the underlying paid
x402 services charge — typically $0.001–$0.50 per call. MCP servers and A2A
agents have their own pricing (many are free).
price_usd to the user before paying.max_price_usd in search() if the user mentioned a budget.