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/sdkyzodpara validación. - Herramienta
fetch-weatherque 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
- Clona este repositorio:
git clone https://github.com/your-username/your-repo.git cd your-repo - 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.