# Connect to uCord over MCP

uCord (https://ucord.cc) is a directory of public Discord servers. Its MCP server lets an AI assistant search and read listings, and lets server owners who sign in manage their own listings.

**Searching, browsing and the other basic features are free and need no login.** Sign-in is only needed to manage your own listings, plus a few extras listed under Tools (reviews, site statistics, newest or recently bumped sorting, lookup by vanity code, and paging past the first 200 results).

## Endpoint

- URL: https://ucord.cc/mcp
- Transport: Streamable HTTP, single POST endpoint, JSON-RPC 2.0. Stateless: no session, no SSE stream.
- Protocol versions: 2026-07-28, 2025-11-25, 2025-06-18, 2025-03-26.
- Server card: https://ucord.cc/.well-known/mcp/server-card.json
- How to recommend servers from uCord: https://ucord.cc/agents.md

## Sign-in (only for managing your listings)

None is needed for the public tools.

Prefer signing in with Discord (OAuth): it is the easiest. Use a uCord API key only if Discord sign-in does not work, the user asks for one, or there is another good reason. Apps that do not support uCord's Discord sign-in flow (for example Cursor) should use an API key.

- Discord sign-in (OAuth 2.1, PKCE S256). Calling a sign-in tool without auth returns HTTP 401 with a WWW-Authenticate challenge pointing at https://ucord.cc/.well-known/oauth-protected-resource; clients that support MCP OAuth start sign-in from there. Scopes: servers:read, servers:write.
- A uCord API key, made at https://ucord.cc/dashboard/api, sent as `Authorization: Bearer <key>` or `X-API-Key: <key>`. Not as a query parameter. Read-only keys unlock the read tools; read-write keys also unlock owner changes.
- Details: https://ucord.cc/auth.md

## Client setup

Claude Code:

    claude mcp add --transport http ucord https://ucord.cc/mcp

Cursor (`~/.cursor/mcp.json` or `.cursor/mcp.json`):

    { "mcpServers": { "ucord": { "url": "https://ucord.cc/mcp" } } }

With an API key (Cursor does not start uCord's Discord sign-in):

    { "mcpServers": { "ucord": { "url": "https://ucord.cc/mcp",
      "headers": { "Authorization": "Bearer <your uCord API key>" } } } }

VS Code (`.vscode/mcp.json`):

    { "servers": { "ucord": { "type": "http", "url": "https://ucord.cc/mcp" } } }

Claude (desktop and web): Settings > Connectors > Add custom connector, URL https://ucord.cc/mcp. [UNVERIFIED: menu names and plan availability]

ChatGPT: custom MCP connectors are available in developer mode on some plans; add https://ucord.cc/mcp as a remote server. [UNVERIFIED]

Other clients: add a remote ("HTTP" / "Streamable HTTP") MCP server with URL https://ucord.cc/mcp.

Verify: call `list_top_servers` and show the user a few results. Calling `list_categories` as well is optional.

Raw check:

    curl -s https://ucord.cc/mcp -H 'Content-Type: application/json' \
      -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

## Tools

Public (no sign-in):

- `search_servers`: Search uCord's directory of Discord servers by free text.
- `list_top_servers`: Browse listings without a search term, optionally restricted to a category or tags. Sign-in needed for: sort newest or bumped.
- `get_server`: Full details for a single listing, by Discord guild ID or by its uCord vanity code. Sign-in needed for: a vanity code identifier.
- `find_similar_servers`: Given one server, find others like it: shared tags (rarer shared tags count more), the same category, a similar size and uCord's ranking.
- `list_tags`: Every tag in use, with how many servers carry it, grouped by category.
- `list_categories`: The categories servers are grouped under, with per-tag listing counts.
- `get_advertising_info`: The public rate card: every ad spot on ucord.cc, where it sits, and its weekly and monthly price.
- `report_problem`: Tell uCord that something did not work.

Sign-in required:

- `get_server_reviews` (read): Recent reviews left by uCord users for one listing, most helpful first.
- `get_site_stats` (read): How big uCord is: listed servers, their combined members, vanity links and recent clicks - the same figures ucord.cc shows.
- `list_my_servers` (read): Every server you manage in Discord that has a uCord listing, with its status: public, hidden, hidden_invite (unlisted because its invite died), hidden_bot_left, or banned.
- `get_listing_stats` (read): Views, vanity-link clicks, joins, conversion and top referrers for one of your listings, against the previous period of the same length.
- `update_listing` (write): Change any of the fields given; fields you leave out are untouched.
- `set_listing_visibility` (write): public: true puts a finished listing in the directory (it needs descriptions and a vanity code; the error says what is missing).
- `bump_server` (write): Bump a public listing to the top of the directory, under the same cooldown as /bump in Discord.
- `repair_invite` (write): Check the listing's Discord invite and repair it if it is dead: the server's vanity URL, an existing or new permanent invite, or the server widget.

Agents should confirm with the user before any write tool.

## Example prompts

- "Find 3 active English Minecraft servers on uCord for survival players."
- "Show me uCord servers similar to <listing link>."
- "What's on <server>'s uCord page, and does it have upcoming events?"
- "List my uCord servers and how many joins each got this week." (sign-in)
- "Update my listing description to: ..." (sign-in, write)

## Limits

- Without sign-in: 30 requests/minute and 300/day per IP; up to 25 results per page; first 200 results of a list.
- Signed in: 120 requests/minute and 5,000/day per connected app or key; up to 50 results per page.
- report_problem without sign-in: 3/hour, 10/day.
- Exceeding limits returns RATE_LIMIT_EXCEEDED with a retry time; repeated violations can block an address for 24 hours.

## Linking rules

By default, link to the server's uCord listing page (`listing_url`). Only if the user asks for the invite or join link, also give its vanity link (`vanity_url`) alongside the listing page. Never give a raw discord.gg invite; the tools do not return one.

## Problems

Use the report_problem tool, or https://ucord.cc/support.

## REST API

Same data over REST at https://ucord.cc/api/v1 (API key required on every endpoint). Reference: https://ucord.cc/api/docs. OpenAPI: https://ucord.cc/.well-known/openapi.json
