Pokemon
Fornece acesso a um banco de dados abrangente de Pokémon através de uma interface MCP padronizada.
GitHub
5
Experimente este MCPPatrocinadoDocumentação
Servidor MCP Pokemon
Um servidor Model Context Protocol (MCP) que fornece dados de Pokemon por meio de ferramentas padronizadas. Este monorepo contém tanto o servidor MCP quanto o serviço de ingestão de dados para buscar dados de Pokemon da PokeAPI.
Arquitetura
Este é um monorepo PNPM com dois pacotes principais:
- pokemon-mcp-server: Servidor MCP que expõe dados de Pokemon por meio de ferramentas padronizadas
- pokemon-mcp-ingestion: Serviço de ingestão de dados que busca da PokeAPI e armazena em SQLite
O sistema usa um banco de dados SQLite compartilhado (data/pokemon.sqlite) para armazenamento de dados de Pokemon.
Recursos
Ferramentas MCP Disponíveis
get_pokemon- Obtenha informações detalhadas sobre um Pokemon específicosearch_pokemon- Pesquise Pokemon por nome, tipo ou outros critériosget_strongest_pokemon- Encontre o Pokemon mais forte por vários atributosget_pokemon_stats- Obtenha estatísticas detalhadas de um Pokemoncompare_pokemon- Compare estatísticas entre dois Pokemonget_type_effectiveness- Obtenha informações de efetividade de tipos
Cobertura de Dados
- Dados completos de Pokemon da PokeAPI
- Estatísticas, tipos, habilidades e mais
- Relações de efetividade de tipos
- Pesquisável por múltiplos critérios
Início Rápido
Pré-requisitos
- Node.js 18+
- PNPM
- Git
Instalação
- Clone o repositório:
git clone https://github.com/grovesjosephn/pokemcp.git
cd pokemcp
- Instale as dependências:
bun install
- Configure o banco de dados:
./scripts/setup.sh
- Compile todos os pacotes:
bun run build
Uso
Executando o Servidor MCP
# Development mode (with hot reload)
bun run dev
# Production mode
cd packages/pokemon-mcp-server
bun run start
Testando com o MCP Inspector
# Visual GUI testing
cd packages/pokemon-mcp-server
bun run inspect
# CLI testing
bun run inspect:cli
Ingestão de Dados
# Run data ingestion
cd packages/pokemon-mcp-ingestion
bun run start
Integração com Claude Desktop
Opção 1: Pacote NPM (Recomendado)
Instale o servidor globalmente:
cd packages/pokemon-mcp-server
bun run build
npm link
Configure o Claude Desktop:
{
"mcpServers": {
"pokemon": {
"command": "pokemon-mcp-server",
"env": {
"POKEMON_DATA_DIR": "/path/to/pokemcp/data"
}
}
}
}
Opção 2: Execução Direta com Node
{
"mcpServers": {
"pokemon": {
"command": "node",
"args": ["/path/to/pokemcp/packages/pokemon-mcp-server/dist/server.js"],
"env": {
"POKEMON_DATA_DIR": "/path/to/pokemcp/data"
}
}
}
}
Opção 3: Modo de Desenvolvimento
{
"mcpServers": {
"pokemon": {
"command": "bun",
"args": ["/path/to/pokemcp/packages/pokemon-mcp-server/server.ts"],
"env": {
"POKEMON_DATA_DIR": "/path/to/pokemcp/data"
}
}
}
}
Desenvolvimento
Comandos do Workspace
bun run build # Build all packages
bun run dev # Run all packages in development mode
bun run test # Run tests for all packages
bun run format # Format all files
bun run format:check # Check formatting
Comandos do Pacote do Servidor
cd packages/pokemon-mcp-server
bun run build # Compile TypeScript
bun run dev # Watch mode
bun run start # Run server
bun run inspect # Run MCP Inspector GUI
bun run inspect:cli # Run MCP Inspector CLI
bun test # Run tests
Comandos do Pacote de Ingestão
cd packages/pokemon-mcp-ingestion
bun run build # Compile TypeScript
bun run dev # Watch mode
bun run start # Run ingestion
bun test # Run tests
Testes
O projeto usa o executor de testes integrado do bun:
# Run all tests
bun run test
# Run specific package tests
cd packages/pokemon-mcp-server && bun test
cd packages/pokemon-mcp-ingestion && bun test
Esquema do Banco de Dados
O banco de dados SQLite inclui tabelas para:
pokemon- Informações básicas do Pokemonstats- Estatísticas do Pokemon (HP, Ataque, Defesa, etc.)types- Tipos de Pokemon e relaçõesabilities- Habilidades do Pokemon
Contribuindo
- Faça um fork do repositório
- Crie um branch de funcionalidade
- Faça suas alterações
- Adicione testes
- Execute
bun run format - Envie um pull request
Diretrizes de Commit
Use o formato de commit convencional:
<type>[optional scope]: <description>
Examples:
- feat(server): add Pokemon evolution chain tool
- fix(ingestion): handle missing species URL gracefully
- docs: update integration guide
Licença
Licença MIT - consulte o arquivo LICENSE para detalhes