MTGDecks Metagame MCP Server
MTGDecks Metagame MCP
Ein Python/MCP-PoC, das öffentliche Seiten von MTGDecks.net liest und Metagame- und Deck-Informationen in ein konsistentes JSON-Format normalisiert.
Da keine dokumentierte öffentliche API verfügbar ist, werden das öffentliche HTML der Website und URL-basierte Filter verwendet. Eine Browser-Anmeldung oder Cookies sind nicht erforderlich.
Verfügbare Funktionen
get_metagame(
format: str,
source: str = "all",
)
get_recent_decks(
format: str,
platform: str | None = None,
game_type: str | None = None,
max_pages: int = 3,
)
get_archetype_decks(
format: str,
archetype: str,
limit: int = 20,
)
get_top_performing_decks(
format: str,
platform: str | None = None,
min_players: int | None = None,
limit: int = 20,
)Jede Funktion ist sowohl als Python-Funktion als auch als MCP-Tool verfügbar.
Related MCP server: Mystic Forge
Voraussetzungen
Python 3.10 oder höher
uvempfohlen
Installation
git clone <repository-url>
cd Metagame-MCP
uv syncUm auch Entwicklungs- und Testabhängigkeiten zu installieren, verwenden Sie den folgenden Befehl.
uv sync --extra devMCP-Server ausführen
Der Server läuft standardmäßig über den stdio-Transport.
uv run mtgdecks-mcpEin Beispiel für die MCP-Host-Konfiguration finden Sie unten. cwd muss auf den tatsächlichen absoluten Pfad dieses Repositorys geändert werden.
{
"mcpServers": {
"mtgdecks": {
"command": "uv",
"args": ["run", "mtgdecks-mcp"],
"cwd": "C:\\path\\to\\Metagame-MCP"
}
}
}Die folgenden vier MCP-Tools werden registriert.
get_metagameget_recent_decksget_archetype_decksget_top_performing_decks
Verwendung in Python
from mtgdecks_mcp import (
get_archetype_decks,
get_metagame,
get_recent_decks,
get_top_performing_decks,
)
metagame = get_metagame("Modern", source="mtgo")
recent = get_recent_decks(
"Modern",
platform="mtgo",
game_type="BO3",
max_pages=1,
)
archetype = get_archetype_decks(
"Modern",
"Boros Energy",
limit=5,
)
top = get_top_performing_decks(
"Modern",
platform="mtgo",
min_players=64,
limit=10,
)Bei mehreren Abfragen ist es effizienter, den Client direkt zu verwenden, um HTTP-Verbindungen wiederzuverwenden.
from mtgdecks_mcp import MTGDecksClient
with MTGDecksClient() as client:
modern = client.get_metagame("Modern")
pioneer = client.get_metagame("Pioneer")Argumente
format
Der von MTGDecks.net verwendete Formatname. Z. B. Standard, Pioneer, Modern, Legacy, Pauper, Commander, Duel-Commander.
source
Wert | Bedeutung |
| Gesamtes Metagame |
| Metagame der MTGO-Events |
| Metagame der letzten großen Events |
mtgo-events, major-events und recent-major-events können ebenfalls als Aliase verwendet werden.
platform
mtgoarenatabletop
Die Groß-/Kleinschreibung wird nicht beachtet.
game_type
BO1BO3
Die Groß-/Kleinschreibung wird nicht beachtet.
Einschränkung des Abfragebereichs
max_pages:1~10limit:1~100min_players: positive ganze Zahl
Antwortstruktur
Metagame
{
"format": "Modern",
"source": "all",
"url": "https://mtgdecks.net/Modern",
"selected_deck_count": 10994,
"updated_at": "2026-08-21 06:47:39",
"archetypes": [
{
"name": "Boros Energy",
"url": "https://mtgdecks.net/Modern/boros-energy",
"meta_share_percent": 7.98,
"trend_percent": -2.85,
"tier": "A",
"win_rate_percent": 49.0,
"top_25_conversion": 0.95,
"deck_count": 877,
"price_usd": 1109.0
}
]
}Deck-Listen
Die Deck-Abfragefunktionen geben gemeinsam pages und decks zurück. pages enthält die tatsächlich abgerufenen Original-Seiten-URLs.
{
"format": "Modern",
"pages": ["https://mtgdecks.net/Modern/decklists/page:1"],
"decks": [
{
"name": "deck",
"url": "https://mtgdecks.net/Modern/example-decklist-123",
"author": "Player",
"archetype": "Boros Energy",
"game_type": "BO3",
"platform": "mtgo",
"event": "MTGO Modern Challenge",
"event_level": 3,
"players": 94,
"spiciness_percent": 30.0,
"date": "2026-08-20",
"price_usd": 1112.0,
"placement": "1st",
"wins": 5,
"losses": 0,
"draws": 0,
"win_rate_percent": 100.0
}
]
}Felder, für die die MTGDecks-Seite keinen Wert liefert, können null sein. Die Preise sind USD-Werte basierend auf Paper/TCGPlayer auf der Seite.
get_top_performing_decks berechnet keinen eigenen Leistungswert, sondern verwendet die aufsteigende Sortierung nach rank von MTGDecks. Daher werden zuerst Decks mit guten Event-Ergebnissen wie Sieg, Zweiter oder Top 8 zurückgegeben.
Tests
uv run pytestDie Tests verwenden gespeicherte HTML-Beispiele und httpx.MockTransport, ohne auf externe Websites zuzugreifen.
Projektstruktur
src/mtgdecks_mcp/
├── __init__.py # 공개 Python API
├── parsers.py # MTGDecks HTML 정규화
├── server.py # MCP 도구 등록과 stdio 서버
└── service.py # URL 구성, HTTP 클라이언트, 네 가지 기능
tests/
├── test_parsers.py
└── test_service.pyEinschränkungen und Nutzungsbedingungen
Da dieses Projekt von der öffentlichen HTML-Struktur abhängt, können bei Änderungen am Markup oder an den Pfaden von MTGDecks.net Parser-Anpassungen erforderlich sein.
Massen-Crawling, paralleles Sammeln und Cache-/Datenbank-Persistenz sind nicht im Umfang des PoC enthalten.
Die Genauigkeit und Verfügbarkeit der Quelldaten hängt von MTGDecks.net ab.
Alle normalisierten Ergebnisse enthalten eine nachvollziehbare Quell-URL.
Die Nutzungsbedingungen von MTGDecks beschränken Inhalte auf persönliche, nicht-kommerzielle Zwecke. Bevor Sie auf kommerzielle Dienste oder kontinuierliches Massen-Sammeln erweitern, prüfen Sie die Genehmigung von MTGDecks oder eine API-Partnerschaft.
Verwandte Dokumentation: MTGDecks-Nutzungsbedingungen
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
- AlicenseAqualityDmaintenanceProvides AI assistants with 69 tools, 19 prompts, and 21 resources for deep access to Magic: The Gathering, including card data, combos, draft analytics, Commander metagame, competitive constructed, sideboard strategy, deck building, and rules engine, working with any MCP client.5616MIT
- AlicenseNot gradedqualityBmaintenanceUnified MCP server for Magic: The Gathering, combining Scryfall card search and pricing, EDHRec commander recommendations, Archidekt deck reading, and decklist validation into a single service.MIT
- FlicenseNot gradedqualityBmaintenanceProvides access to Magic: The Gathering card data via Scryfall API, including search, rulings, sets, and local deck management with multi-owner support.
- AlicenseAqualityBmaintenanceProvides AI assistants with comprehensive Magic: The Gathering data including card info, combos, draft analytics, Commander metagame, constructed formats, sideboard strategy, deck building, and rules.74MIT
Related MCP Connectors
Scryfall MCP — Magic: The Gathering card database.
Crypto intelligence MCP for market data, DeFi, wallets, security, DEX, NFTs, and Solana.
BGG MCP provides access to the BoardGameGeek API through the Model Context Protocol, enabling retr…
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/mingun-kim/MTG-Metagame-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server