MCP Hub
Back to servers

MCP Catalog

A searchable directory of MCP server recipes that enables AI agents to discover, inspect, and download server configurations natively through tool calls. It features weighted search and provides detailed configuration data for a variety of pre-seeded MCP servers.

glama
Updated
Mar 13, 2026

@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 typeWeightExample
Exact name1.0"github" → github server
Name prefix0.9"goo" → google-maps
Keyword0.8"zahlungen" → stripe, wise
Description0.6"web scraping" → apify
Tool name0.5"issues" → github
Tag0.4"productivity" → todoist, linear, miro

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

Pre-seeded Servers

ServerCategoryTransportAuth
apifysearchstreamable-httpAPI key
githubdeveloper-toolsstdioAPI key
google-mapsmapsstdioAPI key
hetznercloudstdioAPI key
hostingerhostingstdioAPI key
linearproductivitystdioAPI key
miroproductivitystdioAPI key
notionproductivitystdioAPI key
stripefinancestdioAPI key
tavilysearchstdioAPI key
todoistproductivitystdioAPI key
wisefinancestdioAPI key

CLI Reference

CommandBehavior
mcp-catalogStart stdio MCP server (default)
mcp-catalog serveStart Streamable HTTP MCP server
mcp-catalog --httpStart Streamable HTTP MCP server
mcp-catalog seed [path]Seed recipe data (optional directory override)
mcp-catalog --versionPrint package version
mcp-catalog --helpShow 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

Reviews

No reviews yet

Sign in to write a review