Secure Fetch
Obtención segura para prevenir el acceso a recursos locales
GitHub
3
Prueba este MCPPatrocinadoDocumentación
Secure Fetch
Este proyecto implementa una herramienta de obtención de URLs segura usando FastMCP.
Requisitos previos
- Python 3.7+
- uv (instalador de paquetes y gestor de entornos de Python)
Instalación
- Instala uv si aún no lo has hecho:
pip install uv
- Crea un nuevo entorno virtual e instala las dependencias:
uv venv
source .venv/bin/activate
uv pip install fastmcp requests
Uso
- Establece la variable de entorno de lista blanca (opcional):
export SECURE_FETCH_ALLOWLIST="example.com,trusted-domain.org"
- Ejecuta el script:
uv run main.py
Características
- Obtiene URLs de forma segura
- Resuelve dominios a IPs
- Comprueba IPs privadas/internas
- Maneja redirecciones (hasta 3)
- Soporta métodos y cabeceras HTTP personalizados
- Utiliza una lista blanca para dominios/IPs de confianza
Consideraciones de seguridad
- La herramienta impide el acceso a IPs privadas/internas a menos que se permita explícitamente
- Solo se permiten los esquemas HTTP y HTTPS
- SNI se establece para que coincida con el nombre de host en conexiones HTTPS
Ejemplo de uso
Una vez que el script esté en ejecución, puedes usar la función fetch_url para obtener URLs de forma segura. La función devolverá un diccionario que contiene el código de estado, el cuerpo de la respuesta y la longitud del contenido.
Nota
Esta herramienta está diseñada para la obtención segura de URLs. Siempre revisa y comprende el código antes de usarlo en tu entorno.