Clima MCP Server

Clima MCP Server

Enables weather queries through OpenWeatherMap API, providing current conditions, intelligent city search, and configuration validation.

Category
访问服务器

README

Servidor MCP de Clima en Python (Windows) con OpenWeatherMap

Este proyecto implementa un servidor MCP (Model Context Protocol) completo en Python para consultar información meteorológica mediante la API de OpenWeatherMap. Diseñado específicamente para ejecutarse en Windows y facilitar la integración con clientes MCP como Claude Desktop.

🎯 Características

  • Consultar clima actual por nombre de ciudad con códigos de país
  • Búsqueda inteligente de ubicaciones con resultados múltiples
  • Validación de configuración y diagnóstico del servidor
  • Manejo robusto de errores con códigos específicos
  • Logging detallado para debugging y monitoreo
  • Configuración flexible mediante variables de entorno
  • Soporte multiidioma para descripciones meteorológicas
  • Protocolo MCP estándar con transporte stdio
  • Instalación automática en Windows con script
  • Documentación exhaustiva con ejemplos

📋 Requisitos

  • Python 3.10 o superior
  • API Key de OpenWeatherMap (gratuita, 1,000 llamadas/día)
  • Windows 10/11 (también compatible con Linux/macOS)

🚀 Instalación Rápida

Opción 1: Instalación Automática (Windows)

# Descargar y ejecutar el instalador automático
install.bat

Opción 2: Instalación Manual

# 1. Clonar/descargar el proyecto
cd climate-mcp-server

# 2. Crear entorno virtual
python -m venv venv

# 3. Activar entorno virtual
venv\Scripts\activate

# 4. Instalar dependencias
pip install -r requirements.txt

# 5. Configurar API key
copy .env.example .env
# Editar .env y agregar tu API key de OpenWeatherMap

🔑 Configuración

  1. Obtener API Key gratuita:

  2. Configurar variables de entorno:

    # En archivo .env
    OPENWEATHERMAP_API_KEY=tu_api_key_aqui
    

🛠️ Uso

Ejecutar Servidor

# Activar entorno virtual
venv\Scripts\activate

# Ejecutar servidor
python clima_mcp_server.py

Probar Funcionamiento

# Ejecutar suite de pruebas
python test_servidor.py

Integración con Claude Desktop

  1. Configurar cliente MCP:

    • Editar: %APPDATA%\Claude\claude_desktop_config.json
    • Usar configuración de config.json
  2. Ejemplo de configuración:

    {
      "mcpServers": {
        "clima-servidor": {
          "command": "python",
          "args": ["C:/ruta/a/clima_mcp_server.py"],
          "env": {
            "OPENWEATHERMAP_API_KEY": "tu_api_key_aqui"
          }
        }
      }
    }
    

📚 Herramientas MCP Disponibles

1. consultar_clima_actual

Consulta el clima actual para una ciudad específica.

Parámetros:

  • ciudad (string, requerido): Nombre de la ciudad
  • codigo_pais (string, opcional): Código ISO de país
  • unidades (string): "metric", "imperial", "standard"
  • idioma (string): Código de idioma ("es", "en", "fr", etc.)

Ejemplos:

Consultar clima en Madrid
Clima en Paris, FR en Fahrenheit
Weather in London with English descriptions

2. buscar_ciudades

Busca ciudades que coincidan con un término.

Parámetros:

  • query (string, requerido): Término de búsqueda
  • limit (integer): Número máximo de resultados

Ejemplos:

Buscar ciudades con "New"
Encontrar ubicaciones que contengan "Madrid"

3. validar_configuracion

Valida la configuración del servidor y API key.

Ejemplos:

Validar configuración del servidor
Check server setup and API connection

📊 Ejemplo de Respuesta

{
  "ciudad": "Madrid",
  "pais": "ES",
  "coordenadas": {
    "latitud": 40.4168,
    "longitud": -3.7038
  },
  "temperatura": 22.5,
  "sensacion_termica": 25.0,
  "humedad": 65,
  "presion": 1013,
  "visibilidad": 10000,
  "condiciones": "cielo despejado",
  "viento": {
    "velocidad": 5.2,
    "direccion": 180,
    "gustas": null
  },
  "nubes": {
    "porcentaje": 10
  },
  "amanecer": "07:30",
  "atardecer": "19:45",
  "timezone": 3600,
  "timestamp": "2025-11-04T02:14:20",
  "unidades": "metric (°C)"
}

🚨 Manejo de Errores

Código Descripción Solución
API_KEY_INVALIDA API key no configurada o inválida Verificar configuración en .env
CIUDAD_NO_ENCONTRADA Ciudad no encontrada Verificar nombre, usar código de país
TIMEOUT API no responde Verificar conectividad, aumentar timeout
RATE_LIMIT Límite de solicitudes excedido Esperar antes de nuevas consultas
PARAMETRO_INVALIDO Parámetros faltantes Verificar parámetros de entrada

📁 Estructura del Proyecto

code/ejemplos_mcp/
├── clima_mcp_server.py     # Servidor MCP principal
├── test_servidor.py        # Suite de pruebas
├── install.bat            # Instalador automático Windows
├── requirements.txt       # Dependencias Python
├── .env.example          # Ejemplo de configuración
├── config.json           # Configuración detallada
└── README.md             # Este archivo

docs/
└── ejemplo_clima_instructions.md  # Documentación completa

🔧 Desarrollo

Agregar Nuevas Funcionalidades

  1. Nuevas herramientas MCP: Usar decorador @server.tool()
  2. Nuevos modelos: Crear clases que hereden de BaseModel
  3. Nuevas APIs: Expandir métodos en ClimaMCPServer
  4. Testing: Agregar tests en test_servidor.py

Logging

El servidor genera logs detallados:

2025-11-04 02:14:20 - INFO - Servidor MCP de clima inicializado
2025-11-04 02:14:21 - INFO - Consultando clima para: Madrid
2025-11-04 02:14:22 - INFO - Coordenadas encontradas: lat=40.4168, lon=-3.7038
2025-11-04 02:14:23 - INFO - Consulta completada exitosamente

📖 Documentación Completa

Para documentación detallada, consultar:

🆘 Solución de Problemas

Error: "API key no configurada"

# Verificar archivo .env existe
dir .env

# Verificar contenido
type .env

Error: "Module not found"

# Reactivar entorno virtual
venv\Scripts\activate

# Reinstalar dependencias
pip install -r requirements.txt

Error: "Timeout en la consulta"

# Aumentar timeout en .env
API_TIMEOUT=60.0

📄 Licencia

MIT License - Ver archivo LICENSE para detalles.

🤝 Contribución

  1. Fork el proyecto
  2. Crear rama de feature: git checkout -b feature/nueva-funcionalidad
  3. Commit cambios: git commit -am 'Agregar nueva funcionalidad'
  4. Push a la rama: git push origin feature/nueva-funcionalidad
  5. Crear Pull Request

📞 Soporte

🏆 Características Destacadas

  • 600+ líneas de código comentado y documentado
  • 3 herramientas MCP completamente funcionales
  • 10+ tipos de errores manejados específicamente
  • Instalación automatizada para Windows
  • Testing automatizado con simulación
  • Configuración flexible para múltiples escenarios
  • Documentación exhaustiva con ejemplos

Desarrollado por: MiniMax Agent
Versión: 1.0.0
Fecha: 2025-11-04
Compatibilidad: Python 3.10+, Windows 10+, MCP SDK 1.0+

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选