D&D 5E MCP Server
Accede al contenido de Dungeons & Dragons 5ª Edición, incluyendo hechizos, clases y monstruos, a través de la API de Open5e.
Documentación
D&D 5E MCP Server
Un servidor MCP (Model Context Protocol) que proporciona acceso al contenido de D&D 5ª Edición a través de la API REST de Open5e. Este servidor permite a los asistentes de IA y otros clientes MCP recuperar información completa de D&D 5E, incluyendo conjuros, clases, razas, monstruos y equipo.
Herramientas Disponibles
Búsqueda Universal
unified_search- Busca en todos los tipos de contenido de D&D con clasificación inteligente- Parámetro
queryrequerido para términos de búsqueda - Filtro opcional
content_typespara contenido específico (conjuros, monstruos, razas, etc.) fuzzy_thresholdopcional para sensibilidad de coincidencia- Devuelve resultados clasificados en todos los tipos de contenido
- Parámetro
Herramientas de Conjuros
search_spells- Busca conjuros por nombre u obtiene todos los conjuros- Parámetro opcional
querypara filtrar por nombre de conjuro - Devuelve información básica del conjuro (nombre, nivel, escuela, tiempo de lanzamiento, etc.)
- Parámetro opcional
get_spell_details- Obtén detalles completos sobre un conjuro específico- Requiere el parámetro
spell_name - Devuelve la descripción completa del conjuro, componentes, duración y listas de clases
- Requiere el parámetro
get_spell_by_level- Obtén todos los conjuros de un nivel específico (0-9)- Requiere el parámetro
level(0 para trucos, 1-9 para niveles de conjuro)
- Requiere el parámetro
get_spells_by_class- Obtén todos los conjuros disponibles para una clase específica- Requiere el parámetro
class_name(p. ej., "wizard", "cleric", "bard")
- Requiere el parámetro
Herramientas de Clases
search_classes- Obtén una lista de todas las clases disponibles de D&D 5E- Devuelve información básica de todas las clases principales
get_class_details- Obtén información detallada sobre una clase específica- Requiere el parámetro
class_name - Devuelve dados de golpe, tiradas de salvación, descripción y subclases disponibles
- Requiere el parámetro
Herramientas de Razas
search_races- Obtén una lista de todas las razas disponibles de D&D 5E- Devuelve información básica de la raza desde la página de linaje
get_race_details- Obtén información detallada sobre una raza específica- Requiere el parámetro
race_name - Devuelve tamaño, velocidad, incrementos de puntuación de habilidad, rasgos y descripción
- Requiere el parámetro
Herramientas de Monstruos
search_monsters- Busca monstruos con opciones de filtrado- Parámetro opcional
querypara nombres de monstruos - Filtro opcional
challenge_rating - Devuelve estadísticas del monstruo e información básica
- Parámetro opcional
get_monsters_by_cr- Obtén todos los monstruos de un índice de desafío específicoget_monsters_by_cr_range- Obtén monstruos dentro de un rango de CR para planificación de encuentros
Herramientas de Equipo
search_weapons- Busca armas con filtrado por propiedades- Filtros opcionales para armas marciales/de sutileza
search_armor- Busca armaduras con filtrado por CA y categoríasearch_magic_items- Busca objetos mágicos con filtrado por rarezaget_magic_item_details- Obtén información detallada de objetos mágicos
Herramientas de Construcción de Personajes
search_feats- Busca dotes de personajeget_feat_details- Obtén información detallada de dotessearch_backgrounds- Busca trasfondos de personajeget_background_details- Obtén información detallada de trasfondosgenerate_character_build- Genera construcciones de personaje optimizadascompare_character_builds- Compara múltiples opciones de construcción de personajeget_build_recommendations- Obtén recomendaciones de construcción para la composición del grupo
Herramientas de Dungeon Master
build_encounter- Construye encuentros equilibrados para el grupo especificado- Requiere
party_size,party_levelydifficulty - Filtros opcionales para entorno, tipos de monstruos, rango de CR
- Devuelve un encuentro equilibrado con cálculos de XP
- Requiere
calculate_encounter_difficulty- Calcula la dificultad de encuentros personalizados- Requiere información del grupo y lista de monstruos con cantidades
- Devuelve la calificación de dificultad del encuentro y el desglose de XP
Herramientas de Reglas y Referencia
search_conditions- Busca condiciones de estado y efectosget_condition_details- Obtén información detallada de condicionesget_all_conditions- Obtén todas las condiciones para referencia rápidasearch_sections- Busca secciones de reglas para consultas rápidas de reglasget_section_details- Obtén información detallada de secciones de reglassearch_spell_lists- Busca listas de conjuros por claseget_spell_list_details- Obtén listas de conjuros detalladas para clases específicas
Instalación
-
Clona este repositorio:
git clone <repository-url> cd dnd-mcp -
Instala las dependencias:
npm install -
Compila el proyecto:
npm run build
Uso
Ejecutando el Servidor
npm start
Modo de Desarrollo
npm run dev
Configuración del Cliente MCP
Añade a tu configuración de cliente MCP (p. ej., mcp.json):
{
"mcpServers": {
"dnd-5e": {
"command": "node",
"args": ["dist/index.js"],
"cwd": "/path/to/dnd-mcp"
}
}
}
Ejemplo de Uso de Herramientas MCP
El servidor implementa el Model Context Protocol, exponiendo herramientas que pueden ser llamadas por clientes MCP. Aquí hay algunos ejemplos de llamadas a herramientas:
Búsqueda Universal
{
"name": "unified_search",
"arguments": {
"query": "fireball",
"content_types": ["spells", "magic-items"]
}
}
Construir Encuentro
{
"name": "build_encounter",
"arguments": {
"party_size": 4,
"party_level": 5,
"difficulty": "medium",
"environment": "dungeon"
}
}
Generar Construcción de Personaje
{
"name": "generate_character_build",
"arguments": {
"playstyle": "damage",
"preferred_class": "fighter",
"campaign_type": "combat"
}
}
Características Técnicas
- Caché Inteligente: Caché TTL de 1 hora para minimizar solicitudes al sitio web fuente
- Limitación de Velocidad: Retrasos de 1 segundo entre solicitudes para respetar los recursos del servidor
- Manejo de Errores: Manejo integral de errores para problemas de red y contenido faltante
- TypeScript: Implementación completamente tipada para una mejor experiencia de desarrollo
- Protocolo MCP: Cumplimiento total con las especificaciones del Model Context Protocol
- Pruebas Integrales: Cobertura completa de pruebas para la funcionalidad de la API de Open5e y operaciones de scraping
Arquitectura
- Integración con la API de Open5e: Usa Axios para la comunicación REST API con Open5e
- Procesamiento de Contenido: Manejo de datos estructurados de respuestas JSON de Open5e
- Servidor MCP: Implementación estándar del protocolo MCP con transporte stdio
- Capa de Caché: NodeCache para almacenamiento eficiente de contenido
Desarrollo
Scripts Disponibles
npm run build- Compila TypeScript a JavaScriptnpm run dev- Ejecuta en modo de desarrollo con recarga en calientenpm start- Ejecuta el servidor compiladonpm run lint- Ejecuta ESLintnpm test- Ejecuta pruebas de Jest (incluye pruebas integrales de la API de Open5e)
Estructura del Proyecto
src/
├── index.ts # MCP server implementation and tool handlers
├── scraper.ts # Open5e API integration and data fetching
tsconfig.json # TypeScript configuration
mcp.json # MCP client configuration example
Fuentes de Datos
Este servidor utiliza la API REST de Open5e para acceder al contenido de D&D 5ª Edición. La implementación:
- Aprovecha la API de Open5e para datos completos de D&D 5E
- Implementa caché inteligente para minimizar solicitudes a la API
- Usa limitación de velocidad y manejo de errores apropiados
- Proporciona respuestas JSON estructuradas desde la API
Actualizaciones Recientes
- Migración a Open5e: Migrado de web scraping a la API REST de Open5e para mayor fiabilidad
- Suite Integral de Herramientas: Se añadieron más de 40 herramientas que cubren todos los tipos de contenido de D&D 5E
- Búsqueda Unificada: Búsqueda inteligente en todo el contenido con coincidencia difusa
- Herramientas de DM: Construcción de encuentros, cálculo de dificultad y equilibrio del grupo
- Construcción de Personajes: Optimización automatizada de personajes y comparación de construcciones
- Cobertura Completa de Pruebas: Pruebas integrales para toda la funcionalidad de la API
Licencia
Licencia MIT