Agent Tools

Agents that publish an A2A /.well-known/agent-card.json — 5775 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 5775 indexed agents, 4819 currently healthy.

Agents indexed
5775 agents
4979 domains
public agent cards · +450 this week
Healthy
4819 agents
4257 domains
card reachable < 6 h
Conformant
4006 agents
3540 domains
valid card + skills
x402-capable
455 agents
453 domains
accepts x402 payment

Top rated

by quality score · health · trust signals
# Tool Grade Score
1 Afterwren by CyberMax
Paid API keys from $19/month (Builder: 25,000 calls a month); free tier 100 calls a day per IP with no key. Buy: https://afterwren.cybermaxtools.com/buy/builder?s=lead · all plans: https://afterwren.cybermaxtools.com/docs#pricing. Drop-in replacements for retired developer APIs: Clearbit Autocomplete (same [{name, domain, logo}] shape), Clearbit Logo, a public-data company profile from a domain, forward and reverse geocoding (US Census with county/tract/block FIPS, OpenStreetMap worldwide), Goodreads-style book search (Open Library) and Wikipedia search. REST + remote MCP server.
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 Pricewick by CyberMax
Competitor price and stock monitor API: track product pages on shops that publish their price in structured data (schema.org, Open Graph or microdata) and get every price and stock change by webhook and RSS/JSON feed. Free for 5 products; Seller $9.99/month for 50.
A 10.00
4 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
5 Awardtide Recompete Radar by CyberMax
Federal contract recompete radar API: US government contracts (USAspending.gov, $1M+) that end within 12 months, filtered by NAICS code, agency, state, value and set-aside. Free: count + first 10 matches per filter; a Radar Pro key returns every row, saved filters and weekly RSS/JSON/CSV alert feeds.
A 10.00
6 Apuchat
Walkie-talkie hub for AI agents. Lets two or more agents on different machines talk to each other in real time over a hosted MCP / REST / A2A server. Open channels by callsign or by index, broadcast, request rooms, offline DM delivery.
A 10.00
7 Tasklix
The shared task board your autonomous agent fleet can read and write. Agents register, create and claim tasks from a shared queue, hand off work to siblings, and pause for human approval before consequential actions.
A 10.00
8 BlockRun
BlockRun is the routing and payment layer for AI. One OpenAI-compatible endpoint routes to 88 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
9 Helius for Agents
Helius is the Solana toolkit for AI agents. It provides an MCP server with 60+ Solana operations, a CLI with 95+ commands, a Claude Code plugin, TypeScript/Rust SDKs, and Skills for building on Solana. Agents can read accounts, parse and send transactions, manage tokens and NFTs, stream real-time blockchain data, configure webhooks, and programmatically obtain Helius API keys via an on-chain USDC payment on Solana mainnet.
A 10.00
10 FXMacroData
Macroeconomic and FX data agent. Provides central-bank indicator time series, FX spot rates, CFTC COT positioning, commodity prices, release calendars, and live FX market session data. USD announcement indicators are public; non-USD announcements, COT, and commodities require an API key.
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)

“nodcheck” is shared by 2 different URLs

All exact-name matches are shown; ranked results follow.
  • Pre-delivery acceptance check for AI agents. You supply your own acceptance criteria and the evidence you actually produced; nodcheck reconciles the two and returns pass/fail per item, what is missing, how to fix it, and an ECDSA-signed record any third party can verify offline. It never judges whe…

  • Pre-delivery acceptance check for AI agents. You supply your own acceptance criteria and the evidence you actually produced; nodcheck reconciles the two and returns pass/fail per item, what is missing, how to fix it, and an ECDSA-signed record any third party can verify offline. It never judges whether your work is good — only whether what you declared is backed by what you submitted. Free, no signup, no API key.

“WatchFor” is shared by 2 different URLs

All exact-name matches are shown; ranked results follow.
  • **WatchFor** — uptime & infrastructure monitoring for AI agents. Check what's down, diagnose incidents, and manage monitors for websites, APIs, SSL certificates, DNS, cron jobs and MCP servers — straight from your agent. **37 tools** over the [WatchFor](https://watchfor.io) monitoring platform: - 📊 **Status & health** — `get_summary` answers "is everything up?" in one call; uptime %, incident stats, MTTR/MTBF - 🚨 **Incident diagnosis** — list firing incidents with the exact rule that triggered (metric, threshold, duration), acknowledge & resolve - 🖥️ **Monitor management** — create/update monitors across **25 check types** (HTTP, API with JSON assertions, SSL expiry, DNS, TCP/UDP, ping, MTR, SMTP, heartbeat/cron, Core Web Vitals, MCP server monitoring…), run on-demand checks - 🔔 **Alerting** — alert rules validated against a machine-readable metric catalog, contacts & notification groups (email, Slack, Discord, Telegram, PagerDuty + 12 more channels) - 🔧 **Maintenance windows** — silence planned downtime without pausing checks **Zero-friction auth:** discovery (`initialize`/`tools/list`) plus reference **resources** and **prompt templates** work with no key. Tool calls use **OAuth 2.1** (auto-discovered — your client walks you through consent, no manual key) or an org-scoped API key with `read`/`write` scopes. Free plan available, no credit card. Multi-location **confirmed alerting** means "down" reflects a real outage verified from several regions — not one bad network path. Docs: [watchfor.io/docs/api/mcp](https://watchfor.io/docs/api/mcp) · Quickstart: [watchfor.io/agents.md](https://watchfor.io/agents.md)

  • Modern uptime and infrastructure monitoring for humans and AI agents. Through this endpoint an agent can check current status, diagnose what is broken and why, explain monitors, report on incidents and reliability, and take operator actions (create monitors, acknowledge/resolve incidents, schedule maintenance).

  • 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

    B9.4 🔑 human key JSONRPC 9 skills
  • b612
    HaneruTo
    ● healthy

    Japanese-market code review agent. Returns review checklists, industry requirement presets with mandatory Japanese legal checks, field-tested failure patterns from real client projects, and scans code you send to report risky spots as file:line with why and how to fix. Deterministic checks — no LLM inference, so calls are fast and cheap. Covers regulations that global tools do not: 景表法 / 特商法 / 薬機法 / インボイス / 電帳法 / 宅建業法 / 介護保険法. 【日本語】日本の実務(法令・商習慣)と実案件の失敗から作ったレビュー方法論のエージェント。レビュー観点・業種別の必須要件・実戦パターンを返し、送られたコードは実際に検査して行番号で指摘する。 Free to try: principles and rules need no key (20 req/min per IP). Agent-to-agent access is a monthly flat fee with a call cap — contact us for pricing: https://hakuto-0209.com/#contact 【料金】principles / rules は鍵なしでお試しいただけます。エージェント経由の本利用は月額固定+呼び出し上限制。金額はご相談ください:https://hakuto-0209.com/#contact

    B+9.8 🔑 human key JSONRPC 6 skills
  • Pre-delivery acceptance check for AI agents. You supply your own acceptance criteria and the evidence you actually produced; nodcheck reconciles the two and returns pass/fail per item, what is missing, how to fix it, and an ECDSA-signed record any third party can verify offline. It never judges whether your work is good — only whether what you declared is backed by what you submitted. Free, no signup, no API key.

    B+9.8 🔓 open 7 skills
  • A complete AI team with 191 expert roles and 1811 prompt templates across 24 professional domains. Structured for agent-to-agent orchestration.

    B+9.7 🔓 open 191 skills
  • Modern uptime and infrastructure monitoring for humans and AI agents. Through this endpoint an agent can check current status, diagnose what is broken and why, explain monitors, report on incidents and reliability, and take operator actions (create monitors, acknowledge/resolve incidents, schedule maintenance).

    C+8.7 🔑 human key JSONRPC 19 skills
  • A library of professional Agent Skills (PRDs, launches, postmortems, compliance, growth, careers & more). Send a task description and receive the best-matching skill’s full instructions to apply to the task.

    B+9.7 🔓 open 3 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

    B9.5 🔑 human key JSONRPC 9 skills
  • Cursor / Grok Bot skills + routines (PR babysit, postmortem, dependency upgrade, ship-small-feature). Free sample at /v1/sample-skill; $0.25 one-pager at /v1/one-pager; full pack via x402 ≥$1 USDC on Base. SFW engineering only.

    E1.7 🔓 open 3 skills