Master Setter Pokémon TCG Catalog

Pokémon TCG cards in 14 languages: 196k cards, 272k printings, deepest Korean/Thai/Chinese.

Should I use this

Quality & Safety

A
Description quality
82%
Schema completeness
80%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (1)

  • LOWTool 'get_card' description lacks action verbin get_card

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~721Tokens (tool definitions)
~708 BTypical response size
Moderate attention impact (0.56% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "pokemon-tcg": {
      "url": "https://api.master-setter.com/mcp"
    }
  }
}

Remote endpoints

https://api.master-setter.com/mcpstreamable-http

What it can do

Tool inventory

Tools (6)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢search_cards(q, lang, limit, offset)

Search Pokémon TCG cards by name. Names are stored in each card's own language (search Korean cards with Korean, e.g. 피카츄; Japanese with ピカチュウ). Filter with lang.

Input Schema

{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "minLength": 2,
      "maxLength": 60
    },
    "lang": {
      "type": "string",
      "enum": [
        "en",
        "ja",
        "fr",
        "it",
        "de",
        "es",
        "ko",
        "pt",
        "zh-tw",
        "id",
        "th",
        "zh-cn",
        "es-mx",
        "ru",
        "pl",
        "nl"
      ],
      "description": "Language code: en English, ja Japanese, ko Korean, zh-tw Traditional Chinese, zh-cn Simplified Chinese, th Thai, id Indonesian, fr, it, de, es, pt, es-mx, ru, pl, nl."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 200,
      "default": 50
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "default": 0
    }
  },
  "required": [
    "q"
  ]
}
🟢get_card(id)

One card by id (e.g. en-base1-4, ko-sv4a-190) with all of its printings/variants (1st Edition, holo, reverse holo…).

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    }
  },
  "required": [
    "id"
  ]
}
🟡list_cards_in_set(set, limit, offset)

Every card in a set, ordered by number (e.g. set ja-sv4a, th-sv1v, zh-tw-sv1s).

Input Schema

{
  "type": "object",
  "properties": {
    "set": {
      "type": "string"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 200,
      "default": 50
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "default": 0
    }
  },
  "required": [
    "set"
  ]
}
🟢list_sets(lang, limit, offset)

Sets (expansions, promos, decks) for a language, newest first. 14 languages; deepest coverage of Korean, Thai, Indonesian and Chinese.

Input Schema

{
  "type": "object",
  "properties": {
    "lang": {
      "type": "string",
      "enum": [
        "en",
        "ja",
        "fr",
        "it",
        "de",
        "es",
        "ko",
        "pt",
        "zh-tw",
        "id",
        "th",
        "zh-cn",
        "es-mx",
        "ru",
        "pl",
        "nl"
      ],
      "description": "Language code: en English, ja Japanese, ko Korean, zh-tw Traditional Chinese, zh-cn Simplified Chinese, th Thai, id Indonesian, fr, it, de, es, pt, es-mx, ru, pl, nl."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 200,
      "default": 50
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "default": 0
    }
  }
}
🟡get_set(id)

One set by id (e.g. ko-sv4a) with card_count computed from the cards actually present.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    }
  },
  "required": [
    "id"
  ]
}
🟡get_api_key(email)

Create a free API key (1,000 requests/month) for an email address. Use this if you don't have a key yet, then pass it as Authorization: Bearer <key>.

Input Schema

{
  "type": "object",
  "properties": {
    "email": {
      "type": "string",
      "format": "email"
    }
  },
  "required": [
    "email"
  ]
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded6 tools