Command Palette

Search for a command to run...

Home / Servers

mcp-directory

by Nandanhegde1

MCP Directory

A free, static, SEO-first directory of every public Model Context Protocol (MCP) server on GitHub.

Why

The MCP ecosystem ships dozens of new servers every week, scattered across GitHub. Existing lists are hand-curated, go stale fast, and bury the long tail. This directory does the obvious thing: query GitHub once a week, dedupe, score, and publish a static site that ranks every MCP server by stars, recency, and language — instantly searchable and crawlable by Google.

Stack

  • Astro 5 + Tailwind — static site, file-based routing
  • TypeScript
  • GitHub Search API (60 req/hr unauth, 5,000 req/hr with PAT)
  • GitHub Actions weekly cron (.github/workflows/weekly-scrape.yml)
  • Cloudflare Workers (free tier, deployed via wrangler)

Local dev

cd S:\projects\mcp-directory
npm install

# Generate a fine-grained GitHub PAT (public repo read scope is enough):
#   https://github.com/settings/personal-access-tokens/new
$env:GITHUB_TOKEN = "github_pat_..."

npm run scrape          # populates src/data/servers.json
npm run dev             # local preview at http://localhost:4321
npm run build           # outputs static site to ./dist

How it works

  1. scripts/scrape.ts queries the GitHub Search API for repos matching MCP-related terms, paginates through results, and dedupes by owner/name.
  2. Each server gets a normalized record: name, description, language, stars, last push, topics, license, owner avatar.
  3. Featured slugs in scripts/featured.json are pinned to the top.
  4. Astro builds a static page per server at /server/[slug]/ plus index/category/search pages.
  5. The cron reruns the scraper each Sunday and commits src/data/servers.json. It does not auto-deploy — run the manual deploy (see below) to publish the refreshed data.

Project structure

src/
  data/servers.json      # generated by scripts/scrape.ts
  layouts/BaseLayout.astro
  pages/                 # routes (index, /server/[slug], /submit, etc.)
  lib/data.ts            # data accessors
  components/
  types.ts
scripts/
  scrape.ts              # GitHub MCP server scraper
  featured.json          # array of slugs to pin as featured
public/
  robots.txt, favicon.svg, og-default.svg
.github/workflows/
  weekly-scrape.yml      # cron: re-scrape every Sunday 03:17 UTC

Environment variables

VarPurposeRequired?
GITHUB_TOKENUsed by the scraper (local + CI)Required for scraping
SITE_URLCanonical URL for sitemap/OG tagsRecommended
PUBLIC_FORMSPREE_IDFormspree form ID for /submit/ (falls back to a prefilled GitHub issue)Optional

For the GitHub Action, store the token as repo secret SCRAPER_GITHUB_TOKEN (preferred — gives 5,000 req/hr) or fall back to the default GITHUB_TOKEN (1,000 req/hr).

Deploy (Cloudflare Workers)

The site is deployed to Cloudflare Workers (static assets). Manual deploy after a content change:

npm run build
npx wrangler deploy

The weekly cron commits the refreshed servers.json and then builds + deploys automatically if the CLOUDFLARE_API_TOKEN repo secret is set; without it, the deploy step skips and the live site updates on the next manual deploy above.

Disclaimer

MCP Directory is an independent project and is not affiliated with Anthropic or the MCP project maintainers. Server metadata is sourced from public GitHub repositories — each server's own license applies to its code.

Related servers

n8n

Updated today

by n8n-io

Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

NOASSERTION199,059

mcp-server-fetch

OfficialUpdated today

by modelcontextprotocol

A Model Context Protocol server providing tools to fetch and convert web content for usage by LLMs

89,138

@modelcontextprotocol/server-filesystem

OfficialUpdated today

by modelcontextprotocol

MCP server for filesystem access

SEE LICENSE IN LICENSE89,138

@modelcontextprotocol/server-everything

OfficialUpdated today

by modelcontextprotocol

MCP server that exercises all the features of the MCP protocol

89,138