{
  "markdown": "# 402 Index\n\nProtocol-agnostic directory of paid APIs for AI agents.\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n[![npm: @402index/mcp-server](https://img.shields.io/npm/v/@402index/mcp-server.svg)](https://www.npmjs.com/package/@402index/mcp-server)\n[![Live: 402index.io](https://img.shields.io/badge/live-402index.io-green.svg)](https://402index.io)\n\n**What it is:** a registry of HTTP 402–priced APIs across every major machine-payment protocol — [L402](https://github.com/lightninglabs/L402) (Lightning), [x402](https://github.com/coinbase/x402) (stablecoins), and [MPP](https://mpp.dev/) (Stripe/Tempo) — surfaced to AI agents via HTTP, RSS, Nostr, and MCP.\n\n**Who it's for:** AI-agent developers looking for services to call, and API providers looking to get discovered by agents. The directory is community-owned: open source, MIT-licensed, no captive protocol.\n\n**Where it lives:** [402index.io](https://402index.io) (production) · [@402index](https://twitter.com/402index) (digest) · [GitHub Issues](https://github.com/ryanthegentry/402index/issues) (roadmap).\n\n---\n\n## Quickstart\n\n### For agents (MCP)\n\nOne command adds 402 Index discovery + payment to any MCP host (Claude Desktop, Cursor, Cline, Windsurf):\n\n```bash\nnpm install -g @402index/mcp-server\n```\n\nThen register it with your MCP host — see [`mcp-server/README.md`](mcp-server/README.md) for per-client instructions.\n\n### For agents (HTTP)\n\n```bash\n# Semantic search\ncurl \"https://402index.io/api/v1/services?q=weather&verified=true&limit=10\"\n\n# Filter by protocol\ncurl \"https://402index.io/api/v1/services?protocol=L402&health=healthy\"\n```\n\nFull API reference at [402index.io/api-docs](https://402index.io/api-docs).\n\n### For API providers\n\nRegister your endpoint so agents can find it:\n\n- **Self-serve:** `POST https://402index.io/api/v1/register` with your endpoint URL. The probe validates the 402 challenge, detects L402 and/or x402 support, and lists automatically.\n- **Pull request:** add a YAML file under `listings/` — see [CONTRIBUTING.md](CONTRIBUTING.md).\n- **Already on Bazaar, Satring, or l402apps?** You're already indexed — no action needed.\n\n### For contributors\n\n```bash\ngit clone https://github.com/ryanthegentry/402index.git\ncd 402index\nnpm install\nnpm test                # Run tests (node:test)\nnpm run dev             # Start dev server (nodemon)\nnpm run poll            # Pull from Bazaar + Satring manually\nnpm run healthcheck     # Run health checks manually\n```\n\n---\n\n## What's in the registry\n\nTens of thousands of endpoints across hundreds of verified providers, aggregated from the [x402 Bazaar](https://x402.org/bazaar), [Satring](https://satring.com), [l402apps.com](https://www.l402apps.com), MPP's OpenAPI directory, and direct self-submissions — no gatekeeping by protocol.\n\nLive numbers at [402index.io/api/v1/health](https://402index.io/api/v1/health).\n\n---\n\n## Architecture\n\n- **Node.js + Express**, SQLite via `better-sqlite3`, static HTML via template literals (no framework).\n- **Aggregators** (`src/aggregators/`) poll Bazaar / Satring / l402apps on a schedule and upsert normalized listings.\n- **Health checker** (`src/health/checker.js`) probes listings on a configurable interval, defaulting to 60 minutes (`HEALTH_CHECK_INTERVAL_MS`), with SSRF-safe fetch, records status, emits events.\n- **Semantic search** via [`sqlite-vec`](https://github.com/asg017/sqlite-vec) + hybrid LIKE/vector re-rank, with circuit-breaker fallback to LIKE-only when the embeddings service is down.\n- **Distribution:** HTTP API, MCP server, RSS, Nostr (NIP-99), webhooks (HMAC-SHA256).\n- **Verifier** handles BOLT11 invoices (L402) and ERC-20 stablecoin challenges (x402), including x402-over-Lightning.\n\nDeeper notes in [`CLAUDE.md`](CLAUDE.md) and [`docs/`](docs/).\n\n---\n\n## Project layout\n\n```\n402index/\n├── src/               # Application code (routes, aggregators, services, views)\n├── mcp-server/        # @402index/mcp-server (published to npm)\n├── listings/          # YAML listings for manually curated / exclusive providers\n├── test/              # Tests (node:test)\n├── scripts/           # Ops scripts (poll, healthcheck, backfills)\n├── docs/              # Specs, API docs, protocol notes\n└── .github/workflows/ # CI\n```\n\n---\n\n## Contributing\n\nPRs welcome for listings, code, and docs. See [CONTRIBUTING.md](CONTRIBUTING.md) for the fork-branch-PR flow and [CLAUDE.md](CLAUDE.md) for code style and the bug-fix protocol (failing-test-first).\n\nRoadmap is the [open issues list](https://github.com/ryanthegentry/402index/issues). Good starter tasks have the `good-first-issue` label.\n\n## Security\n\nPlease do **not** open a public issue for suspected vulnerabilities. See [SECURITY.md](SECURITY.md) for responsible-disclosure contacts and the threat model summary.\n\n## License\n\n[MIT](LICENSE). Use it, fork it, ship it.\n\n---\n\nBuilt by [@ryanthegentry](https://github.com/ryanthegentry) and the community. Questions → [hello@402index.io](mailto:hello@402index.io) or [GitHub Discussions](https://github.com/ryanthegentry/402index/discussions).\n",
  "bytes": 5082,
  "sha": "7c0ba767af7eb9f2a635569336da47a5db2cef03e67e29d5bae471f8820a65e8",
  "repo_slug": "ryanthegentry/402index",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_ryanthegentry_402index_014b877b/readme"
}