Poke-MCP

Obtiene datos de Pokémon desde la PokeAPI y los expone a través de una interfaz MCP estandarizada.

Documentación

MseeP.ai Security Assessment Badge

smithery badge

Poke-MCP MCP server

Resumen

Poke-MCP es un servidor de Protocolo de Contexto de Modelo (MCP) que proporciona información de Pokémon a través de una interfaz estandarizada. Se conecta a la PokeAPI para obtener datos de Pokémon y los expone a través de herramientas MCP que pueden ser utilizadas por cualquier cliente compatible con MCP, como Claude Desktop App, Continue, Cline y otros.

Este servidor ahora admite transporte HTTP mediante Server-Sent Events (SSE) para comunicación en tiempo real, lo que lo hace accesible a través de HTTP en lugar de solo stdio.

Características

  • Obtener información sobre Pokémon específicos por nombre
  • Descubrir Pokémon aleatorios
  • Encontrar Pokémon aleatorios de regiones específicas (Kanto, Johto, Hoenn, etc.)
  • Obtener Pokémon aleatorios de tipos específicos (Fuego, Agua, Eléctrico, etc.)
  • Interfaz de consulta en lenguaje natural para información de Pokémon

Cómo Funciona

Poke-MCP está construido usando el Protocolo de Contexto de Modelo, que permite a las aplicaciones de IA acceder a herramientas externas y fuentes de datos de manera estandarizada. El servidor:

  1. Se conecta a la PokeAPI para obtener datos de Pokémon
  2. Expone varias herramientas a través de la interfaz MCP
  3. Procesa solicitudes de clientes MCP
  4. Devuelve información formateada de Pokémon

Herramientas MCP

El servidor proporciona las siguientes herramientas:

  • get-pokemon: Obtener información detallada sobre un Pokémon específico por nombre
  • random-pokemon: Obtener información sobre un Pokémon aleatorio
  • random-pokemon-from-region: Obtener un Pokémon aleatorio de una región específica
  • random-pokemon-by-type: Obtener un Pokémon aleatorio de un tipo específico
  • pokemon-query: Responder consultas en lenguaje natural sobre Pokémon

Arquitectura

El servidor está construido usando:

  • TypeScript
  • SDK de TypeScript para MCP (@modelcontextprotocol/sdk)
  • Zod para validación de entrada
  • Transporte HTTP con Server-Sent Events (SSE) para comunicación MCP
  • Servidor HTTP integrado de Node.js

Instalación

Instalación mediante Smithery

Para instalar Pokémcp para Claude Desktop automáticamente mediante Smithery:

npx -y @smithery/cli install @NaveenBandarage/poke-mcp --client claude

Instalación 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

Ejecutar el Servidor HTTP

Para iniciar el servidor en modo HTTP:

# Start the server (defaults to port 3000)
npm start

# Or specify a custom port
PORT=8080 npm start

El servidor estará disponible en:

  • Endpoint de información: http://127.0.0.1:3000/ - Información del servidor y estado
  • Endpoint SSE: http://127.0.0.1:3000/sse - Conexión Server-Sent Events para clientes MCP
  • Endpoint de mensajes: http://127.0.0.1:3000/message - Endpoint POST para enviar mensajes MCP

Con Claude Desktop App (Transporte HTTP)

  1. Descargar e instalar Claude Desktop App
  2. Abrir la configuración de Claude Desktop
  3. Ir a la configuración de desarrollador y editar el archivo de configuración
  4. Agregar la siguiente configuración para transporte HTTP:
{
  "mcpServers": {
    "pokedex": {
      "transport": {
        "type": "sse",
        "url": "http://127.0.0.1:3000/sse"
      }
    }
  }
}
  1. Iniciar el servidor Poke-MCP: npm start
  2. Reiniciar Claude Desktop
  3. Ahora deberías ver las herramientas de Pokémon disponibles en Claude

Uso Heredado (stdio)

Para compatibilidad hacia atrás, aún puedes ejecutar el servidor con transporte stdio revirtiendo a la implementación stdio.

Ejemplos de Consultas

Una vez conectado a un cliente MCP, puedes hacer preguntas como:

  • "Cuéntame sobre Pikachu"
  • "Dame un Pokémon aleatorio"
  • "Muéstrame un Pokémon aleatorio de Kanto"
  • "¿Cuál es un Pokémon de tipo Agua aleatorio?"

Estructura del Proyecto

  • src/index.ts: Implementación principal del servidor
  • src/types.ts: Definiciones de tipos TypeScript para datos de Pokémon
  • package.json: Dependencias y scripts del proyecto
  • tsconfig.json: Configuración de TypeScript

Agregar Nuevas Características

Para agregar nuevas herramientas o mejorar las existentes:

  1. Definir nuevas funciones auxiliares para obtener y formatear datos
  2. Registrar nuevas herramientas usando el método server.tool()
  3. Implementar la lógica de la herramienta para manejar solicitudes y devolver respuestas

Licencia

ISC

Agradecimientos


Este proyecto demuestra cómo construir servidores MCP personalizados que pueden extender los asistentes de IA con conocimientos y capacidades específicas de dominio.