mcp-practice

mcp-practice is a TypeScript-based project designed to enhance developers' practical skills. It provides resources focused on code quality and structure, helping users gain knowledge applicable to real-world application development. The project emphasizes module design and error handling, leveraging the features of TypeScript effectively.

GitHub Stars

1

User Rating

Not Rated

Favorites

0

Views

33

Forks

0

Issues

0

README
🔌 TypeScript: MCP (Model Context Protocol)
Pequeño servidor MCP de práctica con una herramienta para consultar el clima.

vista-previa

vista-previa

🚀 Descripción

Este repositorio contiene un servidor de ejemplo construido con @modelcontextprotocol/sdk en TypeScript. Expone una herramienta (fetch-weather) que consulta el clima actual usando Open‑Meteo, valida la entrada con Zod y se comunica por stdio para integrarse con clientes compatibles con MCP.

  • Archivo principal: main.ts
  • Herramienta incluida: fetch-weather (parámetro: city como string)
  • Salida: información del clima en formato JSON (día actual y temperatura, entre otros).
⚡ Comenzar
Prerrequisitos
  1. Git
  2. Node.js 20 o superior
  3. Un gestor de paquetes (pnpm o npm)
  4. (Opcional) Un cliente MCP compatible para conectarse por stdio (p. ej., Claude Desktop u otro cliente MCP)
🔧 Instalación
  1. Clona el repositorio:

    git clone https://github.com/abrahamgalue/mcp-practice.git
    cd mcp-practice
    
  2. Instala las dependencias (elige tu gestor):

    # con pnpm
    pnpm install
    
    # o con npm
    npm install
    
▶️ Ejecución

Este servidor se comunica por stdio. La forma recomendada para probarlo localmente es usar el MCP Inspector:

npx -y @modelcontextprotocol/inspector npx -y tsx main.ts
  • Con esto podrás inspeccionar y ejecutar la herramienta fetch-weather de forma interactiva.
  • Para integrarlo con un cliente MCP, configura el cliente para ejecutar el mismo comando en este directorio.
🧰 Herramientas disponibles
  • fetch-weather
    • Descripción: Obtiene el clima de una ciudad.
    • Parámetros: { city: string }
    • Respuesta: bloque de texto con JSON de Open‑Meteo (pronóstico del día actual).

Notas:

  • Si la ciudad no se encuentra, retorna un mensaje indicando que no hubo resultados.
  • Usa la API de geo-codificación y pronóstico de Open‑Meteo (no requiere API key).
🎭 Tecnologías