π€οΈ Weather Server - MCP Implementation (Node.js)
π§© Servidor MCP de Clima e Historial β VersiΓ³n Final
Este proyecto implementa un servidor MCP (Model Context Protocol) en Node.js que permite a modelos de lenguaje (como Claude o GPT) obtener informaciΓ³n climΓ‘tica en tiempo real y consultar un historial local de bΓΊsquedas, utilizando APIs abiertas y almacenamiento local en JSON.
π 1. ΒΏQuΓ© es el MCP (Model Context Protocol)?
El Model Context Protocol (MCP) es un protocolo abierto desarrollado por Anthropic y la comunidad de IA para conectar modelos de lenguaje con fuentes de informaciΓ³n externas y herramientas locales de manera segura y estructurada.
En tΓ©rminos simples:
El MCP permite que un modelo de IA hable con tu aplicaciΓ³n, acceda a datos o ejecute funciones, sin exponer directamente tu cΓ³digo ni tus APIs privadas.
βοΈ 2. CΓ³mo funciona el MCP
Un MCP Server es una aplicaciΓ³n que expone:
π οΈ Tools (herramientas) β Acciones que el modelo puede ejecutar (por ejemplo:
get-weather,get-history).π Resources (recursos) β Archivos o datos a los que el modelo puede acceder (por ejemplo:
weather-codes.json).π Events (opcional) β Notificaciones o flujos de datos en tiempo real.
El modelo de IA actΓΊa como cliente MCP, que se comunica con tu servidor usando un canal seguro (en este caso, stdio, o entrada/salida estΓ‘ndar).
π§© 3. DescripciΓ³n del proyecto (main.ts)
El archivo main.ts define un servidor MCP en Node.js que ofrece dos herramientas y un recurso:
π οΈ Herramienta 1: get-weather
PropΓ³sito: Obtener el clima actual de una ciudad.
Flujo:
Busca la ciudad en la Geocoding API de Open Meteo para obtener coordenadas.
Consulta los datos del clima actual en la Weather API de Open Meteo.
Guarda la consulta (ciudad, coordenadas, temperatura, fecha) en un archivo local
history.json.Devuelve al modelo una respuesta simplificada con temperatura y humedad.
π Ejemplo de respuesta:
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
Enables real-time weather information retrieval and local search history management using Open Meteo APIs. Allows users to get current weather data for any city and access their weather query history through natural language.