npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@aiwerk/mcp-catalog

v1.2.0

Published

MCP server catalog — searchable directory of MCP server recipes

Readme

@aiwerk/mcp-catalog

Searchable directory of MCP server recipes, served as an MCP server. Any AI agent can discover, inspect, and download MCP server configs natively — through tool calls.

Works with Claude Desktop, Cursor, Windsurf, Cline, OpenClaw, MCP Bridge, or any MCP client.

Why?

Setting up MCP servers means finding the right package, writing config JSON, figuring out env vars. Every time.

MCP Catalog makes this discoverable:

  • 4 MCP tools: search, info, download, activate — all callable by AI agents
  • Weighted search: name, keywords, description, tool names, tags — all scored and ranked
  • 12 pre-seeded servers: popular MCP servers ready to go
  • Multi-language keywords: English + German (more coming)
  • Two transports: stdio (default) or Streamable HTTP

Install

npm install -g @aiwerk/mcp-catalog

Quick Start

# Start (stdio mode — connects to any MCP client)
mcp-catalog

On first start, the catalog auto-seeds from bundled recipes if the database is empty.

Use with Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "catalog": {
      "command": "npx",
      "args": ["-y", "@aiwerk/mcp-catalog"]
    }
  }
}

Use with Cursor / Windsurf

Add to your MCP config:

{
  "mcpServers": {
    "catalog": {
      "command": "npx",
      "args": ["-y", "@aiwerk/mcp-catalog"]
    }
  }
}

Use with MCP Bridge

Add to your ~/.mcp-bridge/config.json:

{
  "servers": {
    "aiwerk-catalog": {
      "transport": "stdio",
      "command": "npx",
      "args": ["-y", "@aiwerk/mcp-catalog"],
      "description": "MCP server catalog — searchable directory of MCP server recipes"
    }
  }
}

MCP Tools

catalog_search

Search for MCP servers by keyword, category, or transport type.

{
  "query": "payment",
  "category": "finance",
  "transport": "stdio"
}

Returns ranked results:

{
  "results": [
    {
      "name": "stripe",
      "description": "payments & billing",
      "category": "finance",
      "badges": ["stdio", "auth-required"],
      "transport": "stdio",
      "authRequired": true,
      "authType": "api-key",
      "downloads": 42
    }
  ]
}

catalog_info

Get full recipe details for a specific server.

{ "name": "stripe" }

Returns complete config: command, args, env vars, credentials URL, homepage, keywords, tool names, and more.

catalog_download

Download a server recipe (returns full config JSON + increments download counter).

{ "name": "github" }

catalog_activate

Activate a server on the hosted bridge (coming in Phase 4).

{ "name": "todoist" }

Search Scoring

Results are ranked by weighted scoring across multiple fields:

| Match type | Weight | Example | |-----------|--------|---------| | Exact name | 1.0 | "github" → github server | | Name prefix | 0.9 | "goo" → google-maps | | Keyword | 0.8 | "zahlungen" → stripe, wise | | Description | 0.6 | "web scraping" → apify | | Tool name | 0.5 | "issues" → github | | Tag | 0.4 | "productivity" → todoist, linear, miro |

Category aliases also work: searching "developer" filters to developer-tools category.

Pre-seeded Servers

| Server | Category | Transport | Auth | |--------|----------|-----------|------| | apify | search | streamable-http | API key | | github | developer-tools | stdio | API key | | google-maps | maps | stdio | API key | | hetzner | cloud | stdio | API key | | hostinger | hosting | stdio | API key | | linear | productivity | stdio | API key | | miro | productivity | stdio | API key | | notion | productivity | stdio | API key | | stripe | finance | stdio | API key | | tavily | search | stdio | API key | | todoist | productivity | stdio | API key | | wise | finance | stdio | API key |

CLI Reference

| Command | Behavior | |---------|----------| | mcp-catalog | Start stdio MCP server (default) | | mcp-catalog serve | Start Streamable HTTP MCP server | | mcp-catalog --http | Start Streamable HTTP MCP server | | mcp-catalog seed [path] | Seed recipe data (optional directory override) | | mcp-catalog --version | Print package version | | mcp-catalog --help | Show usage |

HTTP Port

mcp-catalog --http --port 3200   # CLI arg
MCP_CATALOG_PORT=3200 mcp-catalog serve   # environment variable

Default HTTP port is 3100.

Tech Stack

  • TypeScript + Node.js
  • SQLite (better-sqlite3) with FTS5 for full-text search
  • MCP SDK (@modelcontextprotocol/sdk)
  • Zod for parameter validation

Development

git clone https://github.com/AIWerk/mcp-catalog.git
cd mcp-catalog
npm install

# Seed the database manually (optional; startup auto-seeds if needed)
npm run seed

# Run tests
npm test

# Dev mode
npm run dev

# Build
npm run build

Architecture

┌─────────────────┐     ┌──────────────────────────────────────┐
│  Claude Desktop  │     │  MCP Catalog                         │
│  Cursor          │◄───►│                                      │
│  MCP Bridge      │stdio│  ┌────────────┐  ┌───────────────┐  │
│  Any MCP client  │ or  │  │ 4 MCP Tools│  │ SQLite + FTS5 │  │
│                  │http │  │            │──│               │  │
└─────────────────┘     │  │ search     │  │ 12 recipes    │  │
                        │  │ info       │  │ weighted      │  │
                        │  │ download   │  │ scoring       │  │
                        │  │ activate   │  │               │  │
                        │  └────────────┘  └───────────────┘  │
                        └──────────────────────────────────────┘

Related

License

MIT — AIWerk