# Connect an agent

Query MCP Morning rankings from Cursor, Claude Code, Claude Desktop, or any MCP client. Public, read-only, no auth.
Rankings are popularity from public npm, PyPI and GitHub data. **We do not run or test servers.**

## Remote (Streamable HTTP)

Endpoint: [`https://mcpmorning.com/mcp`](https://mcpmorning.com/mcp) — no trailing slash. `GET /mcp/` is the HTML most-used list; `POST /mcp` is the protocol.

Rate limit: about 60 requests per minute per IP. CORS is open.

### Cursor

`~/.cursor/mcp.json` or Cursor Settings → MCP:

```json
{
  "mcpServers": {
    "mcpmorning": {
      "url": "https://mcpmorning.com/mcp"
    }
  }
}
```

### Claude Code

```bash
claude mcp add --transport http mcpmorning https://mcpmorning.com/mcp
```

### Claude Desktop

Claude Desktop uses stdio (`claude_desktop_config.json`). After `mcpmorning-mcp` is on npm:

```json
{
  "mcpServers": {
    "mcpmorning": {
      "command": "npx",
      "args": ["-y", "mcpmorning-mcp"]
    }
  }
}
```

Until then, point `command` at `node` and `args` at this repo's `mcp-server/src/stdio.js`.

## Tools

- **top_servers** — `most_used` | `rising` | `new`. `limit` ≤ 25. Optional `language` and `category`. Rising uses the same floor as the site (25 stars or 1,000 prior-week downloads). Shadow-library tools are omitted.
- **search_servers** — substring search.
- **get_server** — slug, `owner/repo`, or GitHub URL. Stars, weekly downloads, growth, install hints, links.
- **latest_edition** — today's newsletter title, date, up to 5 items, archive URL.

Every item URL is its MCP Morning page with `?utm_source=mcp`. Every response includes the rankings snapshot date.

## Open data

The stdio package (and anything else) can read the same snapshot at [`/data/mcp.json`](/data/mcp.json) (CC BY 4.0). [Methodology](/methodology/).
