MTGDecks Metagame MCP Server
MTGDecks Metagame MCP
Un PoC de Python/MCP que lee las páginas públicas de MTGDecks.net y normaliza la información de metagame y mazos en un formato JSON consistente.
Como no se ha confirmado una API pública documentada, se utilizan el HTML público del sitio y filtros basados en URL. No se requiere inicio de sesión en el navegador ni cookies.
Funciones proporcionadas
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,
)Cada función está disponible tanto como función de Python como herramienta MCP.
Related MCP server: Mystic Forge
Requisitos
Python 3.10 o superior
Se recomienda
uv
Instalación
git clone <repository-url>
cd Metagame-MCP
uv syncPara instalar también las dependencias de desarrollo y prueba, use el siguiente comando.
uv sync --extra devEjecutar el servidor MCP
El servidor se ejecuta por defecto con transporte stdio.
uv run mtgdecks-mcpUn ejemplo de configuración del host MCP es el siguiente. Debe cambiar cwd a la ruta absoluta real de este repositorio.
{
"mcpServers": {
"mtgdecks": {
"command": "uv",
"args": ["run", "mtgdecks-mcp"],
"cwd": "C:\\path\\to\\Metagame-MCP"
}
}
}Las herramientas MCP registradas son las siguientes cuatro:
get_metagameget_recent_decksget_archetype_decksget_top_performing_decks
Uso en 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,
)Para múltiples consultas, es más eficiente usar el cliente directamente para reutilizar las conexiones HTTP.
from mtgdecks_mcp import MTGDecksClient
with MTGDecksClient() as client:
modern = client.get_metagame("Modern")
pioneer = client.get_metagame("Pioneer")Argumentos
format
El nombre del formato utilizado en MTGDecks.net. Por ejemplo: Standard, Pioneer, Modern, Legacy, Pauper, Commander, Duel-Commander.
source
Valor | Significado |
| Metagame completo |
| Metagame de eventos MTGO |
| Metagame de eventos principales recientes |
mtgo-events, major-events, recent-major-events también se pueden usar como alias.
platform
mtgoarenatabletop
No distingue entre mayúsculas y minúsculas.
game_type
BO1BO3
No distingue entre mayúsculas y minúsculas.
Límites del rango de consulta
max_pages:1~10limit:1~100min_players: entero positivo
Estructura de la respuesta
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
}
]
}Lista de mazos
Las funciones de consulta de mazos devuelven comúnmente pages y decks. pages contiene las URLs de las páginas originales realmente consultadas.
{
"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
}
]
}Los campos que MTGDecks no proporciona en la página pueden ser null. Los precios son valores en USD según Paper/TCGPlayer de la página.
get_top_performing_decks no calcula su propia puntuación de rendimiento; utiliza la ordenación ascendente por rank de MTGDecks. Por lo tanto, se devuelven primero los mazos con mejores resultados en eventos, como ganadores, subcampeones y Top 8.
Pruebas
uv run pytestLas pruebas no acceden a sitios externos; utilizan ejemplos HTML guardados y httpx.MockTransport.
Estructura del proyecto
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.pyLimitaciones y condiciones de uso
Este proyecto depende de la estructura HTML pública, por lo que si el marcado o las rutas de MTGDecks.net cambian, puede ser necesario modificar el analizador.
El rastreo masivo, la recopilación paralela y la persistencia en caché/base de datos no están incluidos en el alcance del PoC.
La precisión y disponibilidad de los datos originales dependen de MTGDecks.net.
Todos los resultados normalizados incluyen la URL original para trazabilidad.
Los términos de servicio de MTGDecks limitan el contenido a uso personal y no comercial. Antes de expandir a servicios comerciales o recopilación masiva continua, verifique el permiso de MTGDecks o una asociación de API.
Documentación relacionada: Términos de servicio de MTGDecks
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