Skip to main content
Glama

Weather MCP Server

by IAcademico
README.mdβ€’3.9 kB
# 🌀️ 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:** 1. Busca la ciudad en la **Geocoding API** de Open Meteo para obtener coordenadas. 2. Consulta los datos del clima actual en la **Weather API** de Open Meteo. 3. Guarda la consulta (ciudad, coordenadas, temperatura, fecha) en un archivo local `history.json`. 4. Devuelve al modelo una respuesta simplificada con temperatura y humedad. πŸ“„ **Ejemplo de respuesta:** ```json { "city_searched": "Santiago", "current_temperature_c": 22.5, "relative_humidity_percent": 48, "weather_code": 1 } 🧠 **Arquitectura conceptual** β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ Modelo de IA (Cliente) β”‚ β”‚ (Claude, GPT, etc.) β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ JSON (via STDIO / MCP) β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ Tu Servidor MCP (Node) β”‚ β”‚ β”œβ”€β”€ Tool: get-weather β”‚ β”‚ β”œβ”€β”€ Tool: get-history β”‚ β”‚ └── Resource: weather-codes β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ APIs externas (OpenMeteo)β”‚ β”‚ Archivos locales (.json) β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ πŸ“¦ **InstalaciΓ³n y ejecuciΓ³n** # Clonar el repositorio git clone https://github.com/IAcademico/weather-mcp-server.git cd weather-mcp-server # Instalar dependencias npm install # Ejecutar el servidor MCP npm run start πŸ“ **Estructura del proyecto** πŸ“¦ weather-mcp-server ┣ πŸ“‚ .vscode/ ┣ πŸ“‚ node_modules/ ┣ πŸ“‚ project_scanners/ ┣ πŸ“œ main.ts ┣ πŸ“œ history.json ┣ πŸ“œ weather-codes.json β”— πŸ“œ README.md

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/IAcademico/Weather-MCP-Server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server