Skip to main content
Glama
adw0rd

awesome-mcp-tools-mcp

by adw0rd
README.md
# awesome-mcp

CLI and MCP stdio bridge for the [awesome-mcp.tools](https://awesome-mcp.tools) catalog of 2,000+ MCP (Model Context Protocol) servers. Search the catalog from your terminal, or wire the hosted MCP server into Claude / Cursor / Codex / Cline / Windsurf.

[![npm](https://img.shields.io/npm/v/awesome-mcp.svg)](https://www.npmjs.com/package/awesome-mcp)
[![license](https://img.shields.io/npm/l/awesome-mcp.svg)](./LICENSE)

```bash
# Install
npm install -g awesome-mcp        # or use npx (no install)

# Search the catalog
awesome-mcp search postgres
awesome-mcp top --language Python --limit 10
awesome-mcp trending
awesome-mcp info microsoft-playwright-mcp

# Run as an MCP stdio server (for Claude Desktop & other stdio-only clients)
awesome-mcp-bridge
```

## What this is

Two things in one npm package:

1. **`awesome-mcp` CLI** — search 2,000+ MCP servers from the terminal. Pure node 18+, zero dependencies.
2. **`awesome-mcp-bridge`** — minimal stdio↔Streamable-HTTP MCP proxy. Lets stdio-only clients connect to the hosted MCP server at `https://awesome-mcp.tools/mcp`. ~100 lines, zero deps.

Both wrap the same backend at [awesome-mcp.tools](https://awesome-mcp.tools). The catalog is refreshed every 6 hours from the open-source ecosystem.

## CLI usage

```
awesome-mcp search <query> [options]
awesome-mcp top [options]
awesome-mcp trending [options]
awesome-mcp hot [options]
awesome-mcp info <name> [--json]
awesome-mcp help

Filters: --source --category --tag --language --license
Options: --limit (1-100, default 20) --api <url> --json
```

Examples:

```bash
awesome-mcp search browser --source github --limit 20
awesome-mcp top --language Python
awesome-mcp trending --category "AI Tools"
awesome-mcp info markitdown
```

## MCP bridge usage

The bridge lets stdio-only MCP clients (Claude Desktop, older Cline) talk to the hosted Streamable-HTTP server. It reads JSON-RPC from stdin, forwards to `https://awesome-mcp.tools/mcp`, streams the response back. Session ID is auto-managed.

### Claude Desktop

Paste into `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows):

```json
{
  "mcpServers": {
    "awesome-mcp-tools": {
      "command": "npx",
      "args": ["-y", "-p", "awesome-mcp", "awesome-mcp-bridge"]
    }
  }
}
```

Or use Claude Desktop **Settings → Connectors → Add custom connector** with URL `https://awesome-mcp.tools/mcp` (newer versions only).

### Cursor

`~/.cursor/mcp.json` — Cursor supports remote URLs natively, no bridge needed:

```json
{
  "mcpServers": {
    "awesome-mcp-tools": {
      "url": "https://awesome-mcp.tools/mcp"
    }
  }
}
```

### Codex CLI

Append to `~/.codex/config.toml`:

```toml
[mcp_servers.awesome-mcp-tools]
url = "https://awesome-mcp.tools/mcp"
```

### Cline

Cline VS Code panel → `cline_mcp_settings.json`:

```json
{
  "mcpServers": {
    "awesome-mcp-tools": {
      "type": "streamableHttp",
      "url": "https://awesome-mcp.tools/mcp",
      "disabled": false,
      "autoApprove": []
    }
  }
}
```

### Windsurf

`~/.codeium/windsurf/mcp_config.json`:

```json
{
  "mcpServers": {
    "awesome-mcp-tools": {
      "serverUrl": "https://awesome-mcp.tools/mcp"
    }
  }
}
```

Ready-to-paste copies in [`examples/`](./examples/).

## Tools exposed by the MCP server

| Tool | Description |
|---|---|
| `search_servers` | Full-text search with filters (category, language, tag, license, source) |
| `get_server` | Full details + README for one server by slug |
| `compare_servers` | Side-by-side comparison of two servers |
| `list_categories` | All categories with server counts |
| `list_languages` | Programming languages with counts |
| `list_tags` | Tags with counts |
| `list_trending` | Top servers by 24-hour star growth |
| `list_hot` | Featured / hot servers |

Full input/output schemas live at the live `tools/list` endpoint — see [`tools.json`](./tools.json) for an offline snapshot, or [server card](https://awesome-mcp.tools/.well-known/mcp/server-card.json) for transport metadata.

## Smoke test

Verify the hosted endpoint without installing anything:

```bash
npx @modelcontextprotocol/inspector --transport http https://awesome-mcp.tools/mcp
```

Or via raw curl:

```bash
curl -fsS -X POST https://awesome-mcp.tools/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json,text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"test","version":"1"}}}'
```

## Endpoint

```
https://awesome-mcp.tools/mcp
```

- Transport: **Streamable HTTP** (MCP spec `2025-06-18`)
- Auth: none (free, no API key)
- Server card: [/.well-known/mcp/server-card.json](https://awesome-mcp.tools/.well-known/mcp/server-card.json)
- Underlying REST API: [/api/docs](https://awesome-mcp.tools/api/docs) ([OpenAPI 3.0](https://awesome-mcp.tools/api/openapi.json))

Override the bridge target with `AWESOME_MCP_URL=https://your-mirror/mcp awesome-mcp-bridge` (useful for self-hosting or testing).

## What's *not* in this repo

The hosted server backend (Go API, ingestion crawlers, SSR, OG image generation) is a separate proprietary codebase. This repo contains only:

- The `awesome-mcp` CLI source
- The `awesome-mcp-bridge` stdio→HTTP proxy source
- Client config examples
- Snapshot of the live `tools/list` response for offline reference

The catalog *data* served by the backend is open: each server entry preserves its upstream license. The backend code is not.

## Tests

```bash
npm test
```

`npm test` runs the CLI lib tests (6 passing under node 18+). The bridge currently has only a manual smoke test against production (pipe a JSON-RPC `initialize` into `bin/awesome-mcp-bridge.js`); mock-based unit tests are on the roadmap for v0.2.1.

## Status

Production-ready. `awesome-mcp.tools` is live, monitored, refreshed every 6 hours. Issues: [github.com/adw0rd/awesome-mcp-tools-mcp/issues](https://github.com/adw0rd/awesome-mcp-tools-mcp/issues).

## License

[MIT](./LICENSE).

TDQS

A3.7/5.0

Scored across 8 tools

Disambiguation5/5

Each tool has a distinct purpose: comparing servers, getting details, listing categories/hot/languages/tags/trending, and searching. No overlap or ambiguity.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern in snake_case (e.g., compare_servers, list_categories, search_servers). No deviations.

Tool Count5/5

With 8 tools, the set covers browsing, searching, and details for a directory of MCP servers. The count is well-scoped for its purpose.

Completeness4/5

The surface covers browsing by multiple dimensions (categories, languages, tags, trending, hot) and detailed search/filtering. Minor gaps like missing a raw list-all or admin operations, but core exploration is complete.

Maintenance

ActivityStale
ResponsivenessUnresponsive