The Problem: Single-Source Bias in Metagame Reasoning
Competitive deckbuilders and tactical dueling agents require accurate, empirical metagame data to calibrate side decks and quantify archetype threats. However, existing tooling suffers from chronic single-source distortion:
- Regional Partition Skew: Western circuits (YGOPRODeck) reflect North American and European Regional/YCS distributions, but completely ignore the Asian OCG circuit, which innovates format trends weeks in advance.
- Sample Size Discrepancies: Small, unweighted weekly tournaments skew representation percentages. An archetype with 3 tops out of 10 decks (30%) appears falsely dominant compared to an archetype with 80 tops out of 500 premier decks (16%).
- Runtime Scraping Fragility: Live web scraping in conversational agent sessions triggers rate limits (HTTP 429), breaks on frontend CSS changes, and adds 2–5 seconds of latency per user prompt.
Mathematical Foundation: Sample-Weighted Consensus
To harmonize conflicting regional feeds into a single authoritative metagame reality, the engine calculates the sample-weighted consensus share \(S_{\text{consensus}}(A)\) for any given archetype \(A\):
S_consensus(A) = [ ∑ (N_i * P_i(A)) ] / [ ∑ N_i ]
Where:
K = Number of reporting upstream sources
N_i = Verified tournament deck sample size from source i
P_i = Percentage meta share reported by source i
Tier Thresholds:
• Tier 1: S_consensus >= 15.0% (Format-defining / Dominant)
• Tier 2: 7.0% <= S_consensus < 15.0% (Competitive Staple)
• Tier 3: 3.0% <= S_consensus < 7.0% (Viable Contender)
• Rogue: S_consensus < 3.0% (Fringe / Anti-Meta Representation)
Upstream Source Providers
1. YGOPRODeck Tournament Analytics (API-First)
Queries internal structured AJAX endpoints (POST /api/tournament/getTopArchetypes.php) with precise timeframe mapping (dateStart="Format" for current post-release window, tier="NA" for competitive Tier 2+ events). Preserves exact source ranking on percentage ties.
2. Yu-Gi-Oh! Meta & Master Duel Meta (Rolling Window Ingestion)
Ingests real-time tournament top-cut data from the active 1-month rolling window (/api/v1/top-decks?sort[uploaded]=-1), providing native format partitioning for TCG (#tcgOnly), Asian OCG (#ocgOnly), and Genesys (#tournament=Genesys Format).
3. Road of the King (Asian OCG Championships)
Parses weekly OCG metagame reports from premier Asian circuits via deterministic semantic regex, extracting raw deck counts directly from editorial tournament breakdown tables.
Model Context Protocol (MCP) Tool Contract
When booted via stdio, ygo-meta-mcp exports 5 production analytical tools and 1 resource template:
1. get_meta_tier_list
Inputs: format ("TCG", "OCG", "MasterDuel", "Genesys"), timeframe, source ("all", "ygoprodeck", "yugiohmeta", "roadoftheking"), min_share, limit
Outputs: Normalized tier rankings, deck counts, and sample-weighted Bayesian consensus power scores
2. list_tournaments
Inputs: format, since_date, source, limit
Outputs: Concluded Premier, Regional, and CS events with dates, player counts, and winners
3. get_meta_decklists
Inputs: tournament_id, archetype, placement, limit
Outputs: Top-cut tournament deck profiles with player names, placements, and valid .ydk simulator strings
4. get_tech_adoption_trends
Inputs: archetype, format, timeframe, min_adoption, limit
Outputs: Empirical Main, Side, and Extra Deck tech card frequencies and average copy counts
5. evaluate_matchup_counters
Inputs: target_archetype, format, limit
Outputs: Opponent deck choke point diagnosis and statistically proven Side Deck counter cards
Zero-Install Integration via npx
Published globally on npm under the MIT license, developers and agents can connect immediately without cloning any repositories:
Cursor IDE Configuration (.cursor/mcp.json)
{
"mcpServers": {
"ygo-meta": {
"command": "npx",
"args": ["-y", "ygo-meta-mcp"],
"trust": true
}
}
}
Claude Code & Claude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"ygo-meta": {
"command": "npx",
"args": ["-y", "ygo-meta-mcp"]
}
}
}
The Recommended Dual-MCP Suite (Card Truth + Metagame)
For complete tournament grounding, pair ygoprodeck-mcp (pure card truth) with ygo-meta-mcp (competitive metagame):
{
"mcpServers": {
"ygoprodeck": {
"command": "npx",
"args": ["-y", "ygoprodeck-mcp"],
"trust": true
},
"ygo-meta": {
"command": "npx",
"args": ["-y", "ygo-meta-mcp"],
"trust": true
}
}
}
Comparative Architecture Benchmark
| Metric / Feature | Live Web Scraper | Single-Source API | ygo-meta-mcp (v1.0.0) |
|---|---|---|---|
| Data Scope | Single website only | Single vendor only | Multi-Source (YGOPD + YGM + RotK) |
| Sample Weighting | Unweighted / Raw % | Isolated sample | Bayesian Sample-Weighted Consensus |
| Runtime Latency | 1,200ms – 4,000ms | 250ms – 800ms | < 2ms (Local SQLite WAL) |
| Runtime Outbound HTTP | Continuous HTML pulls | 1 HTTP call per query | 0 requests (Air-Gapped) |
| Cloud Pre-Sync | No | No | Bi-weekly GitHub Actions Cron |
| Package Size | N/A | N/A | 19.9 kB (npm tarball) |