Project Zomboid MCP Server
Um servidor MCP com inteligência artificial para desenvolvimento de mods do Project Zomboid, oferecendo validação de scripts, geração e assistência contextual.
Documentação
Project Zomboid MCP Server
Um servidor abrangente do Model Context Protocol (MCP) para desenvolvimento de mods de Project Zomboid, oferecendo validação inteligente de scripts, geração e assistência contextual por meio de ferramentas aprimoradas por IA.
🚀 Recursos
Integração Inteligente com Project Zomboid
- Detecção automática de instalações via Steam, Epic Games e GOG
- Suporte multiplataforma (Windows, Linux, macOS, WSL)
- Compatibilidade com Build 42 e suporte à estrutura moderna de mods
- Sistema de fallback com análise local de scripts
Conhecimento Abrangente de Dados do Jogo
- Indexação completa do jogo vanilla com recursos de busca em texto completo
- Extração de metadados ricos, incluindo dano, durabilidade, categorias e tags
- Mapeamento de relacionamentos entre itens, receitas e dependências
- Validação de referências em tempo real contra o banco de dados do jogo
Geração Inteligente de Scripts
- Geração baseada em templates usando padrões reais do jogo
- Análise de balanceamento comparando itens personalizados aos equivalentes vanilla
- Validação de referências garantindo que todas as dependências existam
- Múltiplos formatos de saída (itens, receitas, scripts de reparo, sons, veículos)
Motor de Validação Avançado
- Validação de sintaxe em tempo real com relatórios de erro detalhados
- Verificação de referências para itens, sons e sprites
- Análise de balanceamento com avaliação de impacto na jogabilidade
- Sugestões de melhores práticas para o desenvolvimento de mods
Pronto para Implantação
- Suporte a Cloudflare Workers para implantação serverless
- Integração com D1 Database para armazenamento persistente
- API HTTP para integração com qualquer cliente MCP
- Compatível com Claude Desktop com exemplos de configuração
🔧 Instalação
Pré-requisitos
- Node.js 18.0.0 ou superior
- Gerenciador de pacotes npm ou yarn
Desenvolvimento Local
# Clone the repository
git clone https://github.com/minimax/pz-mcp-server.git
cd pz-mcp-server
# Install dependencies
npm install
# Build the project
npm run build
# Run in development mode
npm run dev
Implantação em Cloudflare Workers
# Install Wrangler CLI
npm install -g wrangler
# Login to Cloudflare
wrangler login
# Create D1 database
wrangler d1 create pz-mcp-prod
# Deploy to Cloudflare Workers
wrangler deploy
📖 Uso
Com Claude Desktop
Adicione ao seu claude_desktop_config.json:
{
"mcpServers": {
"pz-mcp-server": {
"command": "node",
"args": ["/path/to/pz-mcp-server/dist/index.js"]
}
}
}
Com Cursor/VSCode
O servidor pode ser integrado a qualquer IDE que suporte o protocolo MCP:
- Instale a extensão MCP para o seu IDE
- Configure o endpoint do servidor
- Comece a usar as ferramentas de desenvolvimento de Project Zomboid
🛠️ Ferramentas MCP
search_vanilla
Pesquise conteúdo vanilla de Project Zomboid com correspondência inteligente.
Parâmetros:
query(string): Consulta de busca para conteúdo do jogotype(string, opcional): Filtrar por tipo de conteúdo (item, receita, som, veículo)category(string, opcional): Filtrar por categoria de itemlimit(número, opcional): Máximo de resultados (padrão: 20)
Exemplo:
// Search for weapons
await mcp.callTool('search_vanilla', {
query: 'katana',
type: 'item',
category: 'Weapon'
});
generate_script
Gere scripts equilibrados de Project Zomboid usando templates e dados do jogo.
Parâmetros:
type(string): Tipo de script (item, receita, receita_evoluida, reparo, som, veículo)name(string): Nome do item/receita a ser geradoproperties(objeto): Propriedades e especificaçõesmodule(string, opcional): Nome do módulo (padrão: "Base")
Exemplo:
// Generate a custom weapon
await mcp.callTool('generate_script', {
type: 'item',
name: 'SuperKatana',
properties: {
DisplayName: 'Super Katana',
Type: 'Weapon',
MaxDamage: 5.0,
Weight: 2.0,
Categories: 'LongBlade'
}
});
validate_script
Valide a sintaxe e referências de scripts de Project Zomboid com relatórios de erro detalhados.
Parâmetros:
content(string): Conteúdo do script a validartype(string, opcional): Tipo de script esperadostrict(booleano, opcional): Ativar modo de validação estrita
Exemplo:
// Validate mod script
await mcp.callTool('validate_script', {
content: scriptContent,
type: 'item',
strict: true
});
check_references
Valide referências de itens, sons e sprites no banco de dados do jogo.
Parâmetros:
references(string[]): Lista de referências a validartype(string, opcional): Tipo de referências (item, som, sprite, todas)
Exemplo:
// Check if items exist
await mcp.callTool('check_references', {
references: ['Base.Katana', 'Base.Apple'],
type: 'item'
});
analyze_mod
Análise abrangente do diretório de mods, incluindo validação de balanceamento, compatibilidade e estrutura.
Parâmetros:
modPath(string): Caminho para o diretório do modcheckBalance(booleano, opcional): Realizar análise de balanceamentocheckCompatibility(booleano, opcional): Verificar compatibilidade com o vanillagenerateReport(booleano, opcional): Gerar relatório detalhado de análise
Exemplo:
// Analyze mod quality
await mcp.callTool('analyze_mod', {
modPath: '/path/to/my-mod',
checkBalance: true,
checkCompatibility: true
});
parse_game_files
Analise e indexe os arquivos do jogo Project Zomboid para preencher o banco de dados.
Parâmetros:
gamePath(string, opcional): Caminho para a instalação de Project Zomboid (detectado automaticamente se não for informado)forceReparse(booleano, opcional): Forçar nova análise mesmo que os dados já existam
Exemplo:
// Parse vanilla game files
await mcp.callTool('parse_game_files', {
forceReparse: false
});
🏗️ Arquitetura
┌─────────────────────────────────────────────────────┐
│ MCP Server Core │
├─────────────────────────────────────────────────────┤
│ Path Manager │ Enhanced Parser │ Script Gen │
├─────────────────────────────────────────────────────┤
│ SQLite/D1 Database Layer │
├─────────────────────────────────────────────────────┤
│ Game Data │ Templates │ Validation │
│ (Vanilla PZ) │ (JSON-based) │ (Real-time) │
└─────────────────────────────────────────────────────┘
Componentes Principais
- DatabaseManager: Banco de dados SQLite/D1 com recursos de busca em texto completo
- ProjectZomboidParser: Análise de arquivos vanilla do jogo e diretórios de mods
- ScriptGenerator: Geração de scripts equilibrados usando templates e dados do jogo
- ValidationEngine: Validação de sintaxe e referências em tempo real
- ModAnalyzer: Análise abrangente de mods e métricas de qualidade
- PathManager: Detecção automática de instalações de Project Zomboid
🌐 Implantação em Cloudflare Workers
O servidor inclui suporte completo a Cloudflare Workers para implantação serverless:
Recursos
- D1 Database para armazenamento persistente
- Armazenamento KV para cache de dados acessados com frequência
- Endpoints de API HTTP para todas as ferramentas MCP
- Escalonamento automático sem cold starts
- Implantação global de borda para baixa latência
Endpoints da API
GET /health- Verificação de integridadeGET /mcp/info- Capacidades do servidorPOST /tools/{toolName}- Executar ferramentas MCPPOST /admin/load-game-data- Carregar dados vanilla do jogo
Configuração
Atualize o wrangler.toml com os IDs do seu banco de dados:
[[env.production.d1_databases]]
binding = "DB"
database_name = "pz-mcp-prod"
database_id = "your-database-id"
📋 Fluxo de Trabalho de Desenvolvimento
Configurando o Desenvolvimento de Mods
-
Inicializar o Banco de Dados:
npm run dev # Server will auto-detect Project Zomboid installation -
Analisar Arquivos do Jogo:
await mcp.callTool('parse_game_files', {}); -
Iniciar o Desenvolvimento:
// Search for existing items const results = await mcp.callTool('search_vanilla', { query: 'weapon damage > 3' }); // Generate new item const script = await mcp.callTool('generate_script', { type: 'item', name: 'MyWeapon', properties: { /* ... */ } }); // Validate before use const validation = await mcp.callTool('validate_script', { content: script });
Formatos de Arquivo Suportados
- mod.info: Metadados e configuração do mod
- Arquivos de Script (.txt): Itens, receitas, veículos, sons, scripts de reparo
- Arquivos Lua (.lua): Lógica do jogo e manipuladores de eventos
- Ativos: Texturas, sons, modelos e mapas
🔍 Exemplos
Criando uma Arma Personalizada
// 1. Search for similar weapons
const similarWeapons = await mcp.callTool('search_vanilla', {
query: 'katana sword blade',
type: 'item'
});
// 2. Generate balanced weapon
const weaponScript = await mcp.callTool('generate_script', {
type: 'item',
name: 'EliteKatana',
properties: {
DisplayName: 'Elite Katana',
Type: 'Weapon',
Weight: 2.5,
MaxDamage: 4.5,
MinDamage: 3.5,
Categories: 'LongBlade',
Icon: 'Katana',
SwingSound: 'KatanaSwing'
}
});
// 3. Validate the script
const validation = await mcp.callTool('validate_script', {
content: weaponScript,
strict: true
});
// 4. Check references exist
await mcp.callTool('check_references', {
references: ['Katana', 'KatanaSwing'],
type: 'all'
});
Analisando a Qualidade de um Mod
const analysis = await mcp.callTool('analyze_mod', {
modPath: '/path/to/my-zombie-mod',
checkBalance: true,
checkCompatibility: true,
generateReport: true
});
console.log(`Mod Quality Score: ${analysis.quality.overall}/100`);
console.log(`Issues Found: ${analysis.issues.length}`);
console.log(`Recommendations: ${analysis.recommendations.join(', ')}`);
🤝 Contribuindo
- Faça um fork do repositório
- Crie um branch de funcionalidade
- Faça suas alterações
- Adicione testes para novas funcionalidades
- Envie um pull request
📄 Licença
Licença MIT - consulte o arquivo LICENSE para detalhes.
🆘 Suporte
- GitHub Issues: Relatórios de bugs e solicitações de recursos
- Documentação: Guias abrangentes e referências de API
- Comunidade: Servidor Discord para desenvolvedores de mods
🔮 Roteiro
v1.1.0 - Recursos Aprimorados
- Suporte a scripts de veículos com análise e geração completas
- Templates avançados para cenários complexos de criação de mods
- Integração de scripts Lua para assistência na lógica do jogo
- Ferramentas de otimização de desempenho para mods grandes
v1.2.0 - Recursos de Colaboração
- Suporte a múltiplos usuários para desenvolvimento de mods em equipe
- Integração com controle de versão em fluxos de trabalho Git
- Pipelines de testes automatizados para validação de mods
- Geração de documentação a partir da análise de mods
v2.0.0 - Plataforma Completa
- Interface web para usuários não técnicos
- Integração com Steam Workshop para publicação direta
- Recursos de marketplace para descoberta de mods
- Suporte empresarial para grandes equipes de mods
Feito com ❤️ para a comunidade de mods de Project Zomboid