Pokémon card and sealed prices, recent eBay sales, sets, Market Pulse, and active eBay listings.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Use this when the user asks what a specific Pokémon card is worth or has sold for, raw or graded (PSA 9 or PSA 10 slabs), or wants its sold comps or price trend. One card as its pokefocus.com page shows it: TCGplayer market price with 7- and 30-day change, 30-day range, and the overbought/oversold reading; for raw, PSA 9, and PSA 10 the 30-day eBay sold median and sale count and the lowest trusted eBay Buy It Now; the offers for the requested grade cheapest first with links; the PSA 10 premium over raw; the active listing count; and the verified recent eBay sales for one grade, newest first.
The card as a PokeFocus id, the slug from its pokefocus.com URL, or the full pokefocus.com URL.
Grade for the recent sales list.
Window for recent sales. Individual sales are kept for 90 days.
How many recent sales to list.
Use this when the user asks what a specific Pokémon card is worth or has sold for, raw or graded (PSA 9 or PSA 10 slabs), or wants its sold comps or price trend. One card as its pokefocus.com page shows it: TCGplayer market price with 7- and 30-day change, 30-day range, and the overbought/oversold reading; for raw, PSA 9, and PSA 10 the 30-day eBay sold median and sale count and the lowest trusted eBay Buy It Now; the offers for the requested grade cheapest first with links; the PSA 10 premium over raw; the active listing count; and the verified recent eBay sales for one grade, newest first.
| Argument | Type | Description |
|---|---|---|
| card* | string | The card as a PokeFocus id, the slug from its pokefocus.com URL, or the full pokefocus.com URL. |
| grade | string | Grade for the recent sales list. |
| range | string | Window for recent sales. Individual sales are kept for 90 days. |
| sales | integer | How many recent sales to list. |
{
"type": "object",
"required": [
"card"
],
"properties": {
"card": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "The card as a PokeFocus id, the slug from its pokefocus.com URL, or the full pokefocus.com URL."
},
"grade": {
"enum": [
"raw",
"psa9",
"psa10"
],
"type": "string",
"default": "raw",
"description": "Grade for the recent sales list."
},
"range": {
"enum": [
"7d",
"30d",
"90d"
],
"type": "string",
"default": "30d",
"description": "Window for recent sales. Individual sales are kept for 90 days."
},
"sales": {
"type": "integer",
"default": 10,
"maximum": 50,
"minimum": 0,
"description": "How many recent sales to list."
}
},
"additionalProperties": false
}Use this when the user asks how the Pokémon card market is moving, which cards or sets are up or down, or for today's market report. PokeFocus Market Pulse, the daily Pokémon card market report: headline, 7-day direction, cards up and down, and each section's summary with the cards or sealed products it highlights (price, 7-day change, sales) and its ranked set and sealed tables. Also lists recent reports.
| Argument | Type | Description |
|---|---|---|
| date | string | Report date (YYYY-MM-DD). Leave empty for the latest report. |
{
"type": "object",
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Report date (YYYY-MM-DD). Leave empty for the latest report."
}
},
"additionalProperties": false
}Use this when the user asks what a specific sealed Pokémon product, such as a booster box or ETB, costs, is worth, where it is cheapest, or works out to per pack. One sealed product as its pokefocus.com page shows it: TCGplayer market price with 7- and 30-day change; the cheapest eBay and TCGplayer offers side by side with shipping, price per pack, and links; the 30-day median, low, and high and where today sits; the overbought/oversold reading; supply on both marketplaces; the set's top cards; and 30 days of daily market price.
| Argument | Type | Description |
|---|---|---|
| product* | string | The sealed product as a PokeFocus id, the slug from its pokefocus.com URL, or the full pokefocus.com URL. |
{
"type": "object",
"required": [
"product"
],
"properties": {
"product": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "The sealed product as a PokeFocus id, the slug from its pokefocus.com URL, or the full pokefocus.com URL."
}
},
"additionalProperties": false
}Use this when the user asks about the most valuable cards, card prices, or sealed products in a set. One Pokémon TCG set as pokefocus.com shows it: its cards with TCGplayer market prices (most valuable first by default) and its sealed products with market price, lowest listing, pack count, and price per pack.
| Argument | Type | Description |
|---|---|---|
| set* | string | The set as a PokeFocus id, the slug from its pokefocus.com URL, or the full pokefocus.com URL. |
| cardSort | string | Most valuable cards first, or set order. |
| cardLimit | integer | How many cards to list. |
{
"type": "object",
"required": [
"set"
],
"properties": {
"set": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "The set as a PokeFocus id, the slug from its pokefocus.com URL, or the full pokefocus.com URL."
},
"cardSort": {
"enum": [
"price_desc",
"number"
],
"type": "string",
"default": "price_desc",
"description": "Most valuable cards first, or set order."
},
"cardLimit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "How many cards to list."
}
},
"additionalProperties": false
}Use this when the user names or describes a Pokémon card and wants to identify it or see its price, value, or sold comps. Finds Pokémon cards the way the pokefocus.com search box does, best match first. Each card has its id, TCGplayer market price, 30-day raw and PSA 10 eBay sold medians and sale counts, image, card page, and a link to its active listings. When match is partial, no card matched every word and the results leave out ignoredTerms, so they may be a different card. Not for sealed products.
| Argument | Type | Description |
|---|---|---|
| q* | string | Card name, number ("173/165", "GG35"), set name or code, rarity, or a mix, as in the pokefocus.com search box. |
| limit | integer | Results to return. |
{
"type": "object",
"required": [
"q"
],
"properties": {
"q": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"description": "Card name, number (\"173/165\", \"GG35\"), set name or code, rarity, or a mix, as in the pokefocus.com search box."
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 24,
"minimum": 1,
"description": "Results to return."
}
},
"additionalProperties": false
}Use this when the user wants to find, compare, or buy Pokémon card listings on eBay, including raw cards, graded slabs, deals, and well-centered copies. Active eBay listings for Pokémon cards with every pokefocus.com/listings filter: card search, cards or set, grade, era, rarity, centering, price, free shipping, listing checks (tags), seller feedback, seller location, and under-market auctions. Each listing has price, shipping, grade or seller condition, its market reference (TCGplayer for raw cards, the eBay sold median for PSA 9 and PSA 10), the card page, and the eBay listing page (ebayUrl). Each deal listing has a deal object saying why (priced under market, or at or under market after a 14-day dip). For deals, set deals to true (deal listings only) or sort by best_match (newest listings with deals mixed in, as pokefocus.com does); the market_gap sorts cover only listings with an exact condition market. Results match pokefocus.com/listings for the same filters.
| Argument | Type | Description |
|---|---|---|
| q | string | Card name, optionally with the number before the slash. |
| era | string | Only sets from one era. |
| page | integer | Page of results. |
| sort | string | Default: newest for Buy It Now, ending_soon for auctions. best_match (Buy It Now only) lists the newest listings with deal listings from sellers at 98% or more positive feedback at every third position; a deal is priced under a trusted market, or is a raw card in a market dip whose price plus known shipping is at or under its market. price_asc and price_desc sort by item price. market_gap_percent and market_gap_dollars list the largest gaps under market first and include only listings with a confirmed market comparison, and auctions only in their final hour because a current bid is not the final price; best_deal is the same as market_gap_percent, and fixed_opportunity ranks by market gap, then newest. title_asc, title_desc, timing_asc, timing_desc, and recently_synced match the site. |
Use this when the user asks about booster boxes, Elite Trainer Boxes (ETBs), booster bundles, tins, collections, or other sealed Pokémon products. Sealed products with their id, TCGplayer market price, set, image, and product page.
| Argument | Type | Description |
|---|---|---|
| q* | string | Product name, type (booster box, elite trainer box), set name, or set code. |
| page | integer | Page of results. |
| limit | integer | Results per page. |
{
"type": "object",
"required": [
"q"
],
"properties": {
"q": {
"type": "string",
"maxLength": 120,
"minLength": 2,
"description": "Product name, type (booster box, elite trainer box), set name, or set code."
},
"page": {
"type": "integer",
"default": 1,
"maximum": 100,
"minimum": 1,
"description": "Page of results."
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 50,
"minimum": 1,
"description": "Results per page."
}
},
"additionalProperties": false
}Use this when the user names a Pokémon TCG set or asks which sets exist. Sets by name or code, or every set newest first. Each set has its id, code, release date, logo, and its card list and sealed product pages on pokefocus.com.
| Argument | Type | Description |
|---|---|---|
| q | string | Set name or code. Leave empty to list sets, newest release first. |
| page | integer | Page of results. |
| sort | string | relevance (the default with q), releaseDate (newest first, the default without q), set (A to Z), or year (newest first). |
| limit | integer | Results per page. |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"maxLength": 120,
"description": "Set name or code. Leave empty to list sets, newest release first."
},
"page": {
"type": "integer",
"default": 1,
"maximum": 100,
"minimum": 1,
"description": "Page of results."
},
"sort": {
"enum": [
"relevance",
"releaseDate",
"set",
"year"
],
"type": "string",
"description": "relevance (the default with q), releaseDate (newest first, the default without q), set (A to Z), or year (newest first)."
},
"limit": {
"type": "integer",
"default": 20,
"maximum": 50,
"minimum": 1,
"description": "Results per page."
}
},
"additionalProperties": false
}| tags | array | Listing checks: hide_over_market (Avoid listings more than 15% above captured market); hide_quantity_based (Hide quantity listings); hide_no_returns (Hide listings with no returns); only_authenticity_guarantee (Only eBay Authenticity Guarantee); hide_seller_description_caution (Hide seller description cautions); hide_missing_back (Require a back photo); hide_missing_corners (Require corner detection); hide_holder_present (Exclude holder or stand photos); only_near_mint_or_better (Raw: Near Mint or better); only_card_condition_excellent (Raw: Lightly Played (Excellent)); only_card_condition_very_good (Raw: Moderately Played (Very Good)); only_card_condition_poor (Raw: Heavily Played (Poor)). The raw condition checks apply with grade=raw. |
| cards | array | Only these cards, by PokeFocus card id (`card.id` in listing and card results). |
| deals | boolean | Only deal listings (Buy It Now): priced under a trusted market at least 7% and $0.50, or a raw card in a 14-day market dip priced with known shipping at or under its market. PokeFocus confirms the card and its print first. The deal set refreshes every five minutes. Combine with any other filter; sorts newest first unless sort is set. |
| grade | string | Raw (ungraded), any graded slab, PSA 9, or PSA 10. |
| limit | integer | Results per page. |
| setId | string | Only cards from this set, by PokeFocus set id (`card.setId` in listing results, `id` in set results). |
| centered | boolean | Only listings whose front photo measured centeringThreshold or better on every side. Measured from the photo; not a grade. |
| maxPrice | number | Maximum item price in US dollars. |
| minPrice | number | Minimum item price in US dollars. |
| rarities | array | Only these card rarities, such as Special Illustration Rare. |
| minProfit | number | Under-market auctions: minimum dollars under market. |
| listingType | string | FixedPriceRecent is Buy It Now. |
| freeShipping | boolean | Only listings with free shipping. |
| auctionFilter | string | underMarket keeps auctions in their final hour whose next bid is under market by minDiscountPercent and minProfit; it sets listingType=Auction. Only auctions with a confirmed market comparison qualify. |
| locationScope | string | Seller location. |
| maxHoursRemaining | number | Under-market auctions: ending within this many hours. Only the final hour counts, so larger values are capped at 1. |
| centeringThreshold | number | Minimum share for every side: 45 means 45/55 or better. |
| minDiscountPercent | number | Under-market auctions: minimum discount from market, in percent. |
| minSellerFeedbackScore | integer | Minimum seller feedback score. |
| minSellerFeedbackPercent | number | Minimum positive seller feedback percentage. |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"maxLength": 120,
"description": "Card name, optionally with the number before the slash."
},
"era": {
"enum": [
"mega-evolution",
"scarlet-violet",
"sword-shield",
"sun-moon",
"xy",
"black-white",
"heartgold-soulsilver",
"diamond-pearl",
"ex",
"wizards"
],
"type": "string",
"description": "Only sets from one era."
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page of results."
},
"sort": {
"enum": [
"default",
"best_match",
"newest",
"price_asc",
"price_desc",
"market_gap_percent",
"market_gap_dollars",
"fixed_opportunity",
"best_deal",
"ending_soon",
"title_asc",
"title_desc",
"timing_asc",
"timing_desc",
"recently_synced"
],
"type": "string",
"description": "Default: newest for Buy It Now, ending_soon for auctions. best_match (Buy It Now only) lists the newest listings with deal listings from sellers at 98% or more positive feedback at every third position; a deal is priced under a trusted market, or is a raw card in a market dip whose price plus known shipping is at or under its market. price_asc and price_desc sort by item price. market_gap_percent and market_gap_dollars list the largest gaps under market first and include only listings with a confirmed market comparison, and auctions only in their final hour because a current bid is not the final price; best_deal is the same as market_gap_percent, and fixed_opportunity ranks by market gap, then newest. title_asc, title_desc, timing_asc, timing_desc, and recently_synced match the site."
},
"tags": {
"type": "array",
"items": {
"enum": [
"hide_over_market",
"hide_quantity_based",
"hide_no_returns",
"only_authenticity_guarantee",
"hide_seller_description_caution",
"hide_missing_back",
"hide_missing_corners",
"hide_holder_present",
"only_near_mint_or_better",
"only_card_condition_excellent",
"only_card_condition_very_good",
"only_card_condition_poor"
],
"type": "string"
},
"description": "Listing checks: hide_over_market (Avoid listings more than 15% above captured market); hide_quantity_based (Hide quantity listings); hide_no_returns (Hide listings with no returns); only_authenticity_guarantee (Only eBay Authenticity Guarantee); hide_seller_description_caution (Hide seller description cautions); hide_missing_back (Require a back photo); hide_missing_corners (Require corner detection); hide_holder_present (Exclude holder or stand photos); only_near_mint_or_better (Raw: Near Mint or better); only_card_condition_excellent (Raw: Lightly Played (Excellent)); only_card_condition_very_good (Raw: Moderately Played (Very Good)); only_card_condition_poor (Raw: Heavily Played (Poor)). The raw condition checks apply with grade=raw."
},
"cards": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 250,
"description": "Only these cards, by PokeFocus card id (`card.id` in listing and card results)."
},
"deals": {
"type": "boolean",
"description": "Only deal listings (Buy It Now): priced under a trusted market at least 7% and $0.50, or a raw card in a 14-day market dip priced with known shipping at or under its market. PokeFocus confirms the card and its print first. The deal set refreshes every five minutes. Combine with any other filter; sorts newest first unless sort is set."
},
"grade": {
"enum": [
"raw",
"graded",
"psa9",
"psa10"
],
"type": "string",
"description": "Raw (ungraded), any graded slab, PSA 9, or PSA 10."
},
"limit": {
"type": "integer",
"default": 24,
"maximum": 50,
"minimum": 1,
"description": "Results per page."
},
"setId": {
"type": "string",
"description": "Only cards from this set, by PokeFocus set id (`card.setId` in listing results, `id` in set results)."
},
"centered": {
"type": "boolean",
"description": "Only listings whose front photo measured centeringThreshold or better on every side. Measured from the photo; not a grade."
},
"maxPrice": {
"type": "number",
"minimum": 0,
"description": "Maximum item price in US dollars."
},
"minPrice": {
"type": "number",
"minimum": 0,
"description": "Minimum item price in US dollars."
},
"rarities": {
"type": "array",
"items": {
"type": "string",
"maxLength": 128
},
"maxItems": 50,
"description": "Only these card rarities, such as Special Illustration Rare."
},
"minProfit": {
"type": "number",
"default": 8,
"maximum": 5000,
"minimum": 0,
"description": "Under-market auctions: minimum dollars under market."
},
"listingType": {
"enum": [
"FixedPriceRecent",
"Auction",
"All"
],
"type": "string",
"default": "FixedPriceRecent",
"description": "FixedPriceRecent is Buy It Now."
},
"freeShipping": {
"type": "boolean",
"description": "Only listings with free shipping."
},
"auctionFilter": {
"enum": [
"all",
"underMarket"
],
"type": "string",
"default": "all",
"description": "underMarket keeps auctions in their final hour whose next bid is under market by minDiscountPercent and minProfit; it sets listingType=Auction. Only auctions with a confirmed market comparison qualify."
},
"locationScope": {
"enum": [
"us",
"outside_us",
"both"
],
"type": "string",
"default": "us",
"description": "Seller location."
},
"maxHoursRemaining": {
"type": "number",
"default": 1,
"maximum": 1,
"minimum": 0.25,
"description": "Under-market auctions: ending within this many hours. Only the final hour counts, so larger values are capped at 1."
},
"centeringThreshold": {
"enum": [
40,
45,
47.5,
50
],
"type": "number",
"default": 45,
"description": "Minimum share for every side: 45 means 45/55 or better."
},
"minDiscountPercent": {
"type": "number",
"default": 15,
"maximum": 95,
"minimum": 0,
"description": "Under-market auctions: minimum discount from market, in percent."
},
"minSellerFeedbackScore": {
"type": "integer",
"minimum": 0,
"description": "Minimum seller feedback score."
},
"minSellerFeedbackPercent": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Minimum positive seller feedback percentage."
}
},
"additionalProperties": false
}