tcgplayer-api-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@tcgplayer-api-mcpShow me the price history for Morpeko ex over the last quarter."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
TCGplayer API
An SDK and REST API wrapper for TCGplayer providing structured access to trading card data including Pokemon, Magic: The Gathering, and other TCGs — with an MCP server for Claude Code integration.
Disclaimer: This SDK, REST API wrapper, and MCP server is an unofficial tool created for educational purposes only. It is not affiliated with, maintained, or endorsed by TCGplayer. Use of these tools may violate TCGplayer's terms of service.
Installation
npm install @deansasek/tcgplayer-apiRelated MCP server: Sports Trading Card Agent
SDK
The SDK provides a typed, class-based interface organized by resource.
import { TCGplayerClient } from '@deansasek/tcgplayer-api/sdk';
const client = new TCGplayerClient();
// Search
const results = await client.search.autocomplete('morpeko');
// Product details
const product = await client.products.details(704874);
// Price history
const history = await client.products.priceHistory(704874, { range: 'quarter' });SDK Resources
Resource | Methods |
|
|
|
|
|
|
|
|
|
|
SDK Example: Card Analysis
import { TCGplayerClient } from '@deansasek/tcgplayer-api/sdk';
const client = new TCGplayerClient();
async function analyzeCard(productId: number) {
const [details, sales, history] = await Promise.all([
client.products.details(productId),
client.products.sales(productId),
client.products.priceHistory(productId, { range: 'month' }),
]);
console.log(`${details.productName} (${details.setName})`);
console.log(`Market Price: $${details.marketPrice}`);
console.log(`Sellers: ${details.sellers}`);
if (sales.data.length > 0) {
const last = sales.data[0];
console.log(`Last Sale: $${last.purchasePrice} (${last.condition})`);
}
return { details, sales, history };
}
analyzeCard(704874); // Morpeko exREST API (Backward Compatible)
Flat function exports for direct API access.
import { autocomplete, getProduct } from '@deansasek/tcgplayer-api';autocomplete(query, options?)
Search for products by name.
const results = await autocomplete('charizard', { productLine: 'Pokemon' });search(options?)
Full search with filters, sorting, and pagination.
const results = await search({
q: 'charizard',
productLine: 'Pokemon',
from: 0,
size: 24,
});getProduct(productId)
Convenience function combining details, sales, and price history.
const product = await getProduct(704874);
// Returns: { details, sales, priceHistory }Other Functions
Function | Description |
| Full product information |
| Recent sales with filters |
| Historical pricing ( |
| Market volatility for a SKU |
| Buylist/market prices |
| Bulk SKU pricing |
| Detailed seller listings |
| All available product lines |
| Filter options for a category |
| Latest sets |
| Set information |
| Related products |
| Active promotions |
| Product attribute tags |
| Game verticals |
| Best-selling products |
| Trending suggestions |
| TCG vs Tabletop categories |
| Free shipping minimum |
| Shipping country list |
| Articles by vertical |
| Trending articles |
| Simplified product data |
| Normalize card name |
Condition Values
Value | Condition |
1 | Unopened |
2 | Damaged |
3 | Heavily Played |
4 | Moderately Played |
5 | Lightly Played |
6 | Near Mint |
7 | Mint |
MCP Server (Claude Code Integration)
The MCP server enables Claude Code to interact with TCGplayer data directly.
Installation
Claude Code automatically detects .mcp.json:
{
"mcpServers": {
"tcgplayer-api-mcp": {
"command": "node",
"args": ["dist/mcp/server.js"],
"cwd": "/Users/deansasek/Documents/Projects/tcgplayer"
}
}
}Available MCP Tools
Tool | Description |
| Search for products by name |
| Search with filters and pagination |
| Full product data (details, sales, price history) |
| Detailed product information |
| Recent sales data |
| Historical pricing data |
| Market volatility for a SKU |
| Buylist/market prices |
| Filter options (conditions, languages, variants) |
| All available product lines |
| Latest sets for product lines |
| Detailed seller listings |
| Set information by set ID |
| Faceted product recommendations |
| Active kickback promotions |
| Product attribute tags |
| Available game verticals |
| Best-selling products |
| Trending product suggestions |
| Catalog groups (TCG vs Tabletop) |
| Free shipping minimum |
| Shipping country codes |
| Articles for a vertical |
| Trending articles |
| Simplified product data |
| Normalize card name |
| Render a card as ASCII art |
MCP Usage Examples
User: Search for Morpeko cards
Claude uses: tcgplayer_search with q="morpeko"
User: Get latest sales for product 704874
Claude uses: tcgplayer_latest_sales with productId=704874
User: What conditions are available for Pokemon?
Claude uses: tcgplayer_category_filters with categoryId="3"
User: Show me Charizard as ASCII art
Claude uses: tcgplayer_render_card with productId=546343Development
npm run build # Compile TypeScript
npm run clean # Remove dist folder
npm run dev # Run server.ts directly
npm run mcp # Run MCP server directlyEnvironment
Node.js 18+ recommended (uses native fetch)
TypeScript with strict mode
ES Modules (
type: "module")
License
This project is dedicated to the public domain under the Unlicense.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables AI assistants to search and retrieve Magic: The Gathering card data through the Scryfall API. Supports card searches, random card generation, autocomplete, set listings, and rulings lookup.221MIT
- AlicenseAqualityDmaintenanceReal-time sports card pricing, market analysis, arbitrage detection, grading ROI, investment advice, and player stats (NBA/NFL/MLB). 9 tools for AI agents helping collectors and investors.92MIT
- AlicenseAqualityCmaintenanceEnables Claude to search and retrieve Magic: The Gathering card details, prices, set information, and random cards from Scryfall's database through natural language.41MIT
- Alicense-qualityCmaintenanceEnables querying Yu-Gi-Oh! TCG card data, such as card information, sets, and prices, through natural language.10MIT
Related MCP Connectors
Scryfall MCP — Magic: The Gathering card database.
TCGdex MCP — multi-language open trading card game database (Pokémon TCG and more).
Gateway between LLM agents and world data through eight tools and a bundled endpoint catalog.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/deansasek/tcgplayer-api'
If you have feedback or need assistance with the MCP directory API, please join our Discord server