The state of agent tools
What our own probes see across 93,740 listings (x402 APIs, MCP servers and A2A agents): how many answer, which protocol versions they speak, how ready they are for an agent to call, and what they charge.
As of 2026-11-12 01:39 UTC Methodology JSON CSV Cite
Only 58.1% of indexed MCP servers complete a full handshake, and 29.6% of A2A agents answer JSON-RPC.
Each step keeps only the listings that passed the one before. Indexed is everything any source lists; the last step is our readiness grade A or B.
x402 APIs
-
Indexed24,506100.0% of indexed
-
Has an endpoint24,506100.0% of indexed · 100.0% of previous
-
Reachable10,06041.1% of indexed · 41.1% of previous
-
Valid 402 challenge seen7,65831.2% of indexed · 76.1% of previous
-
Readiness A or B5,22621.3% of indexed · 68.2% of previous
MCP servers
-
Indexed61,862100.0% of indexed
-
Has a remote endpoint61,23999.0% of indexed · 99.0% of previous
-
Reachable53,02185.7% of indexed · 86.6% of previous
-
Full handshake (initialize + tools/list)35,92158.1% of indexed · 67.7% of previous
-
Readiness A or B34,47855.7% of indexed · 96.0% of previous
A2A agents
-
Indexed7,372100.0% of indexed
-
Has an Agent Card URL7,27798.7% of indexed · 98.7% of previous
-
Card fetched6,30985.6% of indexed · 86.7% of previous
-
Answers JSON-RPC2,18529.6% of indexed · 34.6% of previous
-
Readiness A or B97013.2% of indexed · 44.4% of previous
41.8% of MCP servers are listed by more than one directory.
Which directories and registries list what we index, and how many of their listings answered our last probe. A listing found by several sources is counted once in the index.
x402 APIs
| Source | Listings | Reachable |
|---|---|---|
| x402scan | 15,265 | 24.6% |
| cdp-bazaar | 4,492 | 62.7% |
| own crawl of MCP listings | 3,802 | 86.9% |
| own x402 crawl | 2,186 | 88.3% |
| own crawl of A2A cards | 1,635 | 79.4% |
| paygent-discover | 1,467 | 55.3% |
| awesome-x402 | 842 | 65.9% |
| provider submissions | 775 | 68.1% |
MCP servers
| Source | Listings | Reachable |
|---|---|---|
| mcp-registry | 41,052 | 90.8% |
| agenstry | 19,539 | 79.3% |
| own /.well-known crawl | 17,660 | 93.5% |
| smithery | 13,412 | 82.6% |
| capkey | 9,484 | 96.6% |
| pulsemcp | 5,331 | 80.0% |
| chiark | 2,986 | 68.7% |
| apify | 802 | 90.1% |
A2A agents
| Source | Listings | Reachable |
|---|---|---|
| agenstry | 5,292 | 87.0% |
| own /.well-known crawl | 2,484 | 91.0% |
| a2a-registry | 1,039 | 92.2% |
| a2aregistry | 877 | 83.8% |
| provider submissions | 155 | 89.0% |
| chiark | 95 | 0.0% |
| awesome-a2a | 50 | 90.0% |
| manual | 11 | 72.7% |
29.3% of reachable A2A agents declare 1.x; 1.3% carry a signature that verifies.
The protocol revision each reachable listing reports: the MCP version returned by initialize, the A2A version declared in the Agent Card, and the x402 version seen in the 402 challenge.
MCP protocol version
| Revision | Share | Count | % |
|---|---|---|---|
| 2026-07-28 | 4,016 | 7.6% | |
| 2025-11-25 | 18,697 | 35.3% | |
| 2025-06-18 | 5,496 | 10.4% | |
| 2025-03-26 | 7,043 | 13.3% | |
| 2024-11-05 | 1,401 | 2.6% | |
| Non-standard | 20 | 0.0% | |
| Not reported | 16,348 | 30.8% |
A2A protocol version
| Declared | Share | Count | % |
|---|---|---|---|
| 1.x | 1,846 | 29.3% | |
| 0.3 | 2,272 | 36.0% | |
| 0.2 and older | 139 | 2.2% | |
| Other | 92 | 1.5% | |
| Not declared | 1,960 | 31.1% |
Agent Card signatures: 84 verify, 229 present but do not verify, 5,996 unsigned.
x402 version (resource probe)
| Version | Share | Count | % |
|---|---|---|---|
| v2 | 1,700 | 22.2% | |
| v1 | 244 | 3.2% | |
| Not recorded | 5,714 | 74.6% |
Reachable A2A agents lose the most readiness points on Live JSON-RPC and JWS signature.
Readiness grades whether an agent could call the listing today: protocol checks, declarations, uptime and freshness. It is shown on each listing and does not change search order, which uses the quality score.
| Protocol | Grade mix | A | B | C | D | F |
|---|---|---|---|---|---|---|
| x402 APIs | 1,250 5.1% | 3,976 16.2% | 3,277 13.4% | 10,211 41.7% | 5,792 23.6% |
|
| MCP servers | 782 1.3% | 33,696 54.5% | 2,381 3.8% | 15,974 25.8% | 9,029 14.6% |
|
| A2A agents | 52 0.7% | 918 12.5% | 1,577 21.4% | 2,498 33.9% | 2,327 31.6% |
Where reachable A2A agents lose points (average per agent)
| Live JSON-RPC | −13.9 | |
| JWS signature | −9.8 | |
| Verified identity | −6.3 | |
| Protocol version | −5.2 | |
| Security declaration | −4.4 | |
| Skill declaration | −3.1 | |
| Freshness + modern flags | −2.2 | |
| Valid Agent Card | −0.6 | |
| Uptime (30 days) | 0 |
Median response is 326 ms for MCP and 205 ms for x402.
30-day uptime counts only listings with at least five probes; probes a host refused (HTTP 429, or a 403 we were not let through) are left out. Latency is the last successful probe from our server.
x402 APIs
- Median latency
- 205 ms
- p95 latency
- 1,031 ms
30-day uptime (23,910 tracked)
| Uptime | Share | Count | % |
|---|---|---|---|
| 100% | 8,770 | 36.7% | |
| 95–99% | 209 | 0.9% | |
| 80–94% | 609 | 2.5% | |
| 50–79% | 570 | 2.4% | |
| <50% | 13,752 | 57.5% |
MCP servers
- Median latency
- 326 ms
- p95 latency
- 1,175 ms
30-day uptime (59,329 tracked)
| Uptime | Share | Count | % |
|---|---|---|---|
| 100% | 47,160 | 79.5% | |
| 95–99% | 2,544 | 4.3% | |
| 80–94% | 1,475 | 2.5% | |
| 50–79% | 726 | 1.2% | |
| <50% | 7,424 | 12.5% |
A2A agents
- Median latency
- 398 ms
- p95 latency
- 1,200 ms
30-day uptime (0 tracked)
Probe history is still building; uptime appears once listings have five probes.
The median x402 API's cheapest call costs $0.01; 67.2% charge a cent or less.
Prices are the cheapest call each reachable API advertises in its payment terms, in USD. They are list prices, not revenue. Payment evidence says how we know a listing takes payment at all.
Cheapest call per API (6,867 priced)
- p10
- $0.001
- p25
- $0.005
- p50
- $0.01
- p75
- $0.02
- p90
- $0.1
| Price band | Share | Count | % |
|---|---|---|---|
| ≤ $0.001 | 723 | 10.5% | |
| ≤ $0.005 | 1,106 | 16.1% | |
| ≤ $0.01 | 2,785 | 40.6% | |
| ≤ $0.05 | 1,284 | 18.7% | |
| ≤ $0.10 | 313 | 4.6% | |
| ≤ $1 | 494 | 7.2% | |
| > $1 | 162 | 2.4% |
Settlement network
| Network | Share | Count | % |
|---|---|---|---|
| Base | 6,937 | 90.6% | |
| Solana | 300 | 3.9% | |
| Not recorded | 197 | 2.6% | |
| Polygon | 61 | 0.8% | |
| Testnets | 34 | 0.4% | |
| Arc | 11 | 0.1% | |
| Stripe | 9 | 0.1% | |
| Other | 109 | 1.4% |
Payment evidence
| Strongest evidence | Share | Count | % |
|---|---|---|---|
| Live 402 challenge | 7,658 | 76.1% | |
| x402 manifest | 2,062 | 20.5% | |
| CDP Bazaar feed | 16 | 0.2% | |
| Catalog listing only | 323 | 3.2% | |
| No evidence | 1 | 0.0% |
72.8% of reachable MCP servers do not say how to authenticate.
How a caller is expected to authenticate, as declared by the listing. MCP servers that accept x402 are counted as pay-per-call even when they also take a key.
MCP servers
| Declared access | Share | Count | % |
|---|---|---|---|
| Open (declared) | 185 | 0.3% | |
| API key or token | 14,047 | 26.5% | |
| OAuth | 137 | 0.3% | |
| x402 pay-per-call | 30 | 0.1% | |
| Not declared | 38,622 | 72.8% |
A2A agents (Agent Card security)
| Declared scheme | Share | Count | % |
|---|---|---|---|
| mTLS | 75 | 1.2% | |
| OAuth2 + PKCE | 120 | 1.9% | |
| Other declared scheme | 1,055 | 16.7% | |
| Declared public | 347 | 5.5% | |
| Not declared | 4,712 | 74.7% |
36 MCP servers are flagged by our static safety scan.
A static scan of MCP tool names and descriptions for prompt-injection and data-exfiltration patterns. Flagged servers stay listed with a warning; a clean result is not a security review.
Verdicts (61,239 scanned)
- clean
- 61,203
- suspicious
- 35
- malicious
- 1
Rules that fired
- tool poisoning coercion
- 19
- prompt injection
- 7
- data exfil coercion
- 6
- bare ip url
- 2
- install lure
- 1
- pipe to shell
- 1
'payment' is 8.7% of reachable A2A agents but 1.7% of MCP servers.
Share of reachable listings whose name or description mentions each topic word. Darker cells mean a larger share; compare across a row to see where one protocol has supply and another has little.
| Topic | x402 APIs | MCP servers | A2A agents |
|---|---|---|---|
| ai | 22.3% | 24.3% | 33.3% |
| search | 4.9% | 11.7% | 7.5% |
| data | 12.4% | 9.6% | 13.5% |
| github | 3.3% | 4.4% | 1.1% |
| payment | 8.5% | 1.7% | 8.7% |
| code | 3.6% | 3.2% | 3.3% |
| web | 4.9% | 2.4% | 5.3% |
| 2.4% | 2.6% | 2.7% | |
| video | 0.9% | 2.6% | 1.3% |
| llm | 2.9% | 1.5% | 4.7% |
| crypto | 4.8% | 1.2% | 3.9% |
| wallet | 5.1% | 0.9% | 5.0% |
| image | 1.7% | 1.9% | 1.1% |
| 1.2% | 1.6% | 1.2% | |
| analytics | 0.9% | 1.6% | 1.1% |
| document | 1.2% | 1.4% | 2.0% |
| security | 2.4% | 1.1% | 2.7% |
| social | 1.2% | 1.4% | 1.6% |
| news | 1.4% | 1.1% | 1.4% |
| knowledge | 0.4% | 1.1% | 2.2% |
Largest gaps
- payment: 8.7% of A2A agents, 1.7% of MCP servers
- wallet: 5.1% of x402 APIs, 0.9% of MCP servers
4,669 listings were first seen in the last 7 days.
Listings by the day any source first showed them to us, over the last 90 days. Our crawlers started at different dates, so early spikes partly reflect when a source was added.
x402 APIs
- New in 7 days
- 814
- Went down in 7 days
- 673
MCP servers
- New in 7 days
- 3,600
- Went down in 7 days
- 540
A2A agents
- New in 7 days
- 255
- Went down in 7 days
- 87
GitHub data collected so far for 16,071 of 18,491 reachable MCP servers that link a repository; figures fill in over the coming days.
Signals from outside our probes: GitHub stars of the source repository, npm downloads, and where the site ranks in the Tranco top-1M list. They describe attention, not quality, and do not affect search order.
GitHub stars, reachable MCP servers (16,071 with a repo)
| Stars | Share | Count | % |
|---|---|---|---|
| 0 | 11,165 | 69.5% | |
| 1–9 | 4,071 | 25.3% | |
| 10–99 | 543 | 3.4% | |
| 100–999 | 166 | 1.0% | |
| 1k–9.9k | 104 | 0.6% | |
| 10k+ | 22 | 0.1% |
Most-starred repositories
| com.browser-use/browser-use browser-use/browser-use | ★ 120,690 |
| io.github.IncorporatedPartners/labelhead-artist-momentum paperclipai/paperclip | ★ 113,080 |
| World Monitor koala73/worldmonitor | ★ 90,482 |
| com.ainetcafe/ai-netcafe ChatGPTNextWeb/NextChat | ★ 88,945 |
| Netdata netdata/netdata | ★ 81,367 |
| Front-End Checklist thedaviddias/Front-End-Checklist | ★ 74,706 |
| Context7 upstash/context7 | ★ 64,598 |
| io.github.tldraw/tldraw tldraw/tldraw | ★ 51,462 |
| Reactive Resume reactive-resume/reactive-resume | ★ 45,629 |
| PostHog MCP Server PostHog/posthog | ★ 40,740 |
Site rank in Tranco top 1M (list of 2026-11-10)
| Protocol | Top 10k | 10k–100k | 100k–1M | Ranked |
|---|---|---|---|---|
| x402 APIs | 54 | 91 | 112 | 2.6% |
| MCP servers | 322 | 588 | 1,638 | 4.8% |
| A2A agents | 37 | 123 | 284 | 7.0% |
Ranked by the domain an agent calls (MCP endpoint, x402 URL, A2A interface). Domains behind more than 20 of our listings, hosting platforms and content sites such as youtube.com or github.com are left out.
Most-downloaded npm packages (30 days)
| firecrawl-mcp | 630,896 |
| @launchdarkly/mcp-server | 273,391 |
| tavily-mcp | 85,055 |
| @brightdata/mcp | 73,483 |
| @postman/postman-mcp-server | 46,496 |
People searched 228 times over the last 30 days.
What visitors, API clients and agents type into our search, counted in aggregate. A term is shown only after at least 5 searches; no IP, account or session is stored with it.
Most searched
| Term | Searches | No results |
|---|---|---|
| council of ai | 32 | 0.0% |
| equity planning | 6 | 0.0% |
| hello world agent | 6 | 0.0% |
| research assistant | 6 | 0.0% |
| code analysis | 5 | 0.0% |
| web fetch | 5 | 0.0% |
Searched, but mostly nothing found
Demand we cannot serve yet: half or more of these searches returned no listing.
None above the threshold yet.
Methodology
Every number is a count over the agent-tools.cloud index at the time shown above, recomputed once a day after our probes run. It is not a census of the whole ecosystem: listings no public source has shown us are missing, and private deployments are invisible to us.
Funnel. Reachable means the last probe got a valid answer. Verified means a valid 402 challenge for x402, a full MCP initialize plus tools/list, or an A2A JSON-RPC reply on the declared interface.
Sources. Duplicates across sources are merged by endpoint; each source a listing came from is kept.
Protocols. Versions are what the listing reports or declares; we do not infer them from behaviour. A2A signatures are verified against the key the card points to on its own site.
Readiness. Criteria and weights are on the About page. Points earned from live probes decay after 30 days without a fresh one.
Reliability. One probe per listing per day from one server; latency includes our network path and is not a provider SLA.
x402. Price per API is the lowest amount its payment terms ask for one call, in USD (USDC read at par). The x402 version is counted only where our resource probe recorded it. Settlement network falls back to the chains a listing declares when the challenge does not name one.
Access. Declared by the listing or its card; not tested with credentials.
Safety. Pattern rules over tool metadata only; no code is executed.
Topics. Whole-word match of a fixed word list on name and description. Listings whose text names more than five topics (gateway catalogues) are left out: 1,202 x402 APIs, 170 MCP servers, 54 A2A agents.
Growth. Earliest first-seen date across a listing's sources.
Adoption. GitHub stars and last push from the GitHub REST API for the repository a listing links as its source; npm downloads over 30 days from the npm downloads API for packages published on npm; site rank from the Tranco research list (registrable domain). Several listings can share one repository. These are attention signals, not measures of quality, and are not used for ranking.
Cite and download
Free to reuse under CC BY 4.0 with a link to this page. The full snapshot is at /stats.json; headline numbers for every day are at /stats/daily.csv.
agent-tools.cloud. "The state of agent tools." 2026-11-12. https://agent-tools.cloud/stats
@misc{agenttools_stats_20261112,
author = {agent-tools.cloud},
title = {The state of agent tools},
year = {2026},
note = {Snapshot 2026-11-12 01:39 UTC},
url = {https://agent-tools.cloud/stats}
}