# Use it from an agent (MCP)

`https://raritydb.com/mcp` is a [Model Context Protocol](https://modelcontextprotocol.io) server (Streamable HTTP). Connect it with your API key and your agent gets these tools:

| Tool | What it does |
|---|---|
| `search` | Fuzzy name search across species, sets and cards |
| `get_card` | One card by code, TCGplayer product id or Cardmarket product id |
| `list_cards` | Cards by name, set, Pokédex number, rarity, type, illustrator, region, legality |
| `resolve_ids` | Translate up to 50 IDs from tcgdex, pokemontcg.io, tcgplayer or cardmarket |
| `list_sets` / `get_set` | Browse sets and their card lists |
| `get_species` | A Pokémon with names, forms, evolution line and cards |
| `get_prices` | Cardmarket prices (in US dollars by default, converted from euros; pass `currency` for another) and marketplace links; live USD/graded prices with your provider key. `get_card`, `get_sealed_product` and `set_pull_rates` take `currency` too |
| `get_sealed_product` | Sealed products with contents, MSRP, price |
| `set_pull_rates` | Pull rates and expected value for a set (and its sealed products) |
| `identify_card` | Identify a card and its exact printing from a photo (`image_url` or `image_base64`). See [Identify a card from a photo](/docs/identify) |
| `identify_cards` | Every card in a photo of several (a spread or a binder page, up to 20), in reading order; `grid` (e.g. `3x3`) for pages whose cards touch |
| `price_alerts` | List, create or delete price alerts on a printing's Cardmarket trend price (`action`). See [Price alerts and webhooks](/docs/price-alerts) |
| `webhook_endpoints` | List, create, rotate the secret of, test or delete the https URLs alerts POST to (`action`) |
| `pullbook_purchases` | Your Pullbook seller ledger: log purchases, add pulls, open sealed items, extra costs, inventory (`action`). See [Pullbook](/docs/pullbook) |
| `pullbook_report` | Holdings at market value, profit reports by purchase, stream or show, product or month, and a year's tax lots (read-only) |
| `pullbook_sales` | Record, import (CSV) and settle sales in your Pullbook ledger, see profit, manage streams and shows (`action`) |
| `verify_slab` | Where to verify a graded slab's cert (PSA, CGC, BGS, SGC, TAG) and whether the number is possible for that grader |
| `assess_condition` | Condition from photos: centering, whitening, visible damage and a grade range (`front_url` / `front_base64`, optional back). See [Card condition from photos](/docs/condition) |
| `check_authenticity` | Red flags that a card is fake, from photos (`front_url` / `front_base64`, optional back). Never says "genuine". See [Fake check](/docs/authenticity) |
| `whoami` | Your account, plan limits and usage |
| `graphql_query` | Any read-only GraphQL query, for everything else |

The GraphQL schema is also published as the resource `raritydb://schema.graphql`. Each `tools/call` counts as one request against your [limits](/docs/authentication).

## Connect from ChatGPT or Claude

The connector URL is **`https://raritydb.com/mcp`**. ChatGPT and Claude sign you in with OAuth: you approve the connection on a RarityDB page and never paste a key. The connection then shows up under **Connected apps** on your [account page](/account), where you can see its usage and disconnect it. It shares your account's [limits](/docs/authentication).

**Claude (claude.ai, Desktop, mobile)**

1. Open **Settings → Connectors → Add custom connector**.
2. Paste `https://raritydb.com/mcp` and add it.
3. Press **Connect**, sign in to RarityDB if asked, and approve.

Custom connectors are on every Claude plan (Free allows one). On Team and Enterprise, an owner may need to add it first.

**ChatGPT**

1. Open **Plugins (chatgpt.com/plugins) → + → Add custom MCP server**.
2. Paste `https://raritydb.com/mcp`.
3. Connect and approve.

OpenAI lets Business, Enterprise/Edu and Pro accounts add custom servers. Plus and Free users will be able to use RarityDB once it's listed in ChatGPT's app directory.

**Cursor, VS Code, Gemini CLI and other MCP clients**

Add `https://raritydb.com/mcp` as a remote (HTTP) MCP server. Clients that support OAuth sign you in the same way. Otherwise, send an API key header as shown below.

## Claude Code (with an API key)

```bash
claude mcp add --transport http RarityDB https://raritydb.com/mcp \
  --header "Authorization: Bearer $API_KEY"
```

To pass a [price-provider key](/docs/prices) too, add another header, e.g. `--header "X-Provider-Key-Pokemonpricetracker: $PPT_KEY"`.

## Other clients with an API key

Clients that take a JSON config:

```json
{
  "mcpServers": {
    "RarityDB": {
      "type": "http",
      "url": "https://raritydb.com/mcp",
      "headers": { "Authorization": "Bearer rdb_…" }
    }
  }
}
```

Clients that can only launch a local process can bridge with `npx mcp-remote https://raritydb.com/mcp --header "Authorization: Bearer rdb_…"`.
