MCP Weather Server Demo

Obtiene datos meteorológicos de cualquier ciudad usando la API de Open-Meteo.

Documentación

MCP Weather Server Demo

Este proyecto es un servidor MCP (Model Context Protocol) de ejemplo que expone una herramienta para obtener el clima de cualquier ciudad usando la API de Open-Meteo.

Características

  • Servidor MCP básico usando @modelcontextprotocol/sdk y zod para validación.
  • Herramienta fetch-weather que toma el nombre de una ciudad y devuelve información meteorológica actual.
  • Usa APIs públicas para geocodificación y datos meteorológicos.

Instalación

  1. Clona este repositorio:
    git clone https://github.com/your-username/your-repo.git
    cd your-repo
    
  2. Instala las dependencias:
    npm install
    

Uso

Ejecuta el servidor MCP:

npx tsx main.ts

Esto iniciará el servidor y podrás conectarte desde cualquier cliente MCP compatible.

Nota:

También puedes ejecutar esto para usar el inspector en el navegador web.

npx -y @modelcontextprotocol/inspector npx -y tsx main.ts

1.- Ejecuta el comando. 2.- Ve al enlace proporcionado en la consola. 3.- Configura el entorno de esta manera: - Tipo de Transporte: STDIO - Comando: npx - Argumentos: -y tsx main.ts - Token de Sesión de Proxy: el token generado al iniciar el servidor. (MCP_PROXY_AUTH_TOKEN=TU_TOKEN) 4.- Conectar -> Listar Herramientas -> Selecciona tu MCP -> Comienza a usarlo.

Estructura principal

  • main.ts: Código fuente del servidor y la herramienta de clima.
  • package.json: Dependencias del proyecto y scripts.

BONUS

Adjunté un archivo json (con un nombre diferente), que se usa en Claude, un Asistente de IA construido por Anthropic. En este archivo, podemos usar la IA para hacer cosas increíbles, como las siguientes y muchas más:

1.- Obtén acceso a carpetas e interactúa con tu computadora. 📁

https://github.com/modelcontextprotocol/servers/tree/main/src/filesystem

"mcpServers": { "filesystem": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-filesystem", "/Users/username/Desktop", "/path/to/other/allowed/dir" ] } }

Ejemplos de tareas (mediante indicaciones): Dar permiso para acceder al Escritorio

  • Dar instrucciones para mover cualquier archivo .mp4 a una sola carpeta.
  • Pedir eliminar cualquier archivo mayor a 20 MB.
  • Crear un script para un video. etc.

2.- Obtén acceso a una base de datos y comienza a solicitar tareas simples o complejas. 🤖

https://github.com/modelcontextprotocol/servers-archived/tree/main/src/postgres

"postgres": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-postgres", "postgresql://DB_USER:DB_PASS@localhost:5432/DB_NAME" ] }

Ejemplos de tareas (mediante indicaciones):

  • Truncar una tabla individual
  • Obtener todos los datos de un solo usuario y exportarlos a un archivo csv.
  • Obtener toda la actividad de un usuario que tenga privilegios de root en diferentes tablas. etc.

Puedes instalar Claude Agent y configurar el archivo json de esta manera para probarlos. [Solo asegúrate de estar usando la configuración de Claude en ambos casos.]

NOTA

el elemento 'weather' en el archivo de configuración, es el MCP que acabamos de crear. Sí, también puedes usarlo en Claude.

Licencia

Este proyecto está licenciado bajo la Licencia MIT. Consulta el archivo LICENSE para más detalles.


Proyecto de ejemplo para aprender a crear herramientas MCP y consumir APIs públicas.