Skip to content
Neel Bhavsar
All work

A self-updating catalogue of the AI tooling ecosystem

AI Library

Role
Creator · full stack
Year
2026
Impact
Refreshed daily, fully static
AI Library — cover

Overview

Finding a good MCP server or Claude Skill means trawling registries, GitHub topics and half-maintained gist lists. AI Library collapses that into one searchable directory that refreshes itself every day.

Every entry carries setup instructions generated per assistant — Claude, Cursor, Codex, Windsurf, Cline and VS Code each get the exact config block they need, so discovery and installation are one step instead of two.

What I built

  • Designed the whole product end to end — data model, ingestion, UI and deploy.
  • Built the ingestion layer over the MCP Registry, Glama and the GitHub Search API, with normalisation and de-duplication across sources.
  • Wrote the per-assistant snippet generator that turns one canonical server record into six different install formats.
  • Ran the entire catalogue as build-time static data — no database, no runtime API, nothing to page me at 2am.

The hard parts

Three sources, one shape

Registry, Glama and GitHub all describe a server differently. A normalisation pass maps them onto a single record and merges duplicates by repo URL, so the same server never shows up twice under two names.

Fresh without a server

A daily GitHub Actions cron re-runs ingestion and commits the regenerated dataset, which triggers a rebuild. The site stays fully static while the content behaves like it is live.

Rate limits

The GitHub Search API is tight. Requests are batched, cached between runs and backed off on 403s, so a full refresh finishes inside one free-tier Actions window.

Outcomes

Assistants supported
6
Auto-refresh
Daily
Servers to maintain
0

Stack

  • Next.js 16
  • TypeScript
  • Tailwind v4
  • Motion
  • GitHub Actions

AI in the build

Generates per-assistant install and usage snippets from the MCP Registry, Glama and the GitHub Search API

Live

Visit the site