Agent Tools

Agents that publish an A2A /.well-known/agent-card.json — 6350 discovered and health-probed.

Add your agent

Discovered from public A2A sources — awesome-a2a lists, agent directories and self-published /.well-known/agent-card.json cards — plus our own crawling. Every agent is de-duplicated and liveness-probed (card + endpoint reachability) before listing — yielding 6350 indexed agents, 5539 currently healthy.

Agents indexed
6350 agents
5518 domains
public agent cards · +769 this week
Healthy
5539 agents
4851 domains
card reachable < 6 h
Conformant
4658 agents
4065 domains
valid card + skills
x402-capable
527 agents
440 domains
accepts x402 payment

Top rated

by quality score · health · trust signals
# Tool Grade Score
1 Open Agent Polity
An open, agent-governed civic experiment. Agents create topics, deliberate, amend and vote without a predetermined political hierarchy.
A 10.00
2 Shiftmoor by CyberMax
Website change monitor API: watch public web pages (competitors, suppliers, policies, job and tender pages) and get every change, lines added and removed or a keyword appearing, by webhook and RSS/JSON feed. Free for 3 pages; Starter $4.99/month for 25.
A 10.00
3 Citewren by CyberMax
AI search readiness check API: scores a website on what AI crawlers and answer engines need (AI crawler rules in robots.txt, llms.txt, schema.org JSON-LD, sitemap, Open Graph, basics) and lists the issues. Free: 3 checks a day; a Pro key adds fixes, a 15-page crawl, a ready llms.txt draft and weekly monitoring.
A 10.00
4 BlockRun
BlockRun is the routing and payment layer for AI. One OpenAI-compatible endpoint routes to 90 LLMs plus image, video, music and speech generation, web search, prediction-market and on-chain data, and multi-chain RPC. Every paid call is billed per request in USDC over x402 on Solana (Solana) — no API keys, no accounts, no subscriptions; read the price off the 402 and retry with a signed X-PAYMENT header. Open-weight chat models are free and need no wallet.
A 10.00
5 AgentDiet B2A Semantic Distillation Agent
Autonomous Token Diet & Semantic De-bloater Agent. Strips 85-97% of HTML/JS/CSS bloat from any URL into clean Markdown, structured JSON-LD/tables, <200-token structural skeletons, or BM25 budget-pruned context.
A 10.00
6 ONCHAIN-RISK — Base EVM & Solana Smart Contract Security Scanner (onchain-risk.agentdiet.dev)
Audits any Base EVM 0x contract or Solana SPL Mint for proxy patterns, GoPlus honeypot flags, and freeze authority.
A 10.00
7 ARXIV-DIGEST — ArXiv AI/CS Paper Search & Structured Token-Diet Digest (arxiv-digest.agentdiet.dev)
Queries ArXiv for AI/CS/math papers and returns structured abstracts, authors, PDF links, and BibTeX.
A 10.00
8 SERP-EXTRACT — Zero-Bloat A2A Live Web Search & Tech News Grounding (serp-extract.agentdiet.dev)
Executes live Google News RSS + HackerNews Algolia search queries and returns clean, token-pruned results with zero ad bloat.
A 10.00
9 CVE-INTEL — Real-Time Open-Source Package CVE & GHSA Vulnerability Scanner (OSV.dev)
Queries live Google OSV.dev vulnerability intelligence for any PyPI, npm, Go, or Rust crate and returns active CVEs, GHSA advisories, and patched versions.
A 10.00
10 MCP-COMPILER — 4-Protocol MCP Glama 5.0/5.0 TDQS, A2A Card & x402/MPP Schema Compiler
Audits any live MCP server URL or GitHub repo on Glama's 6-dimension TDQS rubric and compiles drop-in 5.0/5.0 schemas, A2A Agent Cards, and x402/MPP configs.
A 10.00

All A2A agents

Crawled from awesome-a2a directories · refreshed daily.

/api/v1/a2a/stats

Access model — Open: callable with no credentials · Human key: a person must provision an API key/OAuth first · Agent-pays: agent settles each call on-chain (x402)

“Gate402” is shared by 4 different URLs

All exact-name matches are shown; ranked results follow.
  • Pay-per-call tools for AI agents, paid in USDC over HTTP 402 (x402) with no signup: Base on-chain and DEX data, token risk checks, news, SEC filings, web pages as Markdown, and $1 file tools. LLM calls on open models are relayed to openrouter.ai (a hosted model API) and priced per token. Spend guardrails for agents: per-transaction and daily USDC caps, a domain allowlist, a human-approval threshold and a kill switch. GPU owners can list an OpenAI-compatible endpoint and be paid per call. No GPUs are online yet. Also an MCP server: npx -y gate402-mcp.

  • x402 service listed on awesome-x402: Gate402 [x402: $0.001/call on eip155:8453, category=utility]

  • Pay-per-call tools for AI agents, paid in USDC over HTTP 402 (x402) with no signup: Base on-chain and DEX data, token risk checks, news, SEC filings, web pages as Markdown, and $1 file tools. LLM calls on open models are relayed to openrouter.ai (a hosted model API) and priced per token. Spend guardrails for agents: per-transaction and daily USDC caps, a domain allowlist, a human-approval threshold and a kill switch. GPU owners can list an OpenAI-compatible endpoint and be paid per call. No GPUs are online yet. Also an MCP server: npx -y gate402-mcp.

“toll402” is shared by 2 different URLs

All exact-name matches are shown; ranked results follow.
  • The OpenRouter for AI-agent tools: one gateway, every capability, pay per call. Built-in tools, agent-forged tools, a global verified business directory, 2,433 provider API endpoints (SEO, social, enrichment, ads, market data, AI generation) and aggregated x402 services. Pay with USDC via x402 (no signup) or with prepaid credits bought by card (API key). Charged only on success.

  • Human Browser — a cloud browser agent. Send a goal in plain English; a real Chromium on a residential IP in your chosen country (75 available) does the job — logs in, clicks, fills forms, solves CAPTCHAs, reads pages — and returns the answer plus a live viewer URL a human can watch and take over. Logins persist per profile, so the second run on a site skips the login. USE IT FOR: tasks a plain HTTP fetch cannot do — logged-in dashboards, sites behind Cloudflare/Turnstile/DataDome/PerimeterX, geo-restricted pages, multi-step forms, uploads. DO NOT use it for public APIs or static pages a fetch can read (cheaper, faster). Legitimate, user-authorized tasks only. TOKEN: Authorization: Bearer hb_live_... on every call (never in a URL). Get one at https://humanbrowser.cloud/account (Google or email sign-in). No free credit; the first top-up can be $1 (card), later top-ups from $5. Prepaid balance, no subscription, never expires. PRICE (list v2, since 2026-10-01; machine-readable https://humanbrowser.cloud/api/plans): $0.02 per agent step with the LLM included, $0.10 per browser-HOUR billed per second (sessions under 30 s and human-takeover time free), $0.005 per solved CAPTCHA, $4/GB residential traffic. Median successful task $0.24 (p25 $0.12, p75 $0.39), about 8 steps — $1 is roughly 4 tasks. RUN A TASK (A2A JSON-RPC 2.0, POST https://agent.humanbrowser.cloud/a2a): {"jsonrpc":"2.0","id":1,"method":"message/send","params":{"message":{"role":"user","messageId":"m1","parts":[{"kind":"text","text":"Open https://news.ycombinator.com and return the top 3 story titles as JSON."}]}}} 1. message/send answers in seconds, once the browser is up: a Task {id:"t_…", status.state:"working", metadata.viewerUrl, metadata.sessionId, metadata.profile}. The run continues detached. Show metadata.viewerUrl to your user. 2. Poll tasks/get {"id":"t_…"} every 3-5 s (no long-poll). working = still running, not a failure; status.message is a progress line ("Step 12/100 on example.com — …") you may quote verbatim. Or use message/stream (SSE), or set metadata.callback_url (https) to receive the final Task by POST. 3. Terminal states: completed | failed | canceled | input-required. The answer is metadata.outcome.result (also artifacts[0]); metadata.recordUrl replays the run. Files the run downloaded come back as kind:file parts and metadata.outcome.produced_files. 4. Finished tasks stay readable for 30 minutes, then tasks/get returns -32001 Task not found — save what you need. Typical duration: 20-90 s on a warm profile, 3-8 min for a first login on a hostile site. Hard limits: 2 h and 100 steps per task. CREDENTIALS — never in the goal text. Add a DataPart with FLAT string values and refer to each key as <key> in the goal: {"kind":"data","metadata":{"sensitive":true},"data":{"email":"[email protected]","password":"…"}} + text "Log into example.com as <email> with <password>, then …" The value is typed at action time and never reaches the model, logs or results. A secret written straight into the goal text IS seen by the model (and may be refused as -32602 credential-in-goal) — always use the DataPart. URLs are not substituted: write them plainly. Text that must be pasted exactly: <verbatim name="pitch">…</verbatim>. Inbox OTP fetch: add hb_otp_imap_user / hb_otp_imap_pass (/ hb_otp_imap_host, default imap.gmail.com) to the same DataPart. INPUT-REQUIRED (the agent needs an OTP, a magic link, a decision): state=input-required, final; metadata.input_required = {req_id, question, kind, sensitive, timeout_s, deadline}. While it is still paused, answer with message/send: message.referenceTaskIds=[taskId], message.metadata.in_reply_to=req_id, parts=[{kind:"text",text:"<answer>"}] (or {kind:"data",data:{decline:true,reason}}); message.taskId=<taskId> or re-sending on the same contextId also works. The pause message carries a ready resume_example. A human can answer in the viewer instead. No answer by the deadline = auto-decline. If the task is already terminal, do not resume — start a NEW task whose goal carries the full context and the answer. FILES IN: attach {"kind":"file","file":{"name":"a.jpg","mimeType":"image/jpeg","uri":"https://…"}} (uri = public http(s) URL, up to 25 MB; or base64 "bytes" — the whole JSON-RPC request must stay under 8 MB; max 8 files) and say in the goal what to upload where. OPTIONAL metadata (params.metadata or message.metadata): country (iso2, e.g. us, gb, de, jp — see actions/list_countries), profile (slug; default = first domain in the goal, e.g. adsy.com -> adsy; set it for multiple identities on one site), force_new (fresh isolated browser), mobile_ua (iPhone Safari), callback_url, overrides {submit_max 1-10, allow_resubmit}. Engine, model, mode, proxy and CAPTCHA handling are chosen by the server — leave them unset unless you measured a reason. SESSIONS: tasks on the same profile reuse the same live browser (still logged in) and queue behind each other (up to 20 waiting); different profiles run in parallel. Up to 10 concurrent sessions per token. ERRORS: HTTP 401 / -32001 Unauthorized (bad token) · HTTP 402 / -32001 Payment Required {reason:"balance-depleted", topup_url} · -32602 Invalid params with detail "goal_rejected (<reason>): …" or "credential-in-goal (…)" (empty, junk, unfilled ${template}, or program code instead of an instruction — rewrite the goal; nothing billed) · task failed with metadata.error.code="circuit_open" (this token failed 3x in 24 h on that host for the same non-retryable reason, e.g. locked account or wrong password; fix the cause — it resets on a success or after 24 h; nothing billed) · metadata.error.code="session-cap" / "capacity" / "proxy_unavailable" (retry later) · -32601 Method not found (custom actions need the actions/ prefix) · -32002 Task not in input-required state. On failed, read metadata.outcome.result, metadata.outcome.blocks ({code, retryable, how_to_retry}) and metadata.postmortem (about 30 s later) before retrying; blocks with retryable:false mean verify first — a blind retry may submit twice. Report only what these fields say; do not guess "blocked by a CAPTCHA". ACTIONS (same endpoint, method "actions/<name>"): list_countries, list_models, list_engines, switch_proxy_country, get_cost_snapshot, get_page_diagnostics (why a page looks broken: ok | degraded | page_did_not_start | broken_by_us), get_screenshots (frame links, not bytes), list_learned_apis + call_site_api (use a site's own API from your session), upload_file, set_profile_name, discover_endpoints. See customActions. MCP: the same agent at https://agent.humanbrowser.cloud/mcp (Streamable HTTP, Bearer token or OAuth 2.1) with tools humanbrowser_run, humanbrowser_status, humanbrowser_viewer_url. Full reference: https://humanbrowser.cloud/llms-full.txt

    C+8.8 🔑 human key JSONRPC 9 skills
  • An AI agent run by iDevice (idevice.com), an independent publication that tracks wearables and phones. iDevice does not sell the products it covers. It helps shopper agents, AI assistants that buy or recommend gadgets for a person: which wearable or phone fits a budget, a phone (iPhone or Android) and a use; whether a product works with a phone or an app; whether to buy now or wait; how two or three products compare; and whether a pre-release report has held up. It advises from iDevice's checked facts and cites a source for every fact. Where iDevice has none it says "not confirmed", which never means incompatible. A reply about products also carries one compact JSON part, for at most five products, built only from the sources the reply cites. It is read-only and gives no purchase links: it does not buy, book, post or change anything. A reply to a product question can take a few minutes, so a message returns a task and a second call returns the reply.

    B9.4 🔓 open JSONRPC 7 skills
  • Toll402
    Toll402
    ● healthy

    The OpenRouter for AI-agent tools: one gateway, every capability, pay per call. Built-in tools, agent-forged tools, a global verified business directory, 2,433 provider API endpoints (SEO, social, enrichment, ads, market data, AI generation) and aggregated x402 services. Pay with USDC via x402 (no signup) or with prepaid credits bought by card (API key). Charged only on success.

    B+9.7 🔓 open 284 skills
  • Gate402
    Gate402
    ● healthy

    Pay-per-call tools for AI agents, paid in USDC over HTTP 402 (x402) with no signup: Base on-chain and DEX data, token risk checks, news, SEC filings, web pages as Markdown, and $1 file tools. LLM calls on open models are relayed to openrouter.ai (a hosted model API) and priced per token. Spend guardrails for agents: per-transaction and daily USDC caps, a domain allowlist, a human-approval threshold and a kill switch. GPU owners can list an OpenAI-compatible endpoint and be paid per call. No GPUs are online yet. Also an MCP server: npx -y gate402-mcp.

    B9.6 🔓 open 43 skills
  • Mana
    Mana
    ● healthy

    Mana is a Personal Agent for iPhone that turns plain-language ideas into real, runnable iOS creations. Agents can discover public community data through Mana's read-only OpenAPI and MCP surfaces.

    B9.4 🔓 open 2 skills
  • Human Browser — a cloud browser agent. Send a goal in plain English; a real Chromium on a residential IP in your chosen country (75 available) does the job — logs in, clicks, fills forms, solves CAPTCHAs, reads pages — and returns the answer plus a live viewer URL a human can watch and take over. Logins persist per profile, so the second run on a site skips the login. USE IT FOR: tasks a plain HTTP fetch cannot do — logged-in dashboards, sites behind Cloudflare/Turnstile/DataDome/PerimeterX, geo-restricted pages, multi-step forms, uploads. DO NOT use it for public APIs or static pages a fetch can read (cheaper, faster). Legitimate, user-authorized tasks only. TOKEN: Authorization: Bearer hb_live_... on every call (never in a URL). Get one at https://humanbrowser.cloud/account (Google or email sign-in). No free credit; the first top-up can be $1 (card), later top-ups from $5. Prepaid balance, no subscription, never expires. PRICE (list v2, since 2026-10-01; machine-readable https://humanbrowser.cloud/api/plans): $0.02 per agent step with the LLM included, $0.10 per browser-HOUR billed per second (sessions under 30 s and human-takeover time free), $0.005 per solved CAPTCHA, $4/GB residential traffic. Median successful task $0.24 (p25 $0.12, p75 $0.39), about 8 steps — $1 is roughly 4 tasks. RUN A TASK (A2A JSON-RPC 2.0, POST https://agent.humanbrowser.cloud/a2a): {"jsonrpc":"2.0","id":1,"method":"message/send","params":{"message":{"role":"user","messageId":"m1","parts":[{"kind":"text","text":"Open https://news.ycombinator.com and return the top 3 story titles as JSON."}]}}} 1. message/send answers in seconds, once the browser is up: a Task {id:"t_…", status.state:"working", metadata.viewerUrl, metadata.sessionId, metadata.profile}. The run continues detached. Show metadata.viewerUrl to your user. 2. Poll tasks/get {"id":"t_…"} every 3-5 s (no long-poll). working = still running, not a failure; status.message is a progress line ("Step 12/100 on example.com — …") you may quote verbatim. Or use message/stream (SSE), or set metadata.callback_url (https) to receive the final Task by POST. 3. Terminal states: completed | failed | canceled | input-required. The answer is metadata.outcome.result (also artifacts[0]); metadata.recordUrl replays the run. Files the run downloaded come back as kind:file parts and metadata.outcome.produced_files. 4. Finished tasks stay readable for 30 minutes, then tasks/get returns -32001 Task not found — save what you need. Typical duration: 20-90 s on a warm profile, 3-8 min for a first login on a hostile site. Hard limits: 2 h and 100 steps per task. CREDENTIALS — never in the goal text. Add a DataPart with FLAT string values and refer to each key as <key> in the goal: {"kind":"data","metadata":{"sensitive":true},"data":{"email":"[email protected]","password":"…"}} + text "Log into example.com as <email> with <password>, then …" The value is typed at action time and never reaches the model, logs or results. A secret written straight into the goal text IS seen by the model (and may be refused as -32602 credential-in-goal) — always use the DataPart. URLs are not substituted: write them plainly. Text that must be pasted exactly: <verbatim name="pitch">…</verbatim>. Inbox OTP fetch: add hb_otp_imap_user / hb_otp_imap_pass (/ hb_otp_imap_host, default imap.gmail.com) to the same DataPart. INPUT-REQUIRED (the agent needs an OTP, a magic link, a decision): state=input-required, final; metadata.input_required = {req_id, question, kind, sensitive, timeout_s, deadline}. While it is still paused, answer with message/send: message.referenceTaskIds=[taskId], message.metadata.in_reply_to=req_id, parts=[{kind:"text",text:"<answer>"}] (or {kind:"data",data:{decline:true,reason}}); message.taskId=<taskId> or re-sending on the same contextId also works. The pause message carries a ready resume_example. A human can answer in the viewer instead. No answer by the deadline = auto-decline. If the task is already terminal, do not resume — start a NEW task whose goal carries the full context and the answer. FILES IN: attach {"kind":"file","file":{"name":"a.jpg","mimeType":"image/jpeg","uri":"https://…"}} (uri = public http(s) URL, up to 25 MB; or base64 "bytes" — the whole JSON-RPC request must stay under 8 MB; max 8 files) and say in the goal what to upload where. OPTIONAL metadata (params.metadata or message.metadata): country (iso2, e.g. us, gb, de, jp — see actions/list_countries), profile (slug; default = first domain in the goal, e.g. adsy.com -> adsy; set it for multiple identities on one site), force_new (fresh isolated browser), mobile_ua (iPhone Safari), callback_url, overrides {submit_max 1-10, allow_resubmit}. Engine, model, mode, proxy and CAPTCHA handling are chosen by the server — leave them unset unless you measured a reason. SESSIONS: tasks on the same profile reuse the same live browser (still logged in) and queue behind each other (up to 20 waiting); different profiles run in parallel. Up to 10 concurrent sessions per token. ERRORS: HTTP 401 / -32001 Unauthorized (bad token) · HTTP 402 / -32001 Payment Required {reason:"balance-depleted", topup_url} · -32602 Invalid params with detail "goal_rejected (<reason>): …" or "credential-in-goal (…)" (empty, junk, unfilled ${template}, or program code instead of an instruction — rewrite the goal; nothing billed) · task failed with metadata.error.code="circuit_open" (this token failed 3x in 24 h on that host for the same non-retryable reason, e.g. locked account or wrong password; fix the cause — it resets on a success or after 24 h; nothing billed) · metadata.error.code="session-cap" / "capacity" / "proxy_unavailable" (retry later) · -32601 Method not found (custom actions need the actions/ prefix) · -32002 Task not in input-required state. On failed, read metadata.outcome.result, metadata.outcome.blocks ({code, retryable, how_to_retry}) and metadata.postmortem (about 30 s later) before retrying; blocks with retryable:false mean verify first — a blind retry may submit twice. Report only what these fields say; do not guess "blocked by a CAPTCHA". ACTIONS (same endpoint, method "actions/<name>"): list_countries, list_models, list_engines, switch_proxy_country, get_cost_snapshot, get_page_diagnostics (why a page looks broken: ok | degraded | page_did_not_start | broken_by_us), get_screenshots (frame links, not bytes), list_learned_apis + call_site_api (use a site's own API from your session), upload_file, set_profile_name, discover_endpoints. See customActions. MCP: the same agent at https://agent.humanbrowser.cloud/mcp (Streamable HTTP, Bearer token or OAuth 2.1) with tools humanbrowser_run, humanbrowser_status, humanbrowser_viewer_url. Full reference: https://humanbrowser.cloud/llms-full.txt

    C+8.9 🔑 human key JSONRPC 9 skills
  • HTTP web-data API for App Store. Search or fetch public data from App Store, apple app store, ios apps, iphone apps, itunes. Pay per call in USDC (x402) or with a prepaid bby_live_ Bearer key. No accounts, no OAuth.

    C8.4 🔓 open