Servidor MCP
Este proyecto es un servidor MCP (Protocolo de conversación multiagente) para la URL OpenAPI dada: https://api.apis.guru/v2/specs/interzoid.com/getweatherzip/1.0.0/openapi.json , generada automáticamente mediante el generador MCP de AG2.
Prerrequisitos
- Python 3.9+
- pip y uv
Instalación
- Clonar el repositorio:
- Instalar dependencias: El script .devcontainer/setup.sh gestiona la instalación de dependencias mediante
pip install -e ".[dev]"
. Si no utiliza el contenedor dev, puede ejecutar este comando manualmente.Alternativamente, puedes utilizaruv
:
Desarrollo
Este proyecto utiliza ruff
para control de linting y formateo, mypy
para verificación de tipos estáticos y pytest
para pruebas.
Pelusa y formato
Para comprobar si hay problemas de pelusa:
Para formatear el código:
Estos comandos también están disponibles a través del script scripts/lint.sh .
Análisis estático
Para ejecutar un análisis estático (mypy, bandit, semgrep):
Este script también se configura como un gancho previo a la confirmación en .pre-commit-config.yaml .
Ejecución de pruebas
Para ejecutar pruebas con cobertura:
Esto ejecutará pytest y generará un informe de cobertura. Para un informe y una limpieza combinados, puede usar:
Ganchos de pre-confirmación
Este proyecto utiliza ganchos de pre-confirmación definidos en .pre-commit-config.yaml . Para instalar los ganchos:
Los ganchos se ejecutarán automáticamente antes de cada confirmación.
Ejecución del servidor
El servidor MCP se puede iniciar mediante el script mcp_server/main.py . Admite diferentes modos de transporte (p. ej., stdio
y sse
).
Para iniciar el servidor (por ejemplo, en modo stdio):
El servidor se puede configurar mediante variables de entorno:
CONFIG_PATH
: Ruta a un archivo de configuración JSON (por ejemplo, mcp_server/mcp_config.json ).CONFIG
: Una cadena JSON que contiene la configuración.SECURITY
: Variables de entorno para parámetros de seguridad (por ejemplo, claves API).
Consulte el bloque if __name__ == "__main__":
en mcp_server/main.py para obtener detalles sobre cómo se cargan.
El archivo tests/test_mcp_server.py demuestra cómo iniciar e interactuar con el servidor mediante programación para realizar pruebas.
Construcción y publicación
Este proyecto utiliza Hatch para compilar y publicar. Para compilar el proyecto:
Para publicar el proyecto:
Estos comandos también están disponibles a través del script scripts/publish.sh .
This server cannot be installed
Un servidor MCP que proporciona información meteorológica por código postal utilizando la API de Interzoid, lo que permite a los agentes recuperar las condiciones climáticas actuales según los códigos postales.
Related MCP Servers
- AsecurityAlicenseAqualityAn MCP server that provides real-time weather information including temperature, humidity, wind speed, and sunrise/sunset times through the OpenWeatherMap API.Last updated -1PythonMIT License
- -securityFlicense-qualityAn MCP server implementation that allows users to fetch and display weather information for specified cities, including temperature, humidity, wind speed, and weather descriptions.Last updated -Python
- -securityAlicense-qualityAn MCP server that connects to OpenWeatherMap's API to provide current weather data and multi-day forecasts for locations worldwide in different measurement units.Last updated -12TypeScriptMIT License
- AsecurityFlicenseAqualityMCP server that provides Korean weather information using grid coordinates and the Korea Meteorological Administration API, allowing users to query current weather conditions and forecasts for specific locations in Korea.Last updated -23Python