{"sources":[{"id":"mcp-registry-official","name":"Official MCP Registry","operator":"Model Context Protocol project (Linux Foundation / Agentic AI Foundation)","kind":"registry","protocols":["mcp"],"homepage":"https://registry.modelcontextprotocol.io/","access_method":"api","list_url":"https://registry.modelcontextprotocol.io/v0/servers?limit=100&version=latest","verified":1,"approx_records":28110,"terms":"Public API, no stated bulk restriction. Server data is publisher-submitted; be polite.","notes":"Counted in-session with version=latest: 28,110 servers, 16,097 with remotes (15,526 streamable-http + 1,070 sse remote entries), 13,046 with packages. Largest single open source of probe-able MCP URLs.\n","meta":null},{"id":"glama-mcp","name":"Glama MCP directory","operator":"Glama (glama.ai)","kind":"directory","protocols":["mcp"],"homepage":"https://glama.ai/mcp/servers","access_method":"api","list_url":"https://glama.ai/api/mcp/v1/servers?first=100","verified":0,"approx_records":83047,"terms":"API key required (401 without). API Data License: visible attribution to Glama on every page that displays the data and a link to each record's Glama listing (`url` field); commercial exemptions on request. https://glama.ai/policies/terms-of-service\n","notes":"Unauthenticated GET returned HTTP 401 in-session (auth requirement confirmed, shape not). Listing page states 83,047 servers, 35,383 \"remote-capable\". Bearer token in Authorization header.\n","meta":null},{"id":"mcp-so","name":"mcp.so","operator":"mcp.so (idoubi / ChatMCP)","kind":"directory","protocols":["mcp"],"homepage":"https://mcp.so/","access_method":"html-scrape","list_url":"https://mcp.so/sitemap.xml?section=servers&page=1","verified":1,"approx_records":18643,"terms":"No published API terms; standard website scraping — respect robots.txt and rate.","notes":"Sitemap also has section=agents (23) and section=clients. 18x1000 + 643 server URLs.","meta":null},{"id":"pulsemcp","name":"PulseMCP","operator":"PulseMCP","kind":"directory","protocols":["mcp"],"homepage":"https://www.pulsemcp.com/servers","access_method":"api","list_url":"https://api.pulsemcp.com/v0.1/servers?limit=100","verified":0,"approx_records":21961,"terms":"API key required; docs at https://www.pulsemcp.com/api/docs/v0.1. Aggregates upstream registry data (read-only sub-registry).","notes":"v0beta (/v0beta/servers) is being sunset — returned HTTP 410 API_SUNSET in-session (100% failure from Sept 2026). /v0.1/servers returned 401 \"Invalid or missing API key\" (header X-API-Key) — endpoint exists, key needed. Directory page shows 21,961 servers.\n","meta":null},{"id":"smithery","name":"Smithery Registry","operator":"Smithery AI","kind":"registry","protocols":["mcp"],"homepage":"https://smithery.ai/","access_method":"api","list_url":"https://registry.smithery.ai/servers?pageSize=100&page=1","verified":1,"approx_records":11779,"terms":"Public read without key in-session; Smithery ToS apply. API key (Bearer) documented for higher limits.","notes":"IMPORTANT: anonymous listing is capped at 500 rows per query (totalPages=5 at pageSize=100, page 6 returns []), although totalCount=11,779. To harvest all, slice with q= filters (q=is:deployed -> 8,536; also is:verified, owner:, category, free-text) or obtain an API key.\n","meta":null},{"id":"docker-mcp-catalog","name":"Docker MCP Catalog","operator":"Docker, Inc.","kind":"registry","protocols":["mcp"],"homepage":"https://hub.docker.com/mcp","access_method":"json-file","list_url":"https://desktop.docker.com/mcp/catalog/v2/catalog.yaml","verified":1,"approx_records":267,"terms":"Public catalog file; Apache-2.0 repo (docker/mcp-registry).","notes":"Counted in-session: 234 server, 30 remote, 3 poci.","meta":null},{"id":"cline-mcp-marketplace","name":"Cline MCP Marketplace","operator":"Cline Bot Inc.","kind":"directory","protocols":["mcp"],"homepage":"https://github.com/cline/mcp-marketplace","access_method":"api","list_url":"https://api.cline.bot/v1/mcp/marketplace","verified":1,"approx_records":199,"terms":"Public endpoint, no stated terms.","notes":"","meta":null},{"id":"github-topic-mcp-server","name":"GitHub repositories tagged mcp-server","operator":"GitHub","kind":"dataset","protocols":["mcp"],"homepage":"https://github.com/topics/mcp-server","access_method":"api","list_url":"https://api.github.com/search/repositories?q=topic:mcp-server&per_page=100&page=1","verified":1,"approx_records":27813,"terms":"GitHub ToS; search API 10 req/min unauthenticated, 30/min with token.","notes":"Baseline for 'how many MCP servers exist in code' vs how many are hosted.","meta":null},{"id":"npm-keyword-mcp","name":"npm packages with keyword mcp / mcp-server","operator":"npm, Inc. (GitHub)","kind":"dataset","protocols":["mcp"],"homepage":"https://www.npmjs.com/search?q=keywords:mcp","access_method":"api","list_url":"https://registry.npmjs.org/-/v1/search?text=keywords:mcp-server&size=250&from=0","verified":1,"approx_records":8228,"terms":"npm public registry API; bulk use allowed with reasonable rate.","notes":"Search API pagination caps around 10,000 results; slice by additional text terms if needed.","meta":null},{"id":"a2a-registry-org","name":"A2A Registry (a2aregistry.org)","operator":"Prassanna Ravishankar / community (github.com/prassanna-ravishankar/a2a-registry)","kind":"registry","protocols":["a2a"],"homepage":"https://www.a2aregistry.org/","access_method":"api","list_url":"https://a2aregistry.org/api/agents?limit=50&offset=0","verified":1,"approx_records":376,"terms":"MIT-licensed project; read API needs no key. /api/stats for totals.","notes":"Older docs mention a static registry.json — it no longer exists (www.a2aregistry.org/registry.json serves the SPA, raw GitHub path 404). Also exposes an MCP server at https://a2aregistry.org/mcp/. Stats in-session: 376 agents, 363 healthy.\n","meta":null},{"id":"agntcy-agent-directory","name":"AGNTCY Agent Directory Service (Outshift hosted)","operator":"AGNTCY (Linux Foundation) / Cisco Outshift","kind":"registry","protocols":["a2a","mcp","other"],"homepage":"https://dir.agntcy.org/latest/dir/dir-overview/","access_method":"rpc","list_url":"https://ads.outshift.io/","verified":0,"approx_records":null,"terms":"Apache-2.0 software; hosted instance requires an Outshift account (OIDC).","notes":"In-session: dir.agntcy.org is docs only; https://ads.outshift.io/ returns HTTP 401 JSON; prod.api.ads.outshift.io demands a client TLS certificate; agent-directory.outshift.com does not resolve. Treat as NOT publicly harvestable without registration.\n","meta":null},{"id":"nanda-index","name":"Project NANDA Index (MIT)","operator":"Project NANDA, MIT Media Lab (github.com/projnanda)","kind":"registry","protocols":["a2a","mcp","other"],"homepage":"https://index.projectnanda.org/","access_method":"api","list_url":"https://index.projectnanda.org/api/agents?limit=100&page=1","verified":1,"approx_records":400,"terms":"Undocumented public JSON used by the SPA (api.projectnanda.org does not resolve); no stated terms.","notes":"Many entries are hackathon/test agents; `status` and `lastSeen` fields help triage. Verified 2026-09-07: pagination is broken server-side — pages 1-3 return 350 distinct records, every page >= 4 returns the same 50 rows while `total` claims 13,606 and hasNext stays true until page 69. Harvest stops on repeated page; effective public listing ≈ 400.","meta":null},{"id":"agent-tools-cloud","name":"agent-tools.cloud","operator":"agent-tools.cloud (independent)","kind":"directory","protocols":["mcp","a2a","openapi","other"],"homepage":"https://agent-tools.cloud/","access_method":"api","list_url":"https://agent-tools.cloud/api/v1/export?limit=1000","verified":1,"approx_records":22755,"terms":"robots.txt: 'Crawlers and AI agents are welcome to index and use the public catalogue and JSON API.'","notes":"Aggregator (sources[] names upstream e.g. paygent-discover, x402 bazaar) — dedupe against x402-bazaar. Harvested via /api/v1/export (keyset, kind=x402|mcp|a2a, limit 1000); /search caps offset at 1000. Records carry sources[] = upstream registries the entry was mirrored from.","meta":null},{"id":"global-chat-directory","name":"Global Chat agent directory","operator":"Global Chat (global-chat.io)","kind":"directory","protocols":["a2a","agents-txt","other"],"homepage":"https://global-chat.io/directory","access_method":"api","list_url":"https://global-chat.io/api/agents","verified":1,"approx_records":25,"terms":"No stated API terms; robots.txt explicitly allows AI crawlers.","notes":"Tiny curated list of ecosystems, not agents. Low value for endpoint harvest.","meta":null},{"id":"agenstry","name":"Agenstry","operator":"Agenstry (independent, NL)","kind":"directory","protocols":["a2a","mcp","openapi","other"],"homepage":"https://agenstry.com/","access_method":"json-file","list_url":"https://agenstry.com/api/feed/all.jsonl.gz","verified":1,"approx_records":182671,"terms":"Federation feed CC-BY-4.0 with attribution (per /docs/api); robots.txt opts IN to AI crawling/training.","notes":"In-session feed: 182,671 rows = mcp 158,022, skill 18,124, paid_api 4,160, a2a_agent 2,243, workflow 95, a2a 27. Site claims 6,430 A2A agents + 158,022 MCP servers across 8 registries. Direct competitor to agentprobe (probes, conformance-scores, drift feeds /feed/drift.jsonl).\n","meta":null},{"id":"aiagentslist","name":"AI Agents List (aiagentslist.com)","operator":"aiagentslist.com","kind":"directory","protocols":["other","mcp"],"homepage":"https://aiagentslist.com/","access_method":"html-scrape","list_url":"https://aiagentslist.com/api/sitemap-agents.xml","verified":1,"approx_records":1245,"terms":"Website ToS; no API.","notes":"Negative result for the market analysis: human-facing catalogue, zero probe-able endpoints.","meta":null},{"id":"aiagentsdirectory","name":"AI Agents Directory (aiagentsdirectory.com)","operator":"aiagentsdirectory.com","kind":"directory","protocols":["other"],"homepage":"https://aiagentsdirectory.com/","access_method":"html-scrape","list_url":"https://aiagentsdirectory.com/sitemap.xml","verified":1,"approx_records":5982,"terms":"Website ToS; no API.","notes":"Human-facing catalogue; use only for vendor-domain harvesting to feed the well-known crawl.","meta":null},{"id":"huggingface-hub-mcp","name":"Hugging Face Hub (Spaces/Models tagged MCP or agent)","operator":"Hugging Face","kind":"registry","protocols":["mcp","llm-api"],"homepage":"https://huggingface.co/spaces?filter=mcp-server","access_method":"api","list_url":"https://huggingface.co/api/spaces?filter=mcp-server&limit=1000","verified":1,"approx_records":10192,"terms":"Public Hub API; HF ToS. Anonymous OK; token raises limits.","notes":"Second-largest source of live MCP HTTP endpoints after the official registry; sleeping Spaces return 5xx until woken.","meta":null},{"id":"openrouter-models","name":"OpenRouter models API","operator":"OpenRouter, Inc.","kind":"model-api","protocols":["llm-api"],"homepage":"https://openrouter.ai/models","access_method":"api","list_url":"https://openrouter.ai/api/v1/models","verified":1,"approx_records":430,"terms":"Public GET, no key; OpenRouter ToS.","notes":"","meta":null},{"id":"models-dev","name":"models.dev","operator":"Anomaly (SST / OpenCode)","kind":"model-api","protocols":["llm-api"],"homepage":"https://models.dev/","access_method":"json-file","list_url":"https://models.dev/api.json","verified":1,"approx_records":7560,"terms":"Open data, MIT (github.com/sst/models.dev).","notes":"In-session: 213 providers, 7,560 models. Provider base URLs (213) are the probe targets.","meta":null},{"id":"erc-8004-identity-registry","name":"ERC-8004 Trustless Agents — Identity Registry (on-chain)","operator":"Ethereum community (EIP-8004 authors; contracts by the 8004 team)","kind":"onchain","protocols":["erc8004","a2a","mcp"],"homepage":"https://eips.ethereum.org/EIPS/eip-8004","access_method":"rpc","list_url":"https://mainnet.base.org","verified":0,"approx_records":39000,"terms":"Public chain data; RPC provider ToS (public endpoints rate-limited).","notes":"In-session eth_call totalSupply() reverted on both Ethereum and Base (registry is not ERC721Enumerable) — count via events or an indexer. ~39k registrations across 15 chains in the first 90 days (Quicknode, Apr 2026); \"40K+ agents on Base in two weeks\" (press). Indexers: agent0 subgraphs (see next entry); Quicknode explorer https://erc-8004.quicknode.com (REST /v1/agents, x402-paid $0.001 USDC/req, 60 req/min); agentscan.info (web UI, no public API found).\n","meta":null},{"id":"erc-8004-agent0-subgraph","name":"Agent0 ERC-8004 subgraphs (The Graph)","operator":"Agent0 Lab (github.com/agent0lab/subgraph), hosted on The Graph Network","kind":"onchain","protocols":["erc8004"],"homepage":"https://thegraph.com/docs/en/subgraphs/existing-subgraphs/agent0/","access_method":"api","list_url":"https://gateway.thegraph.com/api/<API_KEY>/subgraphs/id/43s9hQRurMGjuYnC1r2ZwS6xSQktbFyXMPMqGKUFJojb","verified":0,"approx_records":39000,"terms":"Free Subgraph Studio API key required (100k queries/month free tier); MIT subgraph code.","notes":"Cheapest way to bulk-list ERC-8004 agents with already-parsed endpoints. Not fetched in-session (needs key).","meta":null},{"id":"agentverse-fetch-ai","name":"Agentverse (Fetch.ai Almanac)","operator":"Fetch.ai","kind":"registry","protocols":["other"],"homepage":"https://agentverse.ai/","access_method":"api","list_url":"https://agentverse.ai/v1/search/agents","verified":1,"approx_records":10000,"terms":"Undocumented public search used by the web UI; Fetch.ai ToS.","notes":"`total` is capped at 10,000 in the search index; real Almanac count is larger (Fetch.ai claims 1M+ registrations).","meta":null},{"id":"virtuals-protocol","name":"Virtuals Protocol agents","operator":"Virtuals Protocol","kind":"onchain","protocols":["other"],"homepage":"https://app.virtuals.io/","access_method":"api","list_url":"https://api.virtuals.io/api/virtuals?pagination[page]=1&pagination[pageSize]=100","verified":1,"approx_records":83112,"terms":"Undocumented public API; Virtuals ToS.","notes":"83,112 records in-session (filters[status]=AVAILABLE narrows to launched tokens).","meta":null},{"id":"x402-bazaar","name":"x402 Bazaar (Coinbase CDP discovery)","operator":"Coinbase Developer Platform","kind":"directory","protocols":["openapi","other"],"homepage":"https://docs.cdp.coinbase.com/x402/bazaar","access_method":"api","list_url":"https://api.cdp.coinbase.com/platform/v2/x402/discovery/resources?limit=100&offset=0","verified":1,"approx_records":15578,"terms":"Public, no CDP key needed ('Bazaar discovery is public'); CDP ToS.","notes":"Largest source of probe-able x402 HTTP endpoints; agent-tools.cloud re-indexes it.","meta":null},{"id":"moltbook","name":"Moltbook (social network for AI agents)","operator":"Moltbook","kind":"directory","protocols":["other"],"homepage":"https://www.moltbook.com/","access_method":"api","list_url":"https://www.moltbook.com/api/v1/stats","verified":1,"approx_records":2911186,"terms":"Bearer API key for write; read endpoints above respond anonymously; no bulk export.","notes":"Headline count only; not an endpoint source.","meta":null},{"id":"microsoft-entra-agent-registry","name":"Microsoft Entra Agent ID / Agent 365 registry","operator":"Microsoft","kind":"registry","protocols":["a2a","mcp","other"],"homepage":"https://learn.microsoft.com/en-us/entra/agent-id/registry-agent-to-agent-protocol","access_method":null,"list_url":null,"verified":0,"approx_records":null,"terms":"Not public. Microsoft Graph API terms; requires Entra tenant + admin consent.","notes":"Negative result: no harvestable public surface.","meta":null},{"id":"cloudflare-web-bot-auth-registry","name":"Cloudflare signature-agent registry (Web Bot Auth) + Radar bots directory","operator":"Cloudflare","kind":"registry","protocols":["other"],"homepage":"https://radar.cloudflare.com/bots/directory","access_method":"json-file","list_url":"https://assets.radar.cloudflare.com/bots/signature-agent-registry.txt","verified":0,"approx_records":null,"terms":"Registry file published for operators to import (blog.cloudflare.com/agent-registry/); Radar API under Cloudflare API ToS with free token.","notes":"The .txt URL returned a Cloudflare JS challenge (HTTP 403) to both curl and WebFetch in-session; fetch with a browser-like client or from the cloudflare/web-bot-auth GitHub repo examples.\n","meta":null},{"id":"wellknown-a2a-agent-card","name":"A2A Agent Card well-known path","operator":"A2A Project (Linux Foundation)","kind":"wellknown-convention","protocols":["a2a"],"homepage":"https://a2a-protocol.org/latest/specification/","access_method":"wellknown-fetch","list_url":"https://{domain}/.well-known/agent-card.json","verified":1,"approx_records":null,"terms":"Apache-2.0 spec.","notes":"Sample record fetched in-session from global-chat.io. Domain seed lists: all registries above + agents.txt A2A: lines.","meta":null},{"id":"wellknown-ard-catalog","name":"Agentic Resource Discovery (ARD) catalog well-known path","operator":"ARD project (Google-led; Microsoft, GitHub, Hugging Face, Cisco, Salesforce et al.)","kind":"wellknown-convention","protocols":["ard","mcp","a2a","openapi"],"homepage":"https://agenticresourcediscovery.org/spec/","access_method":"wellknown-fetch","list_url":"https://{domain}/.well-known/ard.json","verified":1,"approx_records":null,"terms":"Apache-2.0 spec.","notes":"agent-tools.cloud/.well-known/ai-catalog.json returned 404 in-session — adoption still thin; find registries via entries typed application/ai-registry+json.","meta":null},{"id":"wellknown-mcp-server-card","name":"MCP server card well-known path (SEP-2127 / SEP-1960 / IETF draft)","operator":"Model Context Protocol project","kind":"wellknown-convention","protocols":["mcp"],"homepage":"https://github.com/modelcontextprotocol/modelcontextprotocol/pull/2127","access_method":"wellknown-fetch","list_url":"https://{domain}/.well-known/mcp/server-cards.json","verified":1,"approx_records":null,"terms":"MIT spec repo.","notes":"Treat any hit as signal; expect very low hit rate until a SEP merges.","meta":null},{"id":"wellknown-llms-txt","name":"llms.txt","operator":"Answer.AI (Jeremy Howard) / community","kind":"wellknown-convention","protocols":["llms-txt"],"homepage":"https://llmstxt.org/","access_method":"wellknown-fetch","list_url":"https://{domain}/llms.txt","verified":1,"approx_records":null,"terms":"CC-BY spec; site content under each site's own terms.","notes":"Adoption proxy, not an endpoint source. directory.llmstxt.cloud lists adopters (HTML).","meta":null},{"id":"wellknown-agents-txt","name":"agents.txt / agents.json","operator":"agents-txt project (github.com/agents-txt/agents-txt)","kind":"wellknown-convention","protocols":["agents-txt","mcp","a2a"],"homepage":"https://agents-txt.com/","access_method":"wellknown-fetch","list_url":"https://{domain}/agents.txt","verified":1,"approx_records":null,"terms":"CC0 1.0 spec text.","notes":"Also try /.well-known/agents (JSON) mentioned in the kaylacar variant; IANA registration pending.","meta":null},{"id":"wellknown-http-message-signatures-directory","name":"Web Bot Auth key directory (signature-agent card)","operator":"IETF drafts (Cloudflare authors)","kind":"wellknown-convention","protocols":["other"],"homepage":"https://www.ietf.org/archive/id/draft-meunier-webbotauth-registry-01.html","access_method":"wellknown-fetch","list_url":"https://{domain}/.well-known/http-message-signatures-directory","verified":0,"approx_records":null,"terms":"IETF draft; each operator's own terms.","notes":"Not fetched in-session.","meta":null},{"id":"wellknown-nanda-agent-facts","name":"NANDA AgentFacts well-known path","operator":"Project NANDA (MIT)","kind":"wellknown-convention","protocols":["other","a2a","mcp"],"homepage":"https://projnanda.github.io/projnanda/","access_method":"wellknown-fetch","list_url":"https://{domain}/.well-known/agent-facts.json","verified":0,"approx_records":null,"terms":"Open spec (MIT project); unverified.","notes":"Low adoption outside the NANDA index; include for completeness.","meta":null},{"id":"commoncrawl-llms-txt","name":"Common Crawl llms.txt corpus (CC-MAIN-2026-30)","operator":"Common Crawl Foundation","kind":"dataset","protocols":["llms-txt"],"homepage":"https://huggingface.co/datasets/commoncrawl/llms.txt","access_method":"parquet","list_url":"https://huggingface.co/datasets/commoncrawl/llms.txt/resolve/main","verified":1,"approx_records":584107,"terms":"Common Crawl terms of use; dataset is public on Hugging Face.","notes":"Companion to the CC llms.txt report (584,107 files from the July 2026 crawl; two thirds plugin-generated, half spec-conformant). We add: are they still there, do they still parse, and do these hosts also publish agent cards / ard.json / agents.txt.","meta":null},{"id":"agentprobe-self","name":"agentprobe.org (self)","operator":"Venture Inventory GmbH","kind":"wellknown-convention","protocols":["a2a","ard","llms-txt"],"homepage":"https://agentprobe.org/","access_method":"json-file","list_url":"https://agentprobe.org/.well-known/ard.json","verified":0,"approx_records":3,"terms":"ours","notes":"Dogfood entry. If this row is not 'ok' the site is misconfigured.","meta":null}]}