Poke-MCP

Busca dados de Pokémon da PokeAPI e os expõe por meio de uma interface MCP padronizada.

Documentação

MseeP.ai Security Assessment Badge

smithery badge

Poke-MCP MCP server

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:

  1. Conecta-se à PokeAPI para buscar dados de Pokémon
  2. Expõe várias ferramentas através da interface MCP
  3. Processa solicitações de clientes MCP
  4. 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)

  1. Baixe e instale o Claude Desktop App
  2. Abra as configurações do Claude Desktop
  3. Vá para as configurações de Desenvolvedor e edite o arquivo de configuração
  4. Adicione a seguinte configuração para transporte HTTP:
{
  "mcpServers": {
    "pokedex": {
      "transport": {
        "type": "sse",
        "url": "http://127.0.0.1:3000/sse"
      }
    }
  }
}
  1. Inicie o servidor Poke-MCP: npm start
  2. Reinicie o Claude Desktop
  3. 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:

  1. Defina novas funções auxiliares para buscar e formatar dados
  2. Registre novas ferramentas usando o método server.tool()
  3. Implemente a lógica da ferramenta para lidar com solicitações e retornar respostas

Licença

ISC

Agradecimentos


Este projeto demonstra como construir servidores MCP personalizados que podem estender assistentes de IA com conhecimento e capacidades específicas de domínio.