{"version":1,"resources":["https://book-bot.app/api/books/find","https://book-bot.app/api/books/search","https://book-bot.app/api/books/download-link","https://book-bot.app/api/audiobooks/search","https://book-bot.app/api/audiobooks/details"],"mppResources":["https://book-bot.app/api/books/find","https://book-bot.app/api/books/search","https://book-bot.app/api/books/download-link","https://book-bot.app/api/audiobooks/search","https://book-bot.app/api/audiobooks/details"],"description":"BookBot exposes paid agent tools for two libraries: ebooks on Anna's Archive (EPUB download links) and audiobooks on audiobookbay.lu (BitTorrent magnet links). Paid routes accept USDC on Base via x402 and Tempo USDC via MPP.","instructions":"# BookBot API\n\nPaid agent tools for finding ebooks and audiobooks.\n\n## Ebook endpoints (Anna's Archive)\n\n- **POST /api/books/find** ($0.50) — Full agent: resolve an EPUB download link from a book title (and optional author) in one call.\n- **POST /api/books/search** ($0.10) — Search Anna's Archive; returns up to 10 result entries with URLs.\n- **POST /api/books/download-link** ($0.10) — Resolve a direct EPUB download URL from an Anna's Archive result page URL.\n\n## Audiobook endpoints (audiobookbay.lu)\n\n- **POST /api/audiobooks/search** ($0.005) — Search audiobookbay.lu; returns up to ~12 entries with title, slug, cover, category, language, and keywords.\n- **POST /api/audiobooks/details** ($0.02) — Fetch full metadata + a magnet URI (info hash + all backup trackers) for one audiobook by slug.\n\n## Typical flows\n\n**Ebook**: call `/api/books/search` with `{ bookName, author? }` to list candidates, then pass a result `url` to `/api/books/download-link` for the final EPUB URL. Or skip both and call `/api/books/find` for the agent to do the full pipeline in one paid request.\n\n**Audiobook**: call `/api/audiobooks/search` with `{ query }` to find titles, then pass a result `slug` to `/api/audiobooks/details` to get a ready-to-use magnet link.\n\nAll routes accept JSON bodies and return JSON. Unauthenticated requests receive HTTP 402 with an x402/MPP payment challenge."}