IAcademico/Weather-MCP-Server
If you are the rightful owner of Weather-MCP-Server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The Weather Server MCP Implementation is a Node.js-based server that allows language models to access real-time weather information and query a local search history using open APIs and local JSON storage.
🌤️ 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:
{
"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