pricecharting-api-mcp

pricecharting-api-mcp

Enables Claude Code to interact with PriceCharting pricing data, supporting search, product pricing, categories, and group listings across multiple collectible categories.

Category
Visit Server

README

PriceCharting API

An SDK and REST API wrapper for PriceCharting providing structured access to pricing data across all supported categories: Pokemon, Lorcana, Magic: The Gathering, YuGiOh, Funko Pops, LEGO, Comics, and more.

Disclaimer: This SDK and REST API wrapper is an unofficial tool created for educational purposes only. It is not affiliated with, maintained, or endorsed by PriceCharting. Use of these tools may violate PriceCharting's terms of service.

Installation

npm install @deansasek/pricecharting-api

SDK

The SDK provides a typed, class-based interface for programmatic access.

import { PriceChartingClient } from '@deansasek/pricecharting-api/sdk';

const client = new PriceChartingClient({ requestDelay: 500 });

// Search for products
const results = await client.search('charizard', { category: 'pokemon-cards' });

// Get full product pricing data
const product = await client.getProductPrice('pokemon-scarlet-&-violet-151', 'charizard-ex-199');

// Get product metadata
const meta = await client.getProductMeta('pokemon-scarlet-&-violet-151', 'charizard-ex-199');

// Get available categories
const categories = await client.getCategories();

// Get groups/sets within a category
const groups = await client.getGroupList('pokemon-cards');

SDK Methods

Method Description
client.search(query, options?) Search for products by name
client.autocomplete(query, category?) Get autocomplete suggestions
client.getCategories() List all available categories
client.getGroupList(category?) List groups/sets within a category
client.getProductPrice(gameSlug, productSlug) Full product data with prices, chart history, and population
client.getProductByUrl(url) Get product data from a URL
client.getProductMeta(gameSlug, productSlug) Product metadata only (no pricing)

SDK Example: Product Analysis

import { PriceChartingClient } from '@deansasek/pricecharting-api/sdk';

const client = new PriceChartingClient();

async function analyzeProduct(gameSlug: string, productSlug: string) {
  const result = await client.getProductPrice(gameSlug, productSlug);

  if (!result.success) {
    console.error('Failed to fetch product:', result.error);
    return;
  }

  console.log(`Product: ${result.cardName}`);
  console.log(`Category: ${result.category}`);
  console.log(`Grades available: ${result.grades.length}`);

  // Print grade prices
  for (const grade of result.grades) {
    console.log(`  ${grade.grade}: ${grade.price}`);
  }

  return result;
}

analyzeProduct('pokemon-scarlet-&-violet-151', 'charizard-ex-199');

REST API (Flat Functions)

Flat function exports for direct API access, identical to SDK methods.

import { search, getProduct, autocomplete } from '@deansasek/pricecharting-api';

search(query, options?)

Search for products by name.

const results = await search('charizard', { category: 'pokemon-cards' });

autocomplete(query, category?)

Get autocomplete suggestions.

const suggestions = await autocomplete('char', 'pokemon-cards');

getCategories()

Get all available categories.

const categories = await getCategories();

getGroupList(category?)

Get all groups/sets within a category.

const groups = await getGroupList('pokemon-cards');

getProductPrice(gameSlug, productSlug)

Get full product data including pricing.

const product = await getProductPrice('pokemon-scarlet-&-violet-151', 'charizard-ex-199');

getProductByUrl(url)

Get product data from a URL.

const product = await getProductByUrl('https://www.pricecharting.com/game/pokemon-scarlet-&-violet-151/charizard-ex-199');

getProductMeta(gameSlug, productSlug)

Get product metadata only.

const meta = await getProductMeta('pokemon-scarlet-&-violet-151', 'charizard-ex-199');

Other Functions

Function Description
search(query, options?) Search for products
autocomplete(query, category?) Autocomplete suggestions
getCategories() List all categories
getGroupList(category?) List groups/sets
getProductPrice(gameSlug, productSlug) Full product pricing
getProductByUrl(url) Product from URL
getProductMeta(gameSlug, productSlug) Metadata only
getProduct(gameSlug, productSlug) Convenience wrapper

REST API Server

HTTP server for network access.

Start the server

npm run dev    # Development with tsx
npm run build && npm start  # Production

HTTP Endpoints

Method Path Description
GET /health Health check
GET /search?q=...&category=... Search for products
GET /autocomplete?q=...&category=... Get autocomplete suggestions
GET /products/:gameSlug/:productSlug Get full product pricing
GET /product-by-url?url=... Get product by URL
GET /meta/:gameSlug/:productSlug Get product metadata only
GET /categories List all categories
GET /groups/:category List groups/sets within a category

Example Requests

# Search for Charizard cards
curl "http://localhost:3000/search?q=charizard&category=pokemon-cards"

# Get product pricing
curl "http://localhost:3000/products/pokemon-scarlet-%26-violet-151/charizard-ex-199"

# Get autocomplete suggestions
curl "http://localhost:3000/autocomplete?q=char&category=pokemon-cards"

# List Pokemon sets/groups
curl "http://localhost:3000/groups/pokemon-cards"

API Response Format

All endpoints return a consistent response structure:

// Success
{
  "success": true,
  "timestamp": "2026-08-07T00:00:00.000Z",
  // ... additional data
}

// Error
{
  "success": false,
  "timestamp": "2026-08-07T00:00:00.000Z",
  "error": "Error message"
}

Categories

PriceCharting supports multiple categories:

Category Slug Description
Pokemon pokemon-cards Pokemon TCG cards
Lorcana lorcana-cards Disney Lorcana cards
Magic magic-cards Magic: The Gathering
YuGiOh yugioh-cards YuGiOh cards
Funko Pops funko-pops Funko Pop! figures
LEGO lego LEGO sets
Comics comics Comics

MCP Server (Claude Code Integration)

The MCP server enables Claude Code to interact with PriceCharting data directly.

Installation

Claude Code automatically detects .mcp.json:

{
  "mcpServers": {
    "pricecharting-api-mcp": {
      "command": "node",
      "args": ["dist/mcp/server.js"],
      "cwd": "/path/to/pricecharting"
    }
  }
}

Available MCP Tools

Tool Description
pricecharting_search Search for products by name
pricecharting_autocomplete Get autocomplete suggestions
pricecharting_product_price Get full product pricing data
pricecharting_product_by_url Get product pricing from a URL
pricecharting_product_meta Get product metadata only
pricecharting_categories List all available categories
pricecharting_groups List groups/sets within a category

MCP Usage Examples

User: Search for Charizard cards on PriceCharting
Claude uses: pricecharting_search with query="charizard", category="pokemon-cards"

User: Get pricing for Charizard ex from Scarlet & Violet 151
Claude uses: pricecharting_product_price with gameSlug="pokemon-scarlet-&-violet-151", productSlug="charizard-ex-199"

User: What categories are available on PriceCharting?
Claude uses: pricecharting_categories

User: Show me all Pokemon sets/groups
Claude uses: pricecharting_groups with category="pokemon-cards"

Development

npm run build    # Compile TypeScript
npm run clean    # Remove dist folder
npm run dev      # Run server with tsx
npm start        # Run compiled server

Environment

  • Node.js 18+ recommended (uses native fetch)
  • TypeScript with strict mode
  • ES Modules (type: "module")
  • Uses JSDOM for HTML parsing (no browser/Playwright needed)

License

This project is dedicated to the public domain under the Unlicense.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured