D&D 5E MCP Server
Acesse conteúdo de Dungeons & Dragons 5ª Edição, incluindo magias, classes e monstros, através da API Open5e.
Documentação
Servidor MCP D&D 5E
Um servidor MCP (Model Context Protocol) que fornece acesso ao conteúdo da 5ª Edição de D&D por meio da API REST Open5e. Este servidor permite que assistentes de IA e outros clientes MCP recuperem informações abrangentes de D&D 5E, incluindo magias, classes, raças, monstros e equipamentos.
Ferramentas Disponíveis
Busca Universal
unified_search- Busca em todos os tipos de conteúdo de D&D com classificação inteligente- Parâmetro
queryobrigatório para termos de busca - Filtro opcional
content_typespara conteúdo específico (magias, monstros, raças, etc.) fuzzy_thresholdopcional para sensibilidade de correspondência- Retorna resultados classificados em todos os tipos de conteúdo
- Parâmetro
Ferramentas de Magias
search_spells- Busca magias por nome ou recupera todas as magias- Parâmetro opcional
querypara filtrar por nome de magia - Retorna informações básicas da magia (nome, nível, escola, tempo de conjuração, etc.)
- Parâmetro opcional
get_spell_details- Obtém detalhes abrangentes sobre uma magia específica- Requer o parâmetro
spell_name - Retorna descrição completa da magia, componentes, duração e listas de classes
- Requer o parâmetro
get_spell_by_level- Obtém todas as magias de um nível específico (0-9)- Requer o parâmetro
level(0 para truques, 1-9 para níveis de magia)
- Requer o parâmetro
get_spells_by_class- Obtém todas as magias disponíveis para uma classe específica- Requer o parâmetro
class_name(ex.: "mago", "clérigo", "bardo")
- Requer o parâmetro
Ferramentas de Classes
search_classes- Obtém uma lista de todas as classes disponíveis de D&D 5E- Retorna informações básicas para todas as classes principais
get_class_details- Obtém informações detalhadas sobre uma classe específica- Requer o parâmetro
class_name - Retorna dado de vida, testes de resistência, descrição e subclasses disponíveis
- Requer o parâmetro
Ferramentas de Raças
search_races- Obtém uma lista de todas as raças disponíveis de D&D 5E- Retorna informações básicas de raça da página de linhagem
get_race_details- Obtém informações detalhadas sobre uma raça específica- Requer o parâmetro
race_name - Retorna tamanho, deslocamento, aumentos de valor de habilidade, traços e descrição
- Requer o parâmetro
Ferramentas de Monstros
search_monsters- Busca monstros com opções de filtro- Parâmetro opcional
querypara nomes de monstros - Filtro opcional
challenge_rating - Retorna estatísticas e informações básicas do monstro
- Parâmetro opcional
get_monsters_by_cr- Obtém todos os monstros de um desafio específicoget_monsters_by_cr_range- Obtém monstros dentro de uma faixa de ND para planejamento de encontros
Ferramentas de Equipamentos
search_weapons- Busca armas com filtro de propriedades- Filtros opcionais para armas marciais/versáteis
search_armor- Busca armaduras com filtro de CA e categoriasearch_magic_items- Busca itens mágicos com filtro de raridadeget_magic_item_details- Obtém informações detalhadas de itens mágicos
Ferramentas de Criação de Personagem
search_feats- Busca talentos de personagemget_feat_details- Obtém informações detalhadas de talentossearch_backgrounds- Busca antecedentes de personagemget_background_details- Obtém informações detalhadas de antecedentesgenerate_character_build- Gera builds de personagem otimizadoscompare_character_builds- Compara múltiplas opções de build de personagemget_build_recommendations- Obtém recomendações de build para composição de grupo
Ferramentas do Mestre
build_encounter- Monta encontros equilibrados para o grupo especificado- Requer
party_size,party_leveledifficulty - Filtros opcionais para ambiente, tipos de monstros, faixa de ND
- Retorna encontro equilibrado com cálculos de XP
- Requer
calculate_encounter_difficulty- Calcula a dificuldade de encontros personalizados- Requer informações do grupo e lista de monstros com quantidades
- Retorna classificação de dificuldade do encontro e detalhamento de XP
Ferramentas de Regras e Referência
search_conditions- Busca condições de status e efeitosget_condition_details- Obtém informações detalhadas de condiçõesget_all_conditions- Obtém todas as condições para referência rápidasearch_sections- Busca seções de regras para consultas rápidasget_section_details- Obtém informações detalhadas de seções de regrassearch_spell_lists- Busca listas de magias por classeget_spell_list_details- Obtém lista detalhada de magias para classes específicas
Instalação
-
Clone este repositório:
git clone <repository-url> cd dnd-mcp -
Instale as dependências:
npm install -
Compile o projeto:
npm run build
Uso
Executando o Servidor
npm start
Modo de Desenvolvimento
npm run dev
Configuração do Cliente MCP
Adicione à configuração do seu cliente MCP (ex.: mcp.json):
{
"mcpServers": {
"dnd-5e": {
"command": "node",
"args": ["dist/index.js"],
"cwd": "/path/to/dnd-mcp"
}
}
}
Exemplo de Uso de Ferramentas MCP
O servidor implementa o Model Context Protocol, expondo ferramentas que podem ser chamadas por clientes MCP. Aqui estão alguns exemplos de chamadas de ferramentas:
Busca Universal
{
"name": "unified_search",
"arguments": {
"query": "fireball",
"content_types": ["spells", "magic-items"]
}
}
Montar Encontro
{
"name": "build_encounter",
"arguments": {
"party_size": 4,
"party_level": 5,
"difficulty": "medium",
"environment": "dungeon"
}
}
Gerar Build de Personagem
{
"name": "generate_character_build",
"arguments": {
"playstyle": "damage",
"preferred_class": "fighter",
"campaign_type": "combat"
}
}
Recursos Técnicos
- Cache Inteligente: Cache TTL de 1 hora para minimizar solicitações ao site de origem
- Limitação de Taxa: Atrasos de 1 segundo entre solicitações para respeitar os recursos do servidor
- Tratamento de Erros: Tratamento abrangente de erros para problemas de rede e conteúdo ausente
- TypeScript: Implementação totalmente tipada para melhor experiência de desenvolvimento
- Protocolo MCP: Conformidade total com as especificações do Model Context Protocol
- Testes Abrangentes: Cobertura total de testes para funcionalidade da API Open5e e operações de scraping
Arquitetura
- Integração com API Open5e: Usa Axios para comunicação REST com Open5e
- Processamento de Conteúdo: Tratamento estruturado de dados das respostas JSON do Open5e
- Servidor MCP: Implementação padrão do protocolo MCP com transporte stdio
- Camada de Cache: NodeCache para armazenamento eficiente de conteúdo
Desenvolvimento
Scripts Disponíveis
npm run build- Compila TypeScript para JavaScriptnpm run dev- Executa em modo de desenvolvimento com recarga automáticanpm start- Executa o servidor compiladonpm run lint- Executa ESLintnpm test- Executa testes Jest (inclui testes abrangentes da API Open5e)
Estrutura do Projeto
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
Fontes de Dados
Este servidor usa a API REST Open5e para acessar o conteúdo da 5ª Edição de D&D. A implementação:
- Aproveita a API Open5e para dados abrangentes de D&D 5E
- Implementa cache inteligente para minimizar solicitações à API
- Usa limitação de taxa e tratamento de erros apropriados
- Fornece respostas JSON estruturadas da API
Atualizações Recentes
- Migração para Open5e: Migrado de web scraping para API REST Open5e para maior confiabilidade
- Conjunto Abrangente de Ferramentas: Adicionadas mais de 40 ferramentas cobrindo todos os tipos de conteúdo de D&D 5E
- Busca Unificada: Busca inteligente em todo o conteúdo com correspondência difusa
- Ferramentas do Mestre: Montagem de encontros, cálculo de dificuldade e balanceamento de grupo
- Criação de Personagem: Otimização automatizada de personagem e comparação de builds
- Cobertura Total de Testes: Testes abrangentes para toda a funcionalidade da API
Licença
Licença MIT