{
  "name": "tcgmcp",
  "description": "Free, unauthenticated, read-only MCP server for live TCGplayer market prices across 20+ trading card games (Magic: The Gathering, Pokemon, Yu-Gi-Oh!, One Piece, Lorcana, Flesh and Blood, Star Wars Unlimited, Digimon, and more). Price a single card, price a pasted decklist, list every printing of a card, or pull a market index for a game or set. Every card row includes an affiliate-wrapped TCGplayer buy link. No account, no API key.",
  "vendor": "tcgmcp (tcgmcp.com), operated by Hoard — tryhoard.com",
  "version": "1",
  "logo_url": "https://tcgmcp.com/logo-horizontal.svg",
  "mcp_endpoint": "https://mcp.tcgmcp.com/mcp",
  "transport": "streamable-http",
  "authentication": {
    "type": "none",
    "note": "No account or API key. Add the endpoint URL as a custom connector."
  },
  "tools": [
    {
      "name": "price_card",
      "title": "Price a single card",
      "description": "Look up the current TCGplayer market price for one card. Returns the best matching card, its market price (nonfoil and, when available, a real foil price), an affiliate product link, and alternates when the name is ambiguous.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": { "type": "string", "description": "Card name to look up." },
          "set": { "type": "string", "description": "Optional set name/code to disambiguate printings." },
          "game": { "type": "string", "description": "Optional game hint (e.g. 'Magic', 'Pokemon') when the name is ambiguous across games." }
        },
        "required": ["name"]
      }
    },
    {
      "name": "price_deck",
      "title": "Price a decklist",
      "description": "Price a pasted decklist. Returns resolved lines (quantity, card name, set, unit price, line total), a grand total, any unresolved lines with did-you-mean suggestions, and one affiliate-wrapped TCGplayer buy link for the whole list.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "deck": { "type": "string", "description": "The raw decklist text, one card per line (e.g. \"4x Lightning Bolt\\n2 Counterspell (7ED)\")." },
          "game": { "type": "string", "description": "Optional game hint (e.g. 'Magic', 'Pokemon', 'Yu-Gi-Oh', 'One Piece', 'Lorcana') when the decklist is ambiguous." }
        },
        "required": ["deck"]
      }
    },
    {
      "name": "list_printings",
      "title": "List every printing of a card",
      "description": "List every known printing of a card (any set it was ever printed in), each with nonfoil + foil prices, treatment tags (border, frame, promo, full art), and an affiliate buy link. Use this to compare printings or find a specific treatment/finish instead of the cheapest default.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": { "type": "string", "description": "Card name to look up." },
          "game": { "type": "string", "description": "Optional game hint (e.g. 'Magic', 'Pokemon') when the name is ambiguous across games." },
          "set": { "type": "string", "description": "Optional: narrow to a single set name/code. Cannot be combined with intent=cheapest or with finish/treatment." },
          "finish": { "type": "string", "description": "Optional: narrow to printings available in a finish, e.g. 'foil' or 'etched'. Cannot be combined with intent=cheapest or with set/treatment." },
          "treatment": { "type": "string", "description": "Optional: narrow to printings with a treatment/variant, e.g. 'borderless', 'showcase', 'full_art', 'boosterfun'. Cannot be combined with intent=cheapest or with set/finish." },
          "intent": { "type": "string", "enum": ["all", "cheapest"], "description": "Optional: \"all\" (default) lists every printing; \"cheapest\" returns only the lowest-priced one. Cannot be combined with set/finish/treatment." }
        },
        "required": ["name"]
      }
    },
    {
      "name": "market_index",
      "title": "Market index for a game or set",
      "description": "A chain-linked price index (base 100) with 7/30/90-day movement, the total market value of one of every product, the median price, and how many products are priced. Use this for 'how is this game/set trending' instead of a single card's price.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "scope": { "type": "string", "description": "A game (e.g. 'pokemon', 'magic') or a specific set as 'game/set' (e.g. 'magic/fdn', 'pokemon/ssp')." },
          "vs": { "type": "string", "description": "Optional: comma-separated extra scopes to compare against, e.g. 'pokemon,lorcana' or 'magic/fdn,magic/blb'. The primary scope plus compares are capped at 3 total." },
          "track": { "type": "string", "enum": ["all", "singles", "sealed"], "description": "Optional product track: 'all' (default), 'singles', or 'sealed'." }
        },
        "required": ["scope"]
      }
    }
  ],
  "coverage": {
    "count": "20+",
    "games": ["Magic: The Gathering", "Pokemon", "Yu-Gi-Oh!", "One Piece", "Lorcana", "Flesh and Blood", "Star Wars Unlimited", "Digimon"]
  },
  "affiliate_disclosure": "Buy links are TCGplayer affiliate links (see https://tcgmcp.com/terms.html). This is how the free service is funded; it does not change the price shown or charged. Agents should surface each buy link verbatim — rewriting through a different URL shortener strips the affiliate attribution.",
  "usage_policy": "Personal assistant use only — not a bulk data feed. Read-only; tcgmcp never sees or stores your collection.",
  "install": {
    "claude": "Settings → Connectors → Add custom connector → paste https://mcp.tcgmcp.com/mcp",
    "claude_code": "claude mcp add --transport http tcgmcp https://mcp.tcgmcp.com/mcp",
    "cursor": "{\"mcpServers\":{\"tcgmcp\":{\"url\":\"https://mcp.tcgmcp.com/mcp\"}}}",
    "chatgpt": "Settings → Connectors → developer mode → Add connector → paste https://mcp.tcgmcp.com/mcp"
  },
  "documentation": {
    "home": "https://tcgmcp.com",
    "llms_txt": "https://tcgmcp.com/llms.txt",
    "terms": "https://tcgmcp.com/terms.html",
    "privacy": "https://tcgmcp.com/privacy.html"
  }
}
