Poke-MCP
Busca dados de Pokémon da PokeAPI e os expõe por meio de uma interface MCP padronizada.
Documentação
Visão Geral
Poke-MCP é um servidor do Model Context Protocol (MCP) que fornece informações sobre Pokémon através de uma interface padronizada. Ele se conecta à PokeAPI para buscar dados de Pokémon e os expõe por meio de ferramentas MCP que podem ser usadas por qualquer cliente compatível com MCP, como Claude Desktop App, Continue, Cline e outros.
Este servidor agora suporta transporte HTTP usando Server-Sent Events (SSE) para comunicação em tempo real, tornando-o acessível via HTTP em vez de apenas stdio.
Recursos
- Obter informações sobre Pokémon específicos pelo nome
- Descobrir Pokémon aleatórios
- Encontrar Pokémon aleatórios de regiões específicas (Kanto, Johto, Hoenn, etc.)
- Obter Pokémon aleatórios de tipos específicos (Fogo, Água, Elétrico, etc.)
- Interface de consulta em linguagem natural para informações sobre Pokémon
Como Funciona
Poke-MCP é construído usando o Model Context Protocol, que permite que aplicações de IA acessem ferramentas externas e fontes de dados de forma padronizada. O servidor:
- Conecta-se à PokeAPI para buscar dados de Pokémon
- Expõe várias ferramentas através da interface MCP
- Processa solicitações de clientes MCP
- Retorna informações formatadas sobre Pokémon
Ferramentas MCP
O servidor fornece as seguintes ferramentas:
- get-pokemon: Obtenha informações detalhadas sobre um Pokémon específico pelo nome
- random-pokemon: Obtenha informações sobre um Pokémon aleatório
- random-pokemon-from-region: Obtenha um Pokémon aleatório de uma região específica
- random-pokemon-by-type: Obtenha um Pokémon aleatório de um tipo específico
- pokemon-query: Responda a consultas em linguagem natural sobre Pokémon
Arquitetura
O servidor é construído usando:
- TypeScript
- MCP TypeScript SDK (@modelcontextprotocol/sdk)
- Zod para validação de entrada
- Transporte HTTP com Server-Sent Events (SSE) para comunicação MCP
- Servidor HTTP embutido do Node.js
Instalação
Instalando via Smithery
Para instalar o Pokémcp para Claude Desktop automaticamente via Smithery:
npx -y @smithery/cli install @NaveenBandarage/poke-mcp --client claude
Instalação Manual
# Clone the repository
git clone https://github.com/yourusername/poke-mcp.git
cd poke-mcp
# Install dependencies
npm install
# Build the project
npm run build
Uso
Executando o Servidor HTTP
Para iniciar o servidor em modo HTTP:
# Start the server (defaults to port 3000)
npm start
# Or specify a custom port
PORT=8080 npm start
O servidor estará disponível em:
- Endpoint de informações:
http://127.0.0.1:3000/- Informações do servidor e status - Endpoint SSE:
http://127.0.0.1:3000/sse- Conexão Server-Sent Events para clientes MCP - Endpoint de mensagens:
http://127.0.0.1:3000/message- Endpoint POST para envio de mensagens MCP
Com Claude Desktop App (Transporte HTTP)
- Baixe e instale o Claude Desktop App
- Abra as configurações do Claude Desktop
- Vá para as configurações de Desenvolvedor e edite o arquivo de configuração
- Adicione a seguinte configuração para transporte HTTP:
{
"mcpServers": {
"pokedex": {
"transport": {
"type": "sse",
"url": "http://127.0.0.1:3000/sse"
}
}
}
}
- Inicie o servidor Poke-MCP:
npm start - Reinicie o Claude Desktop
- Agora você deve ver as ferramentas de Pokémon disponíveis no Claude
Uso Legado (stdio)
Para compatibilidade reversa, você ainda pode executar o servidor com transporte stdio revertendo para a implementação stdio.
Exemplos de Consultas
Uma vez conectado a um cliente MCP, você pode fazer perguntas como:
- "Me fale sobre o Pikachu"
- "Me dê um Pokémon aleatório"
- "Mostre-me um Pokémon aleatório de Kanto"
- "Qual é um Pokémon aleatório do tipo Água?"
Estrutura do Projeto
- src/index.ts: Implementação principal do servidor
- src/types.ts: Definições de tipos TypeScript para dados de Pokémon
- package.json: Dependências e scripts do projeto
- tsconfig.json: Configuração do TypeScript
Adicionando Novos Recursos
Para adicionar novas ferramentas ou aprimorar as existentes:
- Defina novas funções auxiliares para buscar e formatar dados
- Registre novas ferramentas usando o método server.tool()
- Implemente a lógica da ferramenta para lidar com solicitações e retornar respostas
Licença
ISC
Agradecimentos
- PokeAPI por fornecer os dados de Pokémon
- Model Context Protocol pela interface padronizada
Este projeto demonstra como construir servidores MCP personalizados que podem estender assistentes de IA com conhecimento e capacidades específicas de domínio.
